delphi4arab منتديات دلفي للعرب

نسخة كاملة : Break و Continue في الحلقات التكرارية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

بما أن درس الحلقات لم يتطرق لهدا الاجرائين اغتنمت الفرصة لأضع شرحا مبسطا حول استعمالهما في

الحلقات التكرارية

[FONT="Arial Black"]الاجراء Break

يستخدم هدا الاجراء للخروج الفوري من الحلقة التكرارية وغالبا عند حدوت شرط معين

[FONT="Arial Black"]الاجراء Continue

يستخدم هدا الاجراء للعودة الى بداية الحلقة و مواصلتها وليس جعل الحلقة تبدأ من أول عنصر

وهده أمثلة للتوضيح

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var 
i:Integer;
begin
 
for i:= 1 to 5 do
     
begin
      
if i = 3 then
       
Continue;
       
ShowMessage('Le Nombre est'+ IntToStr(i));
     
end;
end; 

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var 
i:Integer;
begin
i
:=0;
    while 
i<10 do
     
begin
     Inc
(i);
      if 
i = 1 then
       
Continue;
       
ShowMessage('Le Nombre est'+ IntToStr(i));
     
end;
end; 

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var 
i:Integer;
begin
i
:=0;
repeat
      Inc
(i);
      if 
i = 1 then
       
Continue;
       
ShowMessage('Le Nombre est'+ IntToStr(i));
       
until i=10;
end; 

وهدا مثال ل Break

PHP كود :
procedure TForm1.Button2Click(Sender: TObject);
var 
i:Integer;
begin
 
for i:= 1 to 5 do
     
begin
      
if i = 3 then
       
Break;
       
ShowMessage('Le Nombre est'+ IntToStr(i));
     
end;
end; 
بارك الله فيك، وأيضا:
الإجراء Exit
للخروج الفوري من الإجراء الحالي Procedure مثاله:

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
  
i:Integer;
begin
i
:=0;
repeat
  Inc
(i);
  if 
i = 5 then
   
Exit;
   
ShowMessage('Le Nombre est '+ IntToStr(i));
   
until i=10;
end; 

Halt للخروج غير الطبيعي من البرنامج بأكمله، مثال:
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
  
i:Integer;
begin
i
:=0;
repeat
  Inc
(i);
  if 
i = 5 then
   Halt
;
   
ShowMessage('Le Nombre est '+ IntToStr(i));
   
until i=10;
end; 
بالتوفيق.
شكرا لكم اخوتي ,,

أخي me&delphi

أليس الإجراء Continue يجب قبلهـ استخدام Break ؟؟

إذا كانت الإجابة بـ لا ,, فما الفائدة من هذا الإجراء ؟

- عفوا ولكن سطر شرح الكنتينيو لم يتضح لي -

شكرا
شكرا لكما اخواني الكرآم على التوضيح,,

لكن ال halt, ما الفرق بينها و بين ال termniate ؟

لم الآحظ فرق,,

ثم ماذا تقصت ب
إقتباس : للخروج غير الطبيعي من البرنامج
بارك الله فيك؟

شكرا لكما Smile
أخي Al-MOB4RM3G

للفائدهـ انظر :

http://www.delphi4arab.net/forum/showthread.php?tid=525

السلام عليكم
السلام عليكم
إقتباس :أليس الإجراء Continue يجب قبلهـ استخدام Break ؟؟
كلا، كل واحدة لها دورها.
Break لإيقاف الحلقة والخروج منها فورا.
Continue لتجاوز الأوامر التي بعدها والاستمرار في الحلقة.

إقتباس :ثم ماذا تقصت بالخروج غير الطبيعي من البرنامج
الخروج الطبيعي يتم بتشغيل الحدث OnClose وOnDestroy وتحرير ما يجب تحريره و...
الخروج غير الطبيعي من البرنامج إيقافه مباشرة دون إجراء أي شيء كأنك استعملت Task Manager
بالتوفيق.
اها, نعم,, بارك الله لكما,,

الآن الأمر وآضح تمام,,, Smile
بارك الله فيكم