المواضيع الأخيرة
بحـث
أفضل 10 أعضاء في هذا الشهر
لا يوجد مستخدم |
صميم برنامج قاموس باستخدام الفيجوال بيسك
منتديات نبع الرومانسية :: برامج جديدة 2011 - تحميل برامج - العاب - تحميل العاب 2011 :: برامج جديدة 2011 - تحميل برامج - برامج كاملة - برامج مجانية
صفحة 1 من اصل 1
صميم برنامج قاموس باستخدام الفيجوال بيسك
تصميم برنامج قاموس باستخدام الفيجوال بيسك
لاشك أن المبتدئين مع لغة التطوير والبرمجة Visual Basic يجدوا أمامهم مشكلة رئيسية ألا وهى أن ما تعلمه من أوامر Commands وخصائص الأدوات Properties لا يجد لها فائدة فهو لا يجد فكرة ذات فائدة يستطيع أن يصنع منها برنامج يستفيد من-ه ويصقل فيه ما تعلمه خلال دراسته. ولذلك وجدنا أنه من المفيد لدارسى ومحترفى لغة VB أن نقدم لهم شرح لبعض البرام-ج المفيدة التى نرى أنها ستثرى معرفتهم بتلك اللغة وتكون حقلا خصبا لتطبيق ما تم دراسته وتسهيلا على القارىء تم شرح الكود الخاص بتلك البرامج وستجدون نسخة من هذا البرنامج على الإسطوانة الهدية المرافقة مع هذا العدد (مع اسطوانة تعلم ويندوز ميلينيوم المستوى الثانى) فى المجلد : D\ sources \ dictionary.
فى هذا الشهر سيكون برنامجنا بعنوان (القاموس) ومع هذا البرنامج يستطي-ع المبرمج أن يصنع قاموس بأى لغة (الإنجليزية, الفرنسية, الألمانية).
فكرة البرنامج:
ترتكز علي المبدأ التقليدي في مجال البرمجة وهو الإدخال والبحث عن المفردات.
الهدف من البرنامج :
1- صقل قدرة المبرمج على الإبتكار وتوجيه تفكيره الى ما يحتاجه سوق البرمجيات.
2- إنشاء قاموس باللغة التى يرغب فيها المبرمج مما يضفي عليه مزيدا من الخصوصية.
3- تبسيط فكرة قاعدة البيانات للمبرمج.
4- مساعدة المبرمج علي جعل برنامجه يعمل فى أى مجلد فرعى دون التقيد بوجود البرنامج فى مجلد محدد بمشغل معين.
مراحل إنشاء البرنامج :
تنقسم مراحل إنشاء البرنامج الى مرحلتين وهما:-
أولا : تصميم النماذج (Forms).
ثانيا : كتابة الكود الخاص بالبرنامج .
والآن عزي-زى القارىء دعنا نبدء فى شرح أولى تلك المراحل:
المرحلة الأولى: تصميم النماذج (Forms)
قم بتصميم النموذج الوارد بشكل رقم (1) مع إضافة الأدوات الموضحة, ثم أضبط خصائص المكونات
ملاحظات هامة :
1- هذا النموذج يستخدم للبحث عن مرادفات الكلمات باللغة العربية .
2- إن الأداه Text1 سوف تستخدم ليكتب بداخلها الكلمات باللغة الإنجليزية ولذلك نضبط الخاصية الأولى والثانية بالجدول بالقيمة (0), False على الترتيب, أما الأداة المخصصة لإظهار معانى الكلمات باللغة العربية فقد تم ضبط الخاصيتين الأولى والثانية بالقيمة (1), True على التوالى.
3- وحيث أننا سوف نكتب كلمة داخل الأداة Text1 فقد ضبطنا الخاصية Multline بالقيمة False وضبط الخاصية Scrolbar بالقيمة (0) , أما بالنسبة الأداة Text2 سوف يظهر بها أكثر من سطر ولذلك نحتاج الى ضبط الخاصية Multline الى القيمة True كما نحتاج الى ظهور شريط تمرير رأسى لذلك ضبطنا الخاصيه Scrolbar الى القيمة (2).
4- بالنسبة لأداة القائمة المفتوحة Listbox1 لم نضبط الخصائص الموضحة بها مما يعنى أننا سوف نستخدمها كما هى بالقيم الأفتراضية لها.
5- لاحظ أننا أعطينا عنوان إفتراضى (Caption) للنموذج Form1 وهو معجم الكمبيوتر والإنترنت وتستطيع أن تغير ذلك العنوان ليلائم الهدف من القاموس الذى تصنعه .
* قم بتصميم النموذج الوارد بشكل رقم (2) مع أدراج الأدوات .
ملاحظات هامة :
6- هذا النموذج يستخدم لإدخال الكلمات ومعانيها باللغة العربية وتزويد القاموس بالكلمات التى نريد إدخالها الى قاعدة البيانات بالقاموس .
7- حيث أننا سوف نستخدم الأداه Text1 لإدخال الكلمات باللغه الإنجليزية لذلك نسند القيم False للخاصية Right to Left, أما الأداه Text2 فسوف تستخدم لإدخال معانى الكلمات باللغه العربية لذلك تم إسناد القيمة True للخاصية Right to Left.
المرحلة الثانية: كتابة كود البرنامج
ولكى نقوم بإدخال كود النموذج رقم (2) اتبع الآتى:
- انتقل إلي تصميم النموذج
- أنقر زر تصغير نقرا مزدوجا لتظهر لك نافذة البرمجة أكتب بداخلها الأوامر الموضحة بالشكل رقم (3).
وبيانها بالتفصيل كالتالى:
الأمر :
Openس.\shoaaسfor append as #1
الأمر السابق يقوم بفتح ملف بأسم shoaa داخل المجلد الفرعى الذى أنشأت بداخله البرنامج تمهيدا لتسجيل البيانات عليه مع ملاحظة أننا كتبنا النقطة (.) لنستعيض بها عن مسار الملف وبذلك يمكن للبرنامج أن يعمل عند نقله الى أى مشغل على الجهاز دون التقيد بالمجلد والمشغل الذى تم إنشاء البرنامج بداخله .
وتفصيلا للأمر فإن :
1- Open أمر فتح .
2- ".\shoaaس أسم الملف ومساره .
3- for append وهى تعنى فتح الملف لتسجيل البيانات بة فإن كانت هناك بيانات مسجلة من قبل فزدها على الملف .
4- as # 1 تعنى أن هذا الملف سيأخذ الرقم 1 فى ترتيب الملفات المفتوحة .
الأمر :
Write #1, text1, text2
يقوم هذا الأمر بكتابة (تسجيل) محتويات المربعان النصيان (text1 , text2) على الملف رقم 1 وهو الملف shoaa.
الأمر
Text1.Text= سس
Text1.Text= سس
تقوم هذه الأوامر بمسح محتويات المستطيلات النصية بعد تسجيل هذه المحتويات داخل ملف المعلومات shoaa
الأمر:
Close#1
يؤدى هذا الأمر إلى إغلاق ملف المعلومات shoaa رقم #1 الذى تم فتحه من قبل.
أنقر زر back نقرا مزدوجا لتظهر لك نافذة البرمجة أكتب بداخلها الأوامر الموضحة بالشكل (4). وبيانها بالتفاصيل كالتالى:
الأمر:
Form1.Show
يؤدى هذا الأمر الى إظهار الواجهة رقم (1).
الأمر:
Unload Me
يؤدى هذا الأمر الى إزالة الواجهة رقم (2) من الذاكرة وبالتالى يؤدى الى إخفائه-ا.
إدخال كود النموذج
قم بإظهار النموذج رقم (1) (Form 1)
فى بداية قسم الإعلانات العامة أكتب الأوامر الآتية فى الشكل رقم (5). وبيانها كالتالى:
الأمر:
Option Base 1
وهو يعنى أن المصفوفات التى سيتم أستخدامها ستبدأ ترقيم العناصر بداخلها من الرقم 1 وليس الرقم صفر.
الأمر:
Dim worda(), Wode()
هنا يتم الإعلان عن المصفوفات الديناميكية (غير المعروف عدد عناصرها) والتى سيتم استخدامها كما يلى :-
Worda() تستخدم لتخزين الكلمات باللغة العربية .
Worde() تستخدم لتخزين الكلمات باللغة الإنجليزية .
ثم تلى ذلك الإعلان عن المتغيرات الأتية :-
- Number تستخدم كع-دد لمعرفة عدد الكلمات التى تم تخزينها داخل ملف المعلومات shoaa.
- Discover يستخدم ذلك المتغير ليخزن بداخلة حروف الكلمة التى تبحث عن معناها (التى تكتب فى Text1).
- Ndiscoverيستخدم ذلك المتغير ليخزن بداخله عدد حروف الكلمة التى تبحث عن معناها .
- Prob يستخدم ذلك المتغير كمفتاح لكى لا تنفذ أوامر الإجراء (Change) أثناء النقر على القائمة (Listbox) لمعرفة معنى كلمة ما من القائمة (وسنتعرض فيما بعد لشرح ذلك المتغير).
أنقر الواجهة (Form1) واكتب بداخل الإجراء (Load) الأوامر الآتية بالشكل (6), وفيما يلى شرح مفصل لهذه الأوامر:.
فى بداية هذا الجزء من الأوامر تم فتح ملف المعلومات الذى سبق لنا ان قمنا بتسجيل الكلمات ومعانيها داخله وهو الملف (Shoaa) وقد فتح لقراءة محتوياته كما يتضح من الامر (For Input), بعد ذلك تم أستخدام الحلقة التكرارية (Do While) وذلك لتكرار قراءة الكلمات ومعانيها من ملف المعلومات حتى ينتهى الملف حيث EOF (1) وهى تعنى End Of File أى نهاية الملف رقم #1 وعلى ذلك فالأمر DoWhile Not EOF(1) يعنى أستمر فى التكرار طالما لم تصل الى نهاية الملف رقم #1. أما الأوامر التى سيتم تكرارها فهما الأمرين التاليين والمحصورين بين جملة بداية التكرار Do While وجملة نهاية التكرار Loop.
الأمر:
Nq=nq + 1
Input #1, dice, dica
يقوم الأمر الأول بزيادة قيمة المتغير nq بمقدار (1) أما الأمر التالى فيقوم بقراءة كلمة ومعناها من ملف المعلومات, وحيث أن تنفيذ الأمرين السابقين سيتكرر الى ان تنتهى الكلمات المسجلة داخل الملف Shoaa فسوف يحتوى المتغير Nq على عدد الكلمات التى تم تسجيلها داخل ملف المعلومات .
أما الامر (Close #1) فيغلق الملف رقم #1 الذى فتحناه لنعرف عدد الكلمات التى تم تخزينها داخل ملف المعلومات وذلك لاستخدامها كما سيتضح من الامر التالى:
الأمر:
ReDim Worde(nq), Worda(nq)
فى هذا الأمر يتم الإعلان عن المصفوفات الديناميكية التى سبق لنا الإعلان عنها فى قسم الإعلانات العامة وذلك لأننا قد عرفنا عدد عناصرها وهو عدد الكلمات المخزنة فى المتغير nq وذلك بالأمر Redim.
فى الأوامر التالية بعد ذلك يأتى دور قراءة الكلمات ومعانيها وتخزينها فى المصفوفات الخاصة
الأمر (Worde (number)=dice) يخزن الكلمات باللغة الإنجليزية داخل المصفوفة (Worde). الأمر (Worda (number)=dica) يخزن الكلمات باللغة العربي-ة داخل المصفوفة (Worda).
ففى البداية تم أستخدام الحلقة التكرارية For Next تبدأ الحلقة من الرقم 1 وتنتهى بالرقم الخاص بعدد الكلمات والمخزن فى المتغير nq وفى كل مرة يتم قراءة كلمة ومعناها وتسجيلها فى المصفوفات Worde, Worda.
الأمر:
List1.Additem dice
يقوم هذا الأمر بإدخال الكلمات باللغة الإنجليزية داخل القائمة المفتوحة ((Listbox1 لإظهارها أمام المستخدم.
البحث في كلمة ومعناها:
فيما يلى سوف نتعرف علي كيفية البحث عن كلمة ضمن القائمة :
أنقر أداة النص (Text1) نقرا مزدوجا واكتب داخل الإجراء (Change) الأوامر بالشكل (7).
وفيما يلى تفصيل لبيانها:
الأمر :
Discover=Text1.Text
ويعني أن أوامر الإجراء ((Change تنفذ إذا تغيرت قيمة النص (Text1) وهذا الأمر يقوم بتخزين النص المكتوب داخل الأداة (Text1) داخل المتغير (Discover).
الأمر:
Ndiscover=Len (discover)
يقوم ذلك الأمر بتخزين عدد حروف النص (Text1) الذى سبق تخزينه داخل المتغير (Discover) ويحتفظ بقيمة عدد الحروف لتلك الكلمة داخل المتغير (Ndiscover) الذى سبق تعريفه.
الأمر:
For Number=0 To (List1.ListCount-1)
هى عملية تكرار تبدأ بالقيمة صفر وهو تكرار بعدد الكلمات ذات اللغة الإنجليزية والمسجلة بالقائمة List1 ويشار الى عددها بالأمر ListCount وعددها (ListCount-1) وذلك لأن التكرار يبدأ من الرقم (0) ويتم تكرار الأوامر الأربعة التالية:
الأمر:
If Text1.Text=Left (Wrode(Number+1), Ndiscover) Then
هذا الأمر هو شرط يبحث هل عدد الحروف وشكلها التى تم كتابتها داخل النص (Text1) مطابقة للحروف الأولى من اليسار التى عددها (Ndisscover) للكلمة رقم (Number + 1) للكلمات ذات اللغة الإنجليزية المسجلة داخل المتغير (Worde) فإذا كان الشرط متحقق فيتم تنفيذ الأوامر التالية :-
Text2,Text = Worda (Number +1)
List1.Selected (Number) = True
Exit For
السطر الأول يعنى أن تأخذ أداة النص (Text1) الكلمة ذات اللغة العربية رقم (Number + 1).
السطر الثانى يقوم بعملية تنشيط للكلمة باللغة الإنجليزية فى القائمة (List) ذات الرقم (Number) والتى تقابل الكلمة ذات اللغة العربية التى رقمها فى ملف المعلومات (Number + 1).
لاحظ أن: ترقيم الكلمات داخل ملف المعلومات يزيد بمقدار واحد عن الترقيم فى القائمة (List1). السطر الثالث يؤدى الى الخروج من حلقة التكرار إذا تم العثور على الكلمة المطلوب البحث عنها .
والآن سنعرف كيف يتم ظهور الكلمة ومعناها إذا تم النقر على إحدى الكلمات فى القائمة (List1).
-انقر القائمة (List1) واكتب داخل الإجراء Click الأوامرالتالية بالشكل رقم (.
الأمر : (If Prob = 1 Then) هو شرط ليضمن لنا ألا تنفذ تلك الأوامر الخاصة بالحدث Click للقائمة (List1) عند إجراء عملية تنشيط واختيار (Selected) الناتجة من الحدث Change للأداة Text1 التى سبق شرحها .
ولكى تكمل تلك العملية يجب أن يأخذ المتغير Prob القيمة (1) عند حصول التركيز Focus on للقائمة List1 أو حدوث تنشيط ويتم عمل ذلك بكتابة الأمر التالى داخل الإجراء (GotFocus) للأداة (List1) وهو (Prob = 1).
الآن نريد أن يأخذ المتغير Prob القيمة (0) عند فقد التركيز focus out للقائمة List ويمكننا عمل ذلك بكتابة الكود التالى داخل الإجراء (LostFocus) للأداة (List1) وذلك الأمر هو (Prob = 0).
الأمر:
For Number = 0 To (List1. ListCount - 1)
هى عملية تكرار تبدء ب- (0) وتنتهى بعدد الكلمات التى تحتويها القائمة (List) ويشار الى عددها بالأمر:
(ListCount-1) ويتم خلال ذلك التكرار تنفيذ الاوامر التالية : -
If List1. Selected (Number) = True Then
Text1. Text = Worde (Number + 1)
Text2. Text = Worda (Number + 1)
السطر الأول عبارة عن شرط Condition حيث تعبر تلك الأوامر عن البحث فى القائمة (List1) إذا تم تنشيط أو إختيار كلمة ذات الرقم (Number) فى القائمة, فإذا كان الشرط محقق ينفذ الأمرين التاليين :-
الأول : أن يحتوى ( أو يكتب بداخل ) النص (Text1) على الكلمة باللغة الإنجليزية رقم (Number + 1) الموجودة فى ملف المعلومات والتى تم تخزينها فى المصفوفة (Worde).
الثانى : أن يحتوى (أو يكتب بداخل) النص (Text2) على معنى الكلمة باللغة العربية رقم (Number + 1) والتى تم تخزينها فى المصفوفة (Worda).
الآن أكتب داخل الإجراء Click فى محرر القوائم(MenuEditor) للقائمة(add) الأوامر التالية بالشكل رقم (9).
الأمر الأول : يعنى ظهور الواجهة رقم 2 (Form2) وذلك لإضافة بعض الكلمات ومعانيها .
الأمر الثانى : يعنى أخفاء الواجهة الحالية (Form1) من الذاكرة وبالتالى يؤدى الى إخفائها.
الآن أكتب داخل الإجراء Click فى محرر القوائم (MenuEditor) للقائمة (end) الأمر End الذي يعنى إنهاء البرنامج .
إلغاء محتويات ملف المعلومات Shoaa
لإلغاء المعلومات التي يحتويها هذا الملف فيجب عليك اتباع الخطوات الأتية : -
1- أدخل الى المجلد الفرعى المسجل عليه برنامج القاموس ستجد ملف بأسم Shoaa وهو ملف المعلومات الذى يتم تسجيل الكلمات ومعانيها بداخله .
2- أفتح ذلك الملف من قائمة Open With بواسطة أى برنامج لعرض النصوص والكتابة وليكن Wordbad أو Notbad.
3- حدد أو (نشط او ظلل) كل الملف ماعدا السطر الأول ثم قم بإلغاء تلك البيانات من الملف .
4- اغلق الملف Shoaa مع حفظ التغيرات التى أحدثتها فى ذلك الملف .
5- أفتح البرنامج مرة أخري ستجد أن جميع البيانات قد تم حذفها .
ملحوظة: تركناالسطر الأول دون إلغاء بمعالج النصوص لأن البرنامج يفتح الملف Shoaa عند تحميل وفتح البرنامج ليبحث عن الكلمات المسجلة بداخله لذلك يجب أن يجد كلمه واحدة على الأقل ولتكن هذه الكلمة فارغة .
إلي هذا نكون قد فرغنا من شرح هذا البرنامج المبسط وعلي وعد بلقاء في برامج أخري إلا أننا نريد أن نرسي مبدأ المشاركة في العمل والتطوير بلغة الفيجوال بيسك لذلك نسوق إليك عزيزي القارئ بعض المهام الإضافية التي نرغب في أن تقوم بها وحدك علي هذا القاموس لتزيد حجم استفادتك منه .
أولا : عملية الحذف الكلى للبيانات
لقد شرحنا لكم من قبل كيف يمكن الغاء جميع البيانات التى تم تسجيلها فى ملف المعلومات ولكن تلك الطريقة كانت من خلال الويندوز أما الأن فنحن نريد أن نفعل ذلك بواسطة الفيجوال بيسك حيث يكفي أن نكتب للبرنامج الكود التالى وذلك داخل أى زر أوامر يتم أنشائه :
open " .\ shoaa " for output as # 1 write #1 , text1 , text2
close #1
الأمر (for output) يعني اننا نفتح الملف لتسجيل بيانات بداخله فإذا كانت هناك بيانات مسجله من قبل يتم حذفها ليسجل مكانها البيانات التى تلى بعد ذلك مع ملاحظة ان text1,text2 يجب أن يكونا خاليين من البيانات لكى يتم تسجيل البيانات الفارغة مكان البيانات القديمة داخل ملف المعلومات .
ثانيا : عملية حذف أحد البيانات داخل الملف
نستطيع فعل ذلك بأن تجهز نموذج ثالث يماثل النموذج رقم (1) بالبرنامج ولكن مع أضافة زر أوامر للنموذج يكتب عليه ( حذف ) وتكتب الكود التالى داخل أجراء Click لذلك الزر.
1- تعطى أمر للبرنامج أن يمسح جميع البيانات داخل ملف المعلومات كما سبق شرحه فى البند أولا .
2- تعطى امر للبرنامج ان يسجل جميع الكلمات المدرجه فى القائمة المنسدلة Listbox مع تسجيل المعنى المقابل لها باللغة العربية من مصفوفة المتغيرات الموجود بها تلك المعانى للكلمات, مع ملاحظة ان نعطى أمر للبرنامج ألا يسجل الكلمة التى تم تنشيطها من القائمة حيث تكون هى الكلمة المراد حذفها .
3- فى نهاية ذلك الاجراء نطلب من البرنامج أن يفتح ملف المعلومات من جديد ليتم تحميله داخل المتغيرات التى تحفظ البيانات وعندها لن تجد الكلمة التى حذفتها من القائمة.
ثالثا : عملية التغيير فى معاتى الكلمات داخل ملف المعلومات :
تستطيع أن تفعل ذلك بأن تجهز نموذج رابع يماثل النموذج رقم (1) بالبرنامج ولكن مع أضافة خانة نص جديدة Text3 كما نضيف زر أوامر للنموذج يكتب عليه (تعديل) وننفذ الخطوات التالية:
1- داخل أجراء Click لذلك الزر تعطى أمر للبرنامج أن يمسح جميع البيانات داخل ملف المعلومات كما سبق شرحه فى البند أولا .
2- أكتب داخل Text1 الكلمة التى تريد التغيير فى معناها فيعثر عليها البرنامج ويأتى بالمرادف لها باللغة العربية.
3- قم بالتعديل داخل خانة النص Text3 الكلمة باللغة الأنجليزية وداخل خانة النص Text2 قم بتغيير المعنى باللغة العربية .
4- نطلب من البرنامج ان يسجل جميع الكلمات باللغة الإنجليزية الموجودة داخل القائمة المنسدلة Listox والمعنى المقابل لها بالعربية المخزنة فى مصفوفة المتغيرات مع ملاحظة أن نعطى له أمر أنه أثناء عملية التخزين عندما يحين الدور على الكلمة المنشطه أو التى تم اختيارها والتعديل فيه فإنه يخزن المعنى باللغة الإنجليزية من خانة النص Text3 والمعنى بالعربية من خانة النص Text2.
رابعا : تحديد نوع المفرد
نحاول الأن أن نتوسع فى قاعدة البيانات مما يؤدى الى تحسين امكانات ذلك البرنامج حيث يمكن أن نجعل القاموس يحدد نوع المفرد عند البحث عنة (أسم , فعل , صفة) وذلك يتطلب أن نخبر البرنامج عن نوع المفرد عند حدوث عملية الحفظ حيث يتم حفظ نوع المفرد داخل ملف المعلومات .
ويكون ذلك بان نضيف للبرانمج على النموذج رقم (2) الخاص بتسجيل المفردات ثلاث أدوات دائرة خيار Option Button تأخذ الأولى عنوان VB والثانية N والثالثة Adj وداخل الإجراء Click لزر حفظ نخبر البرنامج أن يقرأ الثلاث أدوات ويخزن قيمتها داخل ملف المعلومات, وعند أستدعاء تلك المفردات فى النموذج رقم (1) يتم إنشاء عنوان Label ليظهر بداخله نوع المفرد الذى تم تحديده من النموذج رقم (2).
خامسا : ترتيب المفردات أبجديا فى القائمة Listbox
سوف يجد الكثير منكم أن ذلك القاموس لو قام بترتيب الكلمات أبجديا داخل القائمة المنسدلة Listbox لكان ذلك أسهل فى الأستخدام وخاصة فى عملية البحث اليدوى , يمكننا أن نضيف تلك الميزة إلى البرنامج ولكنها بالطبع تحتاج الى أضافة بعض الأوامر وفيما يلى نذكر تلك الأوامر مع التعرض لشرح بعض النقاط بها :
1- أضبط الخاصية Sorted للقائمة Listbox من الوضع الأفتراضى False الى القيمة True وهى خاصية الترتيب حيث يؤدى ذلك الى ترتيب الفردات داخل القائمة List أبجديا ويمكنك ملاحظة ذلك عند تشغيل البرنامج .
2- أمسح الكود المسجل داخل الإجراء Change لخانة النص Text1 ثم أكتب الكود التالى :
discover = Text1.Text
ndiscover = Len(discover)
For number = 0 To (List1.ListCoun)
If Text1.Text = Left(List1.List(number), ndiscover) Then
List1.Selected(number) = True
vtext = List1.List(number)
Exit For
End If
Next number
For number = 1 To (List1.ListCount - 1)
If vtext = worde(number) Then
Text2.Text = worda(number)
Exit For
End If
Next number
ملاحظة:- ستجد ان هذا الكود ليس فيه جديد غير أننا أستخدمنا فقط متغير جديد بأسم Vtext ليخزن بداخله الكلمه باللغة الإنجليزية التى تنشط أو تحدد أثناء البحث وذلك لكى نجد الكلمة المرادفة لها فى اللغة العربية
3- امسح الكود المسجل داخل الإجراء Click للقائمة Listbox ثم أكتب الكود التالى :
If prob = 1 Then
ndiscover = 0
For number = 0 To (List1.ListCount)
If List1.Selected(number) = True Then
vtext = List1.List(number)
Exit For
End If
Next number
For number = 1 To (List1.ListCount)
If vtext = worde(number) Then
Text1.Text = worde(number)
Text2.Text = worda(number)
Exit For
End If
Next number
End If
وبذلك نكون قد أنتهينا من جعل البرنامج يرتب المفردات أبجديا كما يستطيع البحث بها. ومازال هناك الكثير من الخصائص التى يمكن اضافتها للبرنامج فعلي سبيل المثال يمكن أضافة التصريفات للأفعال أذا كانت الكلمة المخزنة هى فعل , كما يمكن أضافة خانة أخرى لتسجيل الكلمات التى تتشابه مع ذلك المفرد فى النطق أو السمع وغيرها من الأفكار الجديرة بالتنفيذ.
لاشك أن المبتدئين مع لغة التطوير والبرمجة Visual Basic يجدوا أمامهم مشكلة رئيسية ألا وهى أن ما تعلمه من أوامر Commands وخصائص الأدوات Properties لا يجد لها فائدة فهو لا يجد فكرة ذات فائدة يستطيع أن يصنع منها برنامج يستفيد من-ه ويصقل فيه ما تعلمه خلال دراسته. ولذلك وجدنا أنه من المفيد لدارسى ومحترفى لغة VB أن نقدم لهم شرح لبعض البرام-ج المفيدة التى نرى أنها ستثرى معرفتهم بتلك اللغة وتكون حقلا خصبا لتطبيق ما تم دراسته وتسهيلا على القارىء تم شرح الكود الخاص بتلك البرامج وستجدون نسخة من هذا البرنامج على الإسطوانة الهدية المرافقة مع هذا العدد (مع اسطوانة تعلم ويندوز ميلينيوم المستوى الثانى) فى المجلد : D\ sources \ dictionary.
فى هذا الشهر سيكون برنامجنا بعنوان (القاموس) ومع هذا البرنامج يستطي-ع المبرمج أن يصنع قاموس بأى لغة (الإنجليزية, الفرنسية, الألمانية).
فكرة البرنامج:
ترتكز علي المبدأ التقليدي في مجال البرمجة وهو الإدخال والبحث عن المفردات.
الهدف من البرنامج :
1- صقل قدرة المبرمج على الإبتكار وتوجيه تفكيره الى ما يحتاجه سوق البرمجيات.
2- إنشاء قاموس باللغة التى يرغب فيها المبرمج مما يضفي عليه مزيدا من الخصوصية.
3- تبسيط فكرة قاعدة البيانات للمبرمج.
4- مساعدة المبرمج علي جعل برنامجه يعمل فى أى مجلد فرعى دون التقيد بوجود البرنامج فى مجلد محدد بمشغل معين.
مراحل إنشاء البرنامج :
تنقسم مراحل إنشاء البرنامج الى مرحلتين وهما:-
أولا : تصميم النماذج (Forms).
ثانيا : كتابة الكود الخاص بالبرنامج .
والآن عزي-زى القارىء دعنا نبدء فى شرح أولى تلك المراحل:
المرحلة الأولى: تصميم النماذج (Forms)
قم بتصميم النموذج الوارد بشكل رقم (1) مع إضافة الأدوات الموضحة, ثم أضبط خصائص المكونات
ملاحظات هامة :
1- هذا النموذج يستخدم للبحث عن مرادفات الكلمات باللغة العربية .
2- إن الأداه Text1 سوف تستخدم ليكتب بداخلها الكلمات باللغة الإنجليزية ولذلك نضبط الخاصية الأولى والثانية بالجدول بالقيمة (0), False على الترتيب, أما الأداة المخصصة لإظهار معانى الكلمات باللغة العربية فقد تم ضبط الخاصيتين الأولى والثانية بالقيمة (1), True على التوالى.
3- وحيث أننا سوف نكتب كلمة داخل الأداة Text1 فقد ضبطنا الخاصية Multline بالقيمة False وضبط الخاصية Scrolbar بالقيمة (0) , أما بالنسبة الأداة Text2 سوف يظهر بها أكثر من سطر ولذلك نحتاج الى ضبط الخاصية Multline الى القيمة True كما نحتاج الى ظهور شريط تمرير رأسى لذلك ضبطنا الخاصيه Scrolbar الى القيمة (2).
4- بالنسبة لأداة القائمة المفتوحة Listbox1 لم نضبط الخصائص الموضحة بها مما يعنى أننا سوف نستخدمها كما هى بالقيم الأفتراضية لها.
5- لاحظ أننا أعطينا عنوان إفتراضى (Caption) للنموذج Form1 وهو معجم الكمبيوتر والإنترنت وتستطيع أن تغير ذلك العنوان ليلائم الهدف من القاموس الذى تصنعه .
* قم بتصميم النموذج الوارد بشكل رقم (2) مع أدراج الأدوات .
ملاحظات هامة :
6- هذا النموذج يستخدم لإدخال الكلمات ومعانيها باللغة العربية وتزويد القاموس بالكلمات التى نريد إدخالها الى قاعدة البيانات بالقاموس .
7- حيث أننا سوف نستخدم الأداه Text1 لإدخال الكلمات باللغه الإنجليزية لذلك نسند القيم False للخاصية Right to Left, أما الأداه Text2 فسوف تستخدم لإدخال معانى الكلمات باللغه العربية لذلك تم إسناد القيمة True للخاصية Right to Left.
المرحلة الثانية: كتابة كود البرنامج
ولكى نقوم بإدخال كود النموذج رقم (2) اتبع الآتى:
- انتقل إلي تصميم النموذج
- أنقر زر تصغير نقرا مزدوجا لتظهر لك نافذة البرمجة أكتب بداخلها الأوامر الموضحة بالشكل رقم (3).
وبيانها بالتفصيل كالتالى:
الأمر :
Openس.\shoaaسfor append as #1
الأمر السابق يقوم بفتح ملف بأسم shoaa داخل المجلد الفرعى الذى أنشأت بداخله البرنامج تمهيدا لتسجيل البيانات عليه مع ملاحظة أننا كتبنا النقطة (.) لنستعيض بها عن مسار الملف وبذلك يمكن للبرنامج أن يعمل عند نقله الى أى مشغل على الجهاز دون التقيد بالمجلد والمشغل الذى تم إنشاء البرنامج بداخله .
وتفصيلا للأمر فإن :
1- Open أمر فتح .
2- ".\shoaaس أسم الملف ومساره .
3- for append وهى تعنى فتح الملف لتسجيل البيانات بة فإن كانت هناك بيانات مسجلة من قبل فزدها على الملف .
4- as # 1 تعنى أن هذا الملف سيأخذ الرقم 1 فى ترتيب الملفات المفتوحة .
الأمر :
Write #1, text1, text2
يقوم هذا الأمر بكتابة (تسجيل) محتويات المربعان النصيان (text1 , text2) على الملف رقم 1 وهو الملف shoaa.
الأمر
Text1.Text= سس
Text1.Text= سس
تقوم هذه الأوامر بمسح محتويات المستطيلات النصية بعد تسجيل هذه المحتويات داخل ملف المعلومات shoaa
الأمر:
Close#1
يؤدى هذا الأمر إلى إغلاق ملف المعلومات shoaa رقم #1 الذى تم فتحه من قبل.
أنقر زر back نقرا مزدوجا لتظهر لك نافذة البرمجة أكتب بداخلها الأوامر الموضحة بالشكل (4). وبيانها بالتفاصيل كالتالى:
الأمر:
Form1.Show
يؤدى هذا الأمر الى إظهار الواجهة رقم (1).
الأمر:
Unload Me
يؤدى هذا الأمر الى إزالة الواجهة رقم (2) من الذاكرة وبالتالى يؤدى الى إخفائه-ا.
إدخال كود النموذج
قم بإظهار النموذج رقم (1) (Form 1)
فى بداية قسم الإعلانات العامة أكتب الأوامر الآتية فى الشكل رقم (5). وبيانها كالتالى:
الأمر:
Option Base 1
وهو يعنى أن المصفوفات التى سيتم أستخدامها ستبدأ ترقيم العناصر بداخلها من الرقم 1 وليس الرقم صفر.
الأمر:
Dim worda(), Wode()
هنا يتم الإعلان عن المصفوفات الديناميكية (غير المعروف عدد عناصرها) والتى سيتم استخدامها كما يلى :-
Worda() تستخدم لتخزين الكلمات باللغة العربية .
Worde() تستخدم لتخزين الكلمات باللغة الإنجليزية .
ثم تلى ذلك الإعلان عن المتغيرات الأتية :-
- Number تستخدم كع-دد لمعرفة عدد الكلمات التى تم تخزينها داخل ملف المعلومات shoaa.
- Discover يستخدم ذلك المتغير ليخزن بداخلة حروف الكلمة التى تبحث عن معناها (التى تكتب فى Text1).
- Ndiscoverيستخدم ذلك المتغير ليخزن بداخله عدد حروف الكلمة التى تبحث عن معناها .
- Prob يستخدم ذلك المتغير كمفتاح لكى لا تنفذ أوامر الإجراء (Change) أثناء النقر على القائمة (Listbox) لمعرفة معنى كلمة ما من القائمة (وسنتعرض فيما بعد لشرح ذلك المتغير).
أنقر الواجهة (Form1) واكتب بداخل الإجراء (Load) الأوامر الآتية بالشكل (6), وفيما يلى شرح مفصل لهذه الأوامر:.
فى بداية هذا الجزء من الأوامر تم فتح ملف المعلومات الذى سبق لنا ان قمنا بتسجيل الكلمات ومعانيها داخله وهو الملف (Shoaa) وقد فتح لقراءة محتوياته كما يتضح من الامر (For Input), بعد ذلك تم أستخدام الحلقة التكرارية (Do While) وذلك لتكرار قراءة الكلمات ومعانيها من ملف المعلومات حتى ينتهى الملف حيث EOF (1) وهى تعنى End Of File أى نهاية الملف رقم #1 وعلى ذلك فالأمر DoWhile Not EOF(1) يعنى أستمر فى التكرار طالما لم تصل الى نهاية الملف رقم #1. أما الأوامر التى سيتم تكرارها فهما الأمرين التاليين والمحصورين بين جملة بداية التكرار Do While وجملة نهاية التكرار Loop.
الأمر:
Nq=nq + 1
Input #1, dice, dica
يقوم الأمر الأول بزيادة قيمة المتغير nq بمقدار (1) أما الأمر التالى فيقوم بقراءة كلمة ومعناها من ملف المعلومات, وحيث أن تنفيذ الأمرين السابقين سيتكرر الى ان تنتهى الكلمات المسجلة داخل الملف Shoaa فسوف يحتوى المتغير Nq على عدد الكلمات التى تم تسجيلها داخل ملف المعلومات .
أما الامر (Close #1) فيغلق الملف رقم #1 الذى فتحناه لنعرف عدد الكلمات التى تم تخزينها داخل ملف المعلومات وذلك لاستخدامها كما سيتضح من الامر التالى:
الأمر:
ReDim Worde(nq), Worda(nq)
فى هذا الأمر يتم الإعلان عن المصفوفات الديناميكية التى سبق لنا الإعلان عنها فى قسم الإعلانات العامة وذلك لأننا قد عرفنا عدد عناصرها وهو عدد الكلمات المخزنة فى المتغير nq وذلك بالأمر Redim.
فى الأوامر التالية بعد ذلك يأتى دور قراءة الكلمات ومعانيها وتخزينها فى المصفوفات الخاصة
الأمر (Worde (number)=dice) يخزن الكلمات باللغة الإنجليزية داخل المصفوفة (Worde). الأمر (Worda (number)=dica) يخزن الكلمات باللغة العربي-ة داخل المصفوفة (Worda).
ففى البداية تم أستخدام الحلقة التكرارية For Next تبدأ الحلقة من الرقم 1 وتنتهى بالرقم الخاص بعدد الكلمات والمخزن فى المتغير nq وفى كل مرة يتم قراءة كلمة ومعناها وتسجيلها فى المصفوفات Worde, Worda.
الأمر:
List1.Additem dice
يقوم هذا الأمر بإدخال الكلمات باللغة الإنجليزية داخل القائمة المفتوحة ((Listbox1 لإظهارها أمام المستخدم.
البحث في كلمة ومعناها:
فيما يلى سوف نتعرف علي كيفية البحث عن كلمة ضمن القائمة :
أنقر أداة النص (Text1) نقرا مزدوجا واكتب داخل الإجراء (Change) الأوامر بالشكل (7).
وفيما يلى تفصيل لبيانها:
الأمر :
Discover=Text1.Text
ويعني أن أوامر الإجراء ((Change تنفذ إذا تغيرت قيمة النص (Text1) وهذا الأمر يقوم بتخزين النص المكتوب داخل الأداة (Text1) داخل المتغير (Discover).
الأمر:
Ndiscover=Len (discover)
يقوم ذلك الأمر بتخزين عدد حروف النص (Text1) الذى سبق تخزينه داخل المتغير (Discover) ويحتفظ بقيمة عدد الحروف لتلك الكلمة داخل المتغير (Ndiscover) الذى سبق تعريفه.
الأمر:
For Number=0 To (List1.ListCount-1)
هى عملية تكرار تبدأ بالقيمة صفر وهو تكرار بعدد الكلمات ذات اللغة الإنجليزية والمسجلة بالقائمة List1 ويشار الى عددها بالأمر ListCount وعددها (ListCount-1) وذلك لأن التكرار يبدأ من الرقم (0) ويتم تكرار الأوامر الأربعة التالية:
الأمر:
If Text1.Text=Left (Wrode(Number+1), Ndiscover) Then
هذا الأمر هو شرط يبحث هل عدد الحروف وشكلها التى تم كتابتها داخل النص (Text1) مطابقة للحروف الأولى من اليسار التى عددها (Ndisscover) للكلمة رقم (Number + 1) للكلمات ذات اللغة الإنجليزية المسجلة داخل المتغير (Worde) فإذا كان الشرط متحقق فيتم تنفيذ الأوامر التالية :-
Text2,Text = Worda (Number +1)
List1.Selected (Number) = True
Exit For
السطر الأول يعنى أن تأخذ أداة النص (Text1) الكلمة ذات اللغة العربية رقم (Number + 1).
السطر الثانى يقوم بعملية تنشيط للكلمة باللغة الإنجليزية فى القائمة (List) ذات الرقم (Number) والتى تقابل الكلمة ذات اللغة العربية التى رقمها فى ملف المعلومات (Number + 1).
لاحظ أن: ترقيم الكلمات داخل ملف المعلومات يزيد بمقدار واحد عن الترقيم فى القائمة (List1). السطر الثالث يؤدى الى الخروج من حلقة التكرار إذا تم العثور على الكلمة المطلوب البحث عنها .
والآن سنعرف كيف يتم ظهور الكلمة ومعناها إذا تم النقر على إحدى الكلمات فى القائمة (List1).
-انقر القائمة (List1) واكتب داخل الإجراء Click الأوامرالتالية بالشكل رقم (.
الأمر : (If Prob = 1 Then) هو شرط ليضمن لنا ألا تنفذ تلك الأوامر الخاصة بالحدث Click للقائمة (List1) عند إجراء عملية تنشيط واختيار (Selected) الناتجة من الحدث Change للأداة Text1 التى سبق شرحها .
ولكى تكمل تلك العملية يجب أن يأخذ المتغير Prob القيمة (1) عند حصول التركيز Focus on للقائمة List1 أو حدوث تنشيط ويتم عمل ذلك بكتابة الأمر التالى داخل الإجراء (GotFocus) للأداة (List1) وهو (Prob = 1).
الآن نريد أن يأخذ المتغير Prob القيمة (0) عند فقد التركيز focus out للقائمة List ويمكننا عمل ذلك بكتابة الكود التالى داخل الإجراء (LostFocus) للأداة (List1) وذلك الأمر هو (Prob = 0).
الأمر:
For Number = 0 To (List1. ListCount - 1)
هى عملية تكرار تبدء ب- (0) وتنتهى بعدد الكلمات التى تحتويها القائمة (List) ويشار الى عددها بالأمر:
(ListCount-1) ويتم خلال ذلك التكرار تنفيذ الاوامر التالية : -
If List1. Selected (Number) = True Then
Text1. Text = Worde (Number + 1)
Text2. Text = Worda (Number + 1)
السطر الأول عبارة عن شرط Condition حيث تعبر تلك الأوامر عن البحث فى القائمة (List1) إذا تم تنشيط أو إختيار كلمة ذات الرقم (Number) فى القائمة, فإذا كان الشرط محقق ينفذ الأمرين التاليين :-
الأول : أن يحتوى ( أو يكتب بداخل ) النص (Text1) على الكلمة باللغة الإنجليزية رقم (Number + 1) الموجودة فى ملف المعلومات والتى تم تخزينها فى المصفوفة (Worde).
الثانى : أن يحتوى (أو يكتب بداخل) النص (Text2) على معنى الكلمة باللغة العربية رقم (Number + 1) والتى تم تخزينها فى المصفوفة (Worda).
الآن أكتب داخل الإجراء Click فى محرر القوائم(MenuEditor) للقائمة(add) الأوامر التالية بالشكل رقم (9).
الأمر الأول : يعنى ظهور الواجهة رقم 2 (Form2) وذلك لإضافة بعض الكلمات ومعانيها .
الأمر الثانى : يعنى أخفاء الواجهة الحالية (Form1) من الذاكرة وبالتالى يؤدى الى إخفائها.
الآن أكتب داخل الإجراء Click فى محرر القوائم (MenuEditor) للقائمة (end) الأمر End الذي يعنى إنهاء البرنامج .
إلغاء محتويات ملف المعلومات Shoaa
لإلغاء المعلومات التي يحتويها هذا الملف فيجب عليك اتباع الخطوات الأتية : -
1- أدخل الى المجلد الفرعى المسجل عليه برنامج القاموس ستجد ملف بأسم Shoaa وهو ملف المعلومات الذى يتم تسجيل الكلمات ومعانيها بداخله .
2- أفتح ذلك الملف من قائمة Open With بواسطة أى برنامج لعرض النصوص والكتابة وليكن Wordbad أو Notbad.
3- حدد أو (نشط او ظلل) كل الملف ماعدا السطر الأول ثم قم بإلغاء تلك البيانات من الملف .
4- اغلق الملف Shoaa مع حفظ التغيرات التى أحدثتها فى ذلك الملف .
5- أفتح البرنامج مرة أخري ستجد أن جميع البيانات قد تم حذفها .
ملحوظة: تركناالسطر الأول دون إلغاء بمعالج النصوص لأن البرنامج يفتح الملف Shoaa عند تحميل وفتح البرنامج ليبحث عن الكلمات المسجلة بداخله لذلك يجب أن يجد كلمه واحدة على الأقل ولتكن هذه الكلمة فارغة .
إلي هذا نكون قد فرغنا من شرح هذا البرنامج المبسط وعلي وعد بلقاء في برامج أخري إلا أننا نريد أن نرسي مبدأ المشاركة في العمل والتطوير بلغة الفيجوال بيسك لذلك نسوق إليك عزيزي القارئ بعض المهام الإضافية التي نرغب في أن تقوم بها وحدك علي هذا القاموس لتزيد حجم استفادتك منه .
أولا : عملية الحذف الكلى للبيانات
لقد شرحنا لكم من قبل كيف يمكن الغاء جميع البيانات التى تم تسجيلها فى ملف المعلومات ولكن تلك الطريقة كانت من خلال الويندوز أما الأن فنحن نريد أن نفعل ذلك بواسطة الفيجوال بيسك حيث يكفي أن نكتب للبرنامج الكود التالى وذلك داخل أى زر أوامر يتم أنشائه :
open " .\ shoaa " for output as # 1 write #1 , text1 , text2
close #1
الأمر (for output) يعني اننا نفتح الملف لتسجيل بيانات بداخله فإذا كانت هناك بيانات مسجله من قبل يتم حذفها ليسجل مكانها البيانات التى تلى بعد ذلك مع ملاحظة ان text1,text2 يجب أن يكونا خاليين من البيانات لكى يتم تسجيل البيانات الفارغة مكان البيانات القديمة داخل ملف المعلومات .
ثانيا : عملية حذف أحد البيانات داخل الملف
نستطيع فعل ذلك بأن تجهز نموذج ثالث يماثل النموذج رقم (1) بالبرنامج ولكن مع أضافة زر أوامر للنموذج يكتب عليه ( حذف ) وتكتب الكود التالى داخل أجراء Click لذلك الزر.
1- تعطى أمر للبرنامج أن يمسح جميع البيانات داخل ملف المعلومات كما سبق شرحه فى البند أولا .
2- تعطى امر للبرنامج ان يسجل جميع الكلمات المدرجه فى القائمة المنسدلة Listbox مع تسجيل المعنى المقابل لها باللغة العربية من مصفوفة المتغيرات الموجود بها تلك المعانى للكلمات, مع ملاحظة ان نعطى أمر للبرنامج ألا يسجل الكلمة التى تم تنشيطها من القائمة حيث تكون هى الكلمة المراد حذفها .
3- فى نهاية ذلك الاجراء نطلب من البرنامج أن يفتح ملف المعلومات من جديد ليتم تحميله داخل المتغيرات التى تحفظ البيانات وعندها لن تجد الكلمة التى حذفتها من القائمة.
ثالثا : عملية التغيير فى معاتى الكلمات داخل ملف المعلومات :
تستطيع أن تفعل ذلك بأن تجهز نموذج رابع يماثل النموذج رقم (1) بالبرنامج ولكن مع أضافة خانة نص جديدة Text3 كما نضيف زر أوامر للنموذج يكتب عليه (تعديل) وننفذ الخطوات التالية:
1- داخل أجراء Click لذلك الزر تعطى أمر للبرنامج أن يمسح جميع البيانات داخل ملف المعلومات كما سبق شرحه فى البند أولا .
2- أكتب داخل Text1 الكلمة التى تريد التغيير فى معناها فيعثر عليها البرنامج ويأتى بالمرادف لها باللغة العربية.
3- قم بالتعديل داخل خانة النص Text3 الكلمة باللغة الأنجليزية وداخل خانة النص Text2 قم بتغيير المعنى باللغة العربية .
4- نطلب من البرنامج ان يسجل جميع الكلمات باللغة الإنجليزية الموجودة داخل القائمة المنسدلة Listox والمعنى المقابل لها بالعربية المخزنة فى مصفوفة المتغيرات مع ملاحظة أن نعطى له أمر أنه أثناء عملية التخزين عندما يحين الدور على الكلمة المنشطه أو التى تم اختيارها والتعديل فيه فإنه يخزن المعنى باللغة الإنجليزية من خانة النص Text3 والمعنى بالعربية من خانة النص Text2.
رابعا : تحديد نوع المفرد
نحاول الأن أن نتوسع فى قاعدة البيانات مما يؤدى الى تحسين امكانات ذلك البرنامج حيث يمكن أن نجعل القاموس يحدد نوع المفرد عند البحث عنة (أسم , فعل , صفة) وذلك يتطلب أن نخبر البرنامج عن نوع المفرد عند حدوث عملية الحفظ حيث يتم حفظ نوع المفرد داخل ملف المعلومات .
ويكون ذلك بان نضيف للبرانمج على النموذج رقم (2) الخاص بتسجيل المفردات ثلاث أدوات دائرة خيار Option Button تأخذ الأولى عنوان VB والثانية N والثالثة Adj وداخل الإجراء Click لزر حفظ نخبر البرنامج أن يقرأ الثلاث أدوات ويخزن قيمتها داخل ملف المعلومات, وعند أستدعاء تلك المفردات فى النموذج رقم (1) يتم إنشاء عنوان Label ليظهر بداخله نوع المفرد الذى تم تحديده من النموذج رقم (2).
خامسا : ترتيب المفردات أبجديا فى القائمة Listbox
سوف يجد الكثير منكم أن ذلك القاموس لو قام بترتيب الكلمات أبجديا داخل القائمة المنسدلة Listbox لكان ذلك أسهل فى الأستخدام وخاصة فى عملية البحث اليدوى , يمكننا أن نضيف تلك الميزة إلى البرنامج ولكنها بالطبع تحتاج الى أضافة بعض الأوامر وفيما يلى نذكر تلك الأوامر مع التعرض لشرح بعض النقاط بها :
1- أضبط الخاصية Sorted للقائمة Listbox من الوضع الأفتراضى False الى القيمة True وهى خاصية الترتيب حيث يؤدى ذلك الى ترتيب الفردات داخل القائمة List أبجديا ويمكنك ملاحظة ذلك عند تشغيل البرنامج .
2- أمسح الكود المسجل داخل الإجراء Change لخانة النص Text1 ثم أكتب الكود التالى :
discover = Text1.Text
ndiscover = Len(discover)
For number = 0 To (List1.ListCoun)
If Text1.Text = Left(List1.List(number), ndiscover) Then
List1.Selected(number) = True
vtext = List1.List(number)
Exit For
End If
Next number
For number = 1 To (List1.ListCount - 1)
If vtext = worde(number) Then
Text2.Text = worda(number)
Exit For
End If
Next number
ملاحظة:- ستجد ان هذا الكود ليس فيه جديد غير أننا أستخدمنا فقط متغير جديد بأسم Vtext ليخزن بداخله الكلمه باللغة الإنجليزية التى تنشط أو تحدد أثناء البحث وذلك لكى نجد الكلمة المرادفة لها فى اللغة العربية
3- امسح الكود المسجل داخل الإجراء Click للقائمة Listbox ثم أكتب الكود التالى :
If prob = 1 Then
ndiscover = 0
For number = 0 To (List1.ListCount)
If List1.Selected(number) = True Then
vtext = List1.List(number)
Exit For
End If
Next number
For number = 1 To (List1.ListCount)
If vtext = worde(number) Then
Text1.Text = worde(number)
Text2.Text = worda(number)
Exit For
End If
Next number
End If
وبذلك نكون قد أنتهينا من جعل البرنامج يرتب المفردات أبجديا كما يستطيع البحث بها. ومازال هناك الكثير من الخصائص التى يمكن اضافتها للبرنامج فعلي سبيل المثال يمكن أضافة التصريفات للأفعال أذا كانت الكلمة المخزنة هى فعل , كما يمكن أضافة خانة أخرى لتسجيل الكلمات التى تتشابه مع ذلك المفرد فى النطق أو السمع وغيرها من الأفكار الجديرة بالتنفيذ.
مواضيع مماثلة
» تحميل برنامج ماسنجر بلس مسنجر 9 برنامج الماسنجر الجديد هوتميل تسعة وندوز لايف
» برنامج لفتح كل الايميلات من برنامج واحد Pidgin 2011
» برنامج هكر المزرعة السعيدة برنامج تشارلز
» برنامج Blender (برنامج التصميم الرائع)
» برنامج GI-Arabic Now 1.0
» برنامج لفتح كل الايميلات من برنامج واحد Pidgin 2011
» برنامج هكر المزرعة السعيدة برنامج تشارلز
» برنامج Blender (برنامج التصميم الرائع)
» برنامج GI-Arabic Now 1.0
منتديات نبع الرومانسية :: برامج جديدة 2011 - تحميل برامج - العاب - تحميل العاب 2011 :: برامج جديدة 2011 - تحميل برامج - برامج كاملة - برامج مجانية
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس نوفمبر 04, 2021 4:01 am من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الخميس نوفمبر 04, 2021 3:57 am من طرف اسماء البحيري
» رد المطلقه المعالج الروحاني الكبير0020122935477اقوي شيخ ومعالج روحاني لجلب الحبيب
الخميس نوفمبر 04, 2021 3:53 am من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الخميس نوفمبر 04, 2021 3:48 am من طرف اسماء البحيري
» رد المطلقه المعالج الروحاني الكبير0020122935477اقوي شيخ ومعالج روحاني لجلب الحبيب
الخميس نوفمبر 04, 2021 3:43 am من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الإثنين أغسطس 23, 2021 10:54 pm من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الإثنين أغسطس 23, 2021 8:14 am من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الإثنين أغسطس 23, 2021 8:10 am من طرف اسماء البحيري
» جلب الحبيب_علاج السحر_رد المطلقة_زواج البنات_شيخ روحاني 00201222935477
الإثنين أغسطس 23, 2021 8:06 am من طرف اسماء البحيري