هل تنفذ case اكثر من عملية فى الحالة الواحدة ؟
#1
السلام عليكم و رحمة الله و بركاته

هل من الممكن ان تنفذ 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 (يقوم باكثر من عملية فى الحالة الواحدة).
الرد
#2

ان كان اكثر من امر استخدم 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; 

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

لماذا لا يمكن استخدام String مع Case ?[/COLOR]
الرد
#5
أخي الكريم ضلل 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 ; 
الرد
#6
Undeclared identifier: AnsiIndexText
الرد
#7
هده الدالة موجودة في الوحدة StrUtils أضفها في uses
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم