الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود أر جو منكم تحويله

بدأه me&delphi في 22 نوفمبر 2008 · 14 رد · 1,816 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

dim i as integer

For i = 0 To 80 Step 2

ComboBox1.Items.Add(i)

Next

هدا الكود ب الفيبي دوت نت أريد تحويله ل دلفي

ما أريد معرفته هل الحلقة فور في الدلفي تستطيع اضافة أعداد زوجية للكومبوبكس

#2
  1.  
  2. procedure TForm1.Button1Click(Sender: TObject)
  3. var
  4. i: integer
  5. begin
  6. for i := 0 to 80 do
  7. if (i mod 2) = 0 then
  8. ComboBox1.Items.Add(IntToStr(i))
  9. end
  10.  

#3

السلام عليكم...

لا تستطيع التحكم في مقدار الزيادة (أو النقصان) في حلقة for في دلفي كما هو الحال مع VB، لكن يمكنك تحويل الكود السابق بأكثر من طريقة، مثلاً:

  1. procedure TFRtlForm1.Button1Click(Sender: TObject);
  2. var
  3. I: Integer;
  4. begin
  5. for I := 0 to 40 do
  6. ComboBox1.Items.Add(IntToStr(I * 2));
  7. end;
  8.  

أو هكذا:

  1. procedure TFRtlForm1.Button1Click(Sender: TObject);
  2. var
  3. I, C: Integer;
  4. begin
  5. C := 0;
  6. for I := 0 to 40 do begin
  7. ComboBox1.Items.Add(IntToStr(C));
  8. C := C + 2;
  9. end;
  10. end;
  11.  

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#4

جزاكم الله خيرا....

هل هدا عيب في الحلقة فور في دلفي

لا تستطيع التحكم في مقدار الزيادة (أو النقصان) في حلقة for في دلفي كما هو الحال مع VB، لكن يمكنك تحويل الكود السابق بأكثر من طريقة،

#5

يمكنك أستبدال الـ for بـ while على الشكل

var i : integer;
begin
   i := 0;
   while i < 200 do
   begin
	  i := i + 2;
	  showmessage(inttostr(i));
   end;
end;

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#6

هل هدا يعني ان الحلقة فور في دلفي ليست فعالة ك حلقة فور في ++C

#7

هناك 3 حلقات في دلفي، for/repeat/while

عند تحويل كود من لغة لأخرى ليس بالضرورة ان ينسخ كما هو

وانما يترجم بفهم ما يحدث بالحلقة واعادة كتابتها باوامر اللغة المحول إليها

var
 i: integer;
begin
  i:=0;
  Repeat
	ComboBox1.Items.Add(IntToStr(i));
	inc(i,2);
  Until i>80;
end;

او

var i : integer;
begin
   i := 0;
   while i <= 80 do
   begin
	  ComboBox1.Items.Add(IntToStr(i));
	  inc(i,2);
   end;
end;

لكي تفهم جيدا لاتقارن الكود المكتوب وانما قارن الOpcode الناتج بعد Compilation

والسلام عليكم

d4baa0.gif
#8

جزاكم الله كل خير

لي طلب آخر اخواني الكرام

كيف استعمل عبارة case of مع label1.caption

#9

اخي توجد هناك :

function AnsiIndexText(const AText: String; const AValues: array [] of String):Integer;

الموجودة في الوحدة StrUtils

إستعمالها مع ال Label

begin
Case AnsiIndexText(Label1.Caption,['one','two','three']) of
0:ShowMessage('Label1.caption:= one');
1:ShowMessage('Label1.caption:= two');
2:ShowMessage('Label1.caption:= three');
end;

والله المستعان

تم تعديل هذه المشاركة بواسطة mohfa في 24 نوفمبر 2008 في 01:02

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#10

المرجو من الاخوان ارفاق مثال

#11
 

Select Case Label1.Text
			Case "label1"
				MessageBox.Show("dfgr")
			Case "jiuy"
				End
		End Select
#12

طبقها على ماقلته لك .

وهي جد سهلة .

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#13

أخي الكريم قم بعمل محاولة و لو صغير حتى يساعدك الأخوة

الكود يوضح طريقة الأخ mohfa و المرفق كذلك

unit Unit1;

interface

uses
  // يجب إضافة المكتبة strutils يدويا
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils;

type
  TForm1 = class(TForm)
	Edit1: TEdit;
	Button1: TButton;
	procedure Button1Click(Sender: TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  case AnsiIndexText(edit1.text,['one','two','three']) of
	0 : showmessage('the text is one');
	1 : showmessage('the text is two');
	3 : showmessage('the text is three');
  end;
end;

end.

Test_Case.rar

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#14
najy_zl كتب:
أو هكذا:

  1. procedure TFRtlForm1.Button1Click(Sender: TObject);
  2. for I := 0 to 40 do begin
  3.  
  4.  

هناك خطأ صغير أخي ناجي ... انت كتبت (:=) وفي الشرط تكتب (=) فقط

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#15

جزاكم الله خيرا ..لازلت جديدا في الدلفي ولم أتعرف بعد على آلية العمل تحت بيئته

أين أجد شرحا عن الوحدة StrUtils وباقي الوحدات

مواضيع مشابهة