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

نسخة كاملة : هل تنفذ case اكثر من عملية فى الحالة الواحدة ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله و بركاته

هل من الممكن ان تنفذ case اكثر من سطر فى الحالة الواحدة ؟

مثال:


PHP كود :
case number of
1
: ShowMessage('The Number is 1');
2: ShowMessage('The Number is 2)
Edit2.Text:= '
2';
3:ShowMessage('
The Number is 3'); 

بمعني: اذا كان الرقم يساوي 1 او 3, فيظهر رسالة تفيد ان الرقم هو 1 او 3, اما اذا كان الرقم يساوي 2, فيظهر رسالة تفيد ان الرقم يساوي 2 و يقوم ايضا بكتبة '2' في Edit2.Text (يقوم باكثر من عملية فى الحالة الواحدة).

ان كان اكثر من امر استخدم Begin End
PHP كود :
case number of
1
: ShowMessage('The Number is 1');
2: Begin
     ShowMessage
('The Number is 2');
     
Edit2.Text:= '2';
   
end;     
3: ShowMessage('The Number is 3);
end; 

والسلام عليكم
الخطأ الذى كنت اقع فيه هو وضع begin بعد اول سطر, حياك الله اخي DeltaAziz.
[COLOR="RoyalBlue"]تجنبا لعمل موضوع جديد, لدي سؤال اخر:

لماذا لا يمكن استخدام String مع Case ?[/COLOR]
أخي الكريم ضلل case واضغط على F1 لتحصل على الشرح المرفق مع دلفي

و لاستعمال case مع متغير حرفي نستعمل الدالة AnsiIndexText

وهدا مثال

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
  
case AnsiIndexText(Edit1.Text,['one','two','three']) of
    0 
: ShowMessage('the text is one') ;
    
1 : ShowMessage('the text is two') ;
    
2 : ShowMessage('the text is three') ;
  
end;
end ; 
Undeclared identifier: AnsiIndexText
هده الدالة موجودة في الوحدة StrUtils أضفها في uses