بسم الله الرحمن الرحيم
والصلاة والسلام على أشرف الأنبياء والمرسلين ، سيدنا ونبينا وحبيبنا محمد صلى الله عليه وسلم
نبدأ معا في الدرس الرابع من دروس دورة إحترف لغة الدلفي وهو عن تطبيق بسيط و جميل هو :
التطبيق الثالث : ( قاموس )
سنقوم الآن بتصميم وبرمجة قاموس إنجليزي عربي صغير فكرته تظهر في الإطار التالي :

فكرة البرنامج :
يعرض البرنامج مجموعة من المفردات في ListBox بحيث يتم النقر على أحد هذه المفردات لتظهر الكلمة التي تم النقر عليها ويظهر معناها على يسار الـ ListBox كما هو واضح في الصورة.
ونلاحظ من إطار البرنامج أنه يحتوي على الآتي :
العنصر ListBox .
خمسة عناصر من Label .
ثلاث عناصر من Bevel .
العنصر Button .
تصميم البرنامج :
أولاً يتم استخدام الخاصية Items للعنصر ListBox لإضافة المفردات وذلك بنقر الزر ذو الثلاث نقاط بجوار الخاصية Items كما في الشكل التالي :

وبذلك يظهر الإطار String List Editor الذي يظهر في الصورة التالية :

يتم إدخال المفردات كما هو مبين ، ثم النقر على الزر OK .
بهذا نكون قد جهزنا ListBox لعرض المفردات في إطار البرنامج .
الآن ، نقوم بتجهيز باقي عناصر إطار البرنامج وتنسيقها كما هو موضح في شكل أعلاه.
برمجة العناصر :
البرنامج يتكون من إجراء واحد هام وهو إجراء النقر على أحد المفردات في لائحة العنصر ListBox وهذا الإجراء فكرته تعتمد على أنه عند النقر على أحد المفردات تظهر الكلمة ومعناها في المكان المخصص لهما في الإطار ، وهذا كل شئ . أما الإجراء الآخر في البرنامج فهو إجراء الخروج من البرنامج وهو إجراء غني عن التعريف.
إجراء النقر على ListBox :
برنامج:
Procedure TForm1.ListBox1Click (Sender : Tobject ) ;
begin
Case ListBox1.ItemIndex of
0 : Label4.Caption := ‘تطبيق’ ;
1 : Label4.Caption := ‘كائن’ ;
2 : Label4.Caption := ‘مكتبة’ ;
3 : Label4.Caption := ‘قاعدة بيانات’ ;
4 : Label4.Caption := ‘قائمة’ ;
5 : Label4.Caption := ‘إطار’ ;
6 : Label4.Caption := ‘نظام’ ;
7 : Label4.Caption := ‘حدث’ ;
8 : Label4.Caption := ‘خاصية’ ;
9 : Label4.Caption := ‘شفرة’ ;
end ;
Label2.Caption := ListBox1.Items[ListBox1.ItemIndex] ;
end ;
شرح الإجراء :
- استخدمت جملة Case في الإجراء السابق على أساس أن لائحة المفردات في ListBox1 ترتب من 0 إلى 9 لأنها عشرة كلمات وبالتالي عند النقر على أحد هذه الكلمات فإن البرنامج يسجل رقم ترتيب ItemIndex هذه الكلمة وباستخدام جملة Case يستطيع البرنامج تحديد الترجمة المناسبة للكلمة التي تم النقر عليها ( تم اختيارها ) ويقوم الإجراء بتخصيص هذه الترجمة إلى الخاصية Caption للـ Label4 وفي كل الأحوال يخصص البرنامج الكلمة المختارة للخاصية Caption للـ label2 بواسطة السطر البرمجي الأخير والذي يعرف الكلمة المختارة ListBox1.Items[ ] من خلال رقم ترتيبها والذي يعرف من خلال الخاصية ItemIndex كما هو موضح في الإجراء.
- تذكر أن الخاصية Items [ ] تستخدم للتعامل مع الكلمة التي تم النقر عليها داخل أي ListBox وذلك من خلال كتابة رقم ترتيب هذه الكلمة داخل قوسي [ ] الخاصية وذلك سواء تم كتابة الرقم مباشرة داخل القوسين مثل [ 0 ] للتعبير عن الكلمة الأولى أو كان التعبير عن الرقم باستخدام الخاصية Item