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

نسخة كاملة : لماذا يعمل هذا الكود علي اللون الاحمر فقط
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لماذا يعمل هذا الكود علي اللون الاحمر فقط
كود :
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;
السلام عليكم ورحمة الله

بالطريقة التي كتبت بها الاوامر دائما يتم تغيير اللون الى الاحمر
كحل سريع، غير
كود :
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;
وبالتوفيق
للاسف لابد لي من استخدام goto
وذلك لاني اقوم بعمل عدة خطوات بعد goto وليس خطوة واحدة
ولكن المثال الذي ضربته مثال مبسط
فأنا **** حلا ضروريا باستخدام goto

يمكن العيش دون GOTO
كحل سريع يكفي كتابة exit عند نهاية كل خطوة مثل المثال السابق
الحل رائع جدا
اسأل الله لك الجنه
انا بقي لي يوم كامل مش عارف احل الموضوع ده

مرحبا بك بالمنتدى
بالمناسبة هناك مقالات رائعة عن goto
اكتب بgoole هذا

Why Using A Goto Is Bad Programming Practice