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

مشاهدة النسخة كاملة : لماذا يعمل هذا الكود علي اللون الاحمر فقط


m_m_saad
15-07-2010, 10:59 PM
لماذا يعمل هذا الكود علي اللون الاحمر فقط
procedure TForm1.Combo01Change(Sender: TObject);

label sss1;
label sss2;
begin
if combo01.ItemIndex=1 then goto sss2;
if combo01.itemindex=0 then goto sss1;


sss1:
begin
form1.color:=clyellow;
end;


sss2:
begin
form1.color:=clred;
end;
end;

B.M.AbdelAziZ
15-07-2010, 11:14 PM
السلام عليكم ورحمة الله

بالطريقة التي كتبت بها الاوامر دائما يتم تغيير اللون الى الاحمر
كحل سريع، غير

begin
form1.color:=clyellow;
end;

الى

begin
form1.color:=clyellow;
exit;
end;


من الاحسن الا تستعمل Goto (حاول التفكير دونها)
يمكن ان تكتب الكود بشيئ مثل

procedure TForm1.Combo01Change(Sender: TObject);
begin
if combo01.ItemIndex=1 then form1.color:=clyellow;
if combo01.itemindex=0 then form1.color:=clred;
end;

وبالتوفيق

m_m_saad
15-07-2010, 11:16 PM
للاسف لابد لي من استخدام goto
وذلك لاني اقوم بعمل عدة خطوات بعد goto وليس خطوة واحدة
ولكن المثال الذي ضربته مثال مبسط
فأنا **** حلا ضروريا باستخدام goto

B.M.AbdelAziZ
15-07-2010, 11:18 PM
يمكن العيش دون GOTO
كحل سريع يكفي كتابة exit عند نهاية كل خطوة مثل المثال السابق

m_m_saad
15-07-2010, 11:19 PM
الحل رائع جدا
اسأل الله لك الجنه
انا بقي لي يوم كامل مش عارف احل الموضوع ده

B.M.AbdelAziZ
15-07-2010, 11:22 PM
مرحبا بك بالمنتدى
بالمناسبة هناك مقالات رائعة عن goto
اكتب بgoole هذا
Why Using A Goto Is Bad Programming Practice