شرح الحلقات مع المتغيرات في دلفي
#1
السلام عليكم ورحمة الله وبركاته

شرح الحلقات مع المتغيرات في دلفي بمثال سهل أن شاء الله
سنقوم بأستخدام الحلقة While في المثال وبالطبع يمكن أستخدام الحلقة For أو الحلقة Repeat .
وسيكون شكل البرنامج في النهاية كالاتي :

.jpg   delphi.loops.jpg (الحجم : 15.83 ك ب / التحميلات : 127)
نقوم بوضع أثنين Memo علي الفورم وأثنين زر Button , ونضغط علي الفورم مرتان للدخول الي صفحة كتابة الشفرة الخاصة بالفورم , ونكتب الاتي :
PHP كود :
procedure TForm1.FormCreate(Sender: TObject);
begin

form1
.Color := ClBlack ;
form1.Caption := 'Loops' ;
form1.ShowHint := true ;
form1.Hint := 'mahmoud marzok' ;
form1.AutoSize := true ;
form1.BorderWidth := 16 ;
memo1.Text := '';
memo2.Text := '';
button1.Caption := 'Start' ;
button2.Caption := 'FiLL' ;
memo1.Enabled := true ;
memo2.Enabled := true ;
end; 
بالطبع هذه مجرد خصائص وما تحتاج شرح , فهي الخاصة بأسماء الازرار وخصائص الفورم كالحجم التلقائي للفورم وحجم الاطار الداخلي للفورم وأظهار الـ Hint ( التلميحات ) أم لا .
ثم نقوم بالضغط علي الزر الاول button1 مرتان للدخول الي صفحة كتابة الكود الخاص بالزر الاول :
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
    
x : integer ;
    
z : string ;
begin

z 
:= memo1.Text ;
x := 0 ;

      while 
x <= 10 do
        
begin
          memo2
.Lines.Add(z);
          
x := x + 1 ;
        
end;
end; 

شرح الكود :

صرحنا عن متحولين المتحول X من النوع integer والمتحول Z من النوع String .
قمنا بأسناد قيم الــ Memo الاول ( memo1.text ) الي المتحول Z .
وقمنا بأسناد القيمة صفر الي المتحول X .
بدأنا الحلقة While وسيكون المتحول X بمقام عداد الحلقة التي جعنلناها من 0 الي 10 .
ثم نقوم بأضافة داخل الحلقة الي الـ Memo الثاني القيم التي بداخــل المتغير Z ( التي هي عبارة عن الـ Memo1.text ) .
ثم داخل الحلقة أيضا نقوم بأسناد القيمة واحد 1 الي المتغير X .
ثم نقوم بأغلاق الحلقة Big GrinBig Grin

أاذا أليكم ما سيحدث :
1 - الحلقة ستنفذ .
2- سيتم التحقق من شرط الحلقة بأن X أقل من أو يساوي واحد ( وبالطبع الشرط محقق لان X = صفر ) .
3- سيتم طباعة النص الموجود بالـ Memo رقم واحد ( المتغير Z ) بداخل الـ Memo رقم أثنين , من خلال الدالة Memo.lines.add ...
4- سيتم أاضافة واحد الي المتغير X ليصبح واحد ثم تكرر الحلقة مدام الشرط الحلقة و X أقل من او تساوي 10 .

في الأخير سؤال : كيف أضع بيدي علي البرنامج عدد التكرارات :confused:
يعني احدد اليوسر علي البرنامج عدد الدورات التي ستنفذها الحلقة ؟


الملفات المرفقة
.rar   الحلقات مع المتغيرات.rar (الحجم : 5.99 ك ب / التحميلات : 101)
الرد
#2
لعمل حلقة محدد من الافضل تستخدم for
كود :
[color=SeaGreen]karika:integer;[/color]
كود :
var x : integer ; z : string ; begin z := memo1.Text ; x := 0 ; for karika:=0 to 4 do if x <= 10 then begin memo2.Lines.Add(z); x := x + 1 ; end;
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم