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

مشاهدة النسخة كاملة : مشكلة مع Combobox


abdelmalek
02-08-2010, 05:13 PM
السلام عليكم ورحمة الله وبركاته

لقد واجهتني مشكلة مع ComboBox وهي :

انشائة مشروع جديد و وضعة عليه Combobox و Button1 و قمة بملئ Combobox ببعض الاسماء و اردت من هدا البرنامج عندا اختيار المستخدم اسم ويضغط على الزر تظهر له رسالة تعلمه مادا اختار وهدا الكود
الدي وضعته في الزر :

procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.Text of
'Ahmad' : ShowMessage('Ahmad');
'Yacine': ShowMessage('Yacine');
'Mohemmad' : ShowMessage('Mohemmad');
'Djamel' : ShowMessage('Djamel');
'Lotfi': ShowMessage('Lotfi');
end;
end;

ولكنه يظهر لي رسالة خطاء فماهو الحل ؟

التجربة في المرفق

بتوفيق للجميع

B.M.AbdelAziZ
02-08-2010, 05:37 PM
السلام عليكم ورحمة الله

هذا من الاساسيات
الاسماء تكون بجدول items
الاسم المختار رقمه يكون بItemIndex
يمكن ان تكتب شيئ مثل

if ComboBox1.ItemIndex>-1 then ShowMessage(ComboBox1.Items[ComboBox1.ItemIndex]);

بالتوفيق

TF6M
02-08-2010, 05:38 PM
و عليكم السلام و رحمة الله و بركاته

- راجع طريقة كتابة الحلقات :

Uses
StrUtils;

procedure TForm1.btn1Click(Sender: TObject);
begin
case AnsiIndexStr(cbb1.Text,['Ahmad', 'Yacine','Mohemmad']) of
-1: ShowMessage('!!!');
0: ShowMessage('Ahmad');
1: ShowMessage('Yacine');
2: ShowMessage('Mohemmad');
//Else...
end;
end;طريقة أخرى :
procedure TForm1.btn1Click(Sender: TObject);
const
NamArr: array [0..2] Of string = ('Ahmad', 'Yacine','Mohemmad');
begin
case cbb1.ItemIndex of
-1: ShowMessage('!!!');
0..2: ShowMessage(NamArr[cbb1.ItemIndex]);
//Else...
end;
end;بالتوفيق,,

kachwahed
02-08-2010, 06:39 PM
procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.Text of
'Ahmad' : ShowMessage('Ahmad');
'Yacine': ShowMessage('Yacine');
'Mohemmad' : ShowMessage('Mohemmad');
'Djamel' : ShowMessage('Djamel');
'Lotfi': ShowMessage('Lotfi');
end;
end;
هناك إضافة (Plugin) تجعل من ذلك وغيره ممكنا في دلفي:
http://andy.jgknet.de/dlang/
التحميل:
http://andy.jgknet.de/dlang/builds/DLangExtensions2008-11-23-1958.zip
لا أنصح بالاعتماد عليها.
بالتوفيق.

abdelmalek
02-08-2010, 06:56 PM
بارك الله فيكم الله ينوركم إخواني الكرام على الردود و الحلول المتنوعة شكرا من قلبي ......

لقد قمت بتصحيح الكود وهو الان يعمل جيدا

procedure TForm1.Button1Click(Sender: TObject);
begin
case ComboBox1.ItemIndex of
-1: ShowMessage('Ahmad');
0: ShowMessage('Yacine');
1: ShowMessage('Djamel');
2: ShowMessage('Mohemmad');
3: ShowMessage('Lotfi');
end;
end;

بتوفيق للجميع