المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Break و Continue في الحلقات التكرارية


me&delphi
30-07-2009, 10:59 PM
السلام عليكم

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

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

الاجراء Break

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

الاجراء Continue

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

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

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;

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;

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

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;

kachwahed
31-07-2009, 10:12 AM
بارك الله فيك، وأيضا:
الإجراء Exit
للخروج الفوري من الإجراء الحالي Procedure مثاله:

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 للخروج غير الطبيعي من البرنامج بأكمله، مثال:
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;

بالتوفيق.

Dr.MOT
01-08-2009, 01:44 AM
شكرا لكم اخوتي ,,

أخي me&delphi

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

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

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

شكرا

AL-MOB4RM3G
01-08-2009, 12:46 PM
شكرا لكما اخواني الكرآم على التوضيح,,

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

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

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

شكرا لكما :)

Dr.MOT
01-08-2009, 05:29 PM
أخي Al-MOB4RM3G

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

http://www.delphi4arab.com/forum/showthread.php?t=525

السلام عليكم

kachwahed
01-08-2009, 06:47 PM
السلام عليكم
أليس الإجراء Continue يجب قبلهـ استخدام Break ؟؟
كلا، كل واحدة لها دورها.
Break لإيقاف الحلقة والخروج منها فورا.
Continue لتجاوز الأوامر التي بعدها والاستمرار في الحلقة.

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

AL-MOB4RM3G
01-08-2009, 09:42 PM
اها, نعم,, بارك الله لكما,,

الآن الأمر وآضح تمام,,, :)

me&delphi
10-08-2009, 11:50 PM
بارك الله فيكم