الدرس الثاني
إخواني الكرام
هذا هو الدرس الثاني من دروس لغة الفيجوال ببسك
عندما فكرت في شرح هذه اللغة حاولت ان ابدء بنفسي شرح هذه اللغة دون الإستعانة باى شئ
لكني لم استطع
حيث وجدت ان الأمر يحتاج بعض التنظيم والترتيب
حتى لا يختلط الأمر على المتلقي
ولي ندائيين لكل اعضاء مضايف شـمّــر
النداء الأول
لقد بحثت عن موقع يمكن لأعضاء من خلاله تحميل هذه اللغة لكني لم اوفق الى الآن
فاتمنى من كل من له خبرة بالبحث على الشبكة ان يساعدني في الوصول الى هذا الموقع
النداء الثاني
كل من يجد في نفسه القدرة على ان يشاركن في الشرح لهذه اللغة فاهلا به ومرحبا فلا يوجد افضل من العمل الجماعي
والآن لننتقل الى درسنا الأول
إنشاء مشروعك الأول
سنبدأ أولى برامجنا
والذي سنتعرف من خلاله على كيفية استخدام بعض من ادوات التحكم مثل
Button(الزر)
Text Box (صندوق كتابة)
Label(اعنوان)
ولنبدأ أخواني في خطوات الشرح
بعد أن عرفنا كيفية فتح اللغة وما سيظهر لنا عند بداية التشغيل
فلنبدأ في إنشاء البرنامج
كما رأينا من قبل عند فتح اللغة تفتح نافذة فارغة وهى تعتبر مسرح العمليات بالنسبة للمشروع الجديد إى أنها سوف تضم جميع عناصر التحكم التي نريد أن ندرجها داخل البرنامج
لنبدأ بعملية حفظ مبدئي لهذه النافذة الفارغة والمشروع الجديد وذلك لسهولة الحفظ عند إجراء التغيرات والحفاظ على هذه التغيرات
من قائمة File نختار Save File As...
تظهر لنا قائمةأخرى تسأل عن الأسم الذي سوف أحفظ به النافذة التي داخل البرنامج
فلنعطيها أسما وليكن hello.frm
وكذلك المشروع نقوم بحفظه وليكن بأسم hello.vbp
عزيزي تذكر أن تعاود الحفظ بعد إى تعديل جوهري حتى لا يضيع عملك هباء لاى سبب من الأسباب
ولكن هذه المرة بكل سهولة من خلال قائمة File ثم Sav أو من خلال أيقونة الحفظ التي إعتدنا عليها في برامج ميكرسوفت
التعديلات بالنسبة للنافذة ( Form )
يوجد في قائمة properties مايزيد على أربعين خاصية للنافذة أستطيع أن أتحكم فيها ولن هل أحتاج للتغير في كل هذه الخصائص
الإجابة على هذا السؤال تكون بمعرفة الوظيفة التي أريدها من البرنامج فعندما أغير من هذه الخصائص بالنسبة لاى أداة تحكم لابد أن يتلائم هذا التغير مع وظيفة البرنامج
وسنحتاج في هذا البرنامج التعديل في الخاصائص التالية فقط
Form Name
Caption
Height
Left
Top
Width
frmHello
Hello
4000
2500
1600
6000
ولنا أن نسأل لما هذه التغيرات بالذات
فنحن نغير أسم النافذة من Name حتى يتلائم مع وظيفة البرنامج ويكون الأس الجديد هو الأسم الذي سوف نستخدمه داخل كود البرنامج
كذلك الحجم حتى يناسب مع ما نريد
وكذلك أسم النافذة التي سوف يظهر للمستخدم ويتم تغيره من خلال الخاصية Caption
ولتقوم بإدراج ذر تحكم (Command Butto وهو ضمن قائمة أدوات التحكم التي تكلمنا عليها من قبل
وذلك بالضغط عليه بزر الفأرة الأيسر ثم سحبه وإطلاقه على النافذة
أو بالضغط عليه مرتيين متتالتين سوف تجده ظهر على النافذة
وبعد إجراء هذه التغيرات سوف نرى الشكل القادم
ونستطيع إيضا تغير الفونت بالنسبة للنافذة أو الخلفية وهكذا ولك أن تجرب ما تشاء
وسوف نقوم الان بتغير خصائص زر التحكم ( command button )
ـــ إجعل الزر هو النشط بالضغط عليه بزر الفأرة الأيسر
ـــ سوف تتغير قائمة الخصائص الى الخصائص الخاصة بالنافذة
ـــ ولتغير خصائص الزر كما يأتي
Command Button Name
Caption
Height
Left
Top
Width
cmdDisplay
Display
495
720
2280
1215
سوف تلاحظ بعد تغيرك الخصائص أن
nالأسم المرئي للمستخدم ( caption ) قد تغير إلى ( Display )
وكذالك موضع الزر قد تغير
ملاحظات
ـــ الخاصية Name الأسم الذي يوضع بها هو الأسم الذي يستخدم في البرمجة أى في كتابة الكود داخل البرنامج
ـــ الخاصية Caption الاسم الموضوع بها هو مجرد أسم للزر أو لاى أداة تحكم ليشاهده المستخدم فقط ولا يدخل في الكود داخل البرنامج
ـــ عند تغير الخاصية Name لابد من إختصار معين قبل كتابة الأسم الجديد وهذا الإختصار يعتمد على نوع أداة التحكم فمثلاً
زر التحكم عند التغير في الأس لابد أن يبدأ بـ Cmd
والان لندرج زر آخر بنفس الطريقة ولنغير خواصه إلى الآتي
Command Button Name
Caption
Height
Left
Top
Width
cmdClear
Clear
495
2400
2280
1215
وستكون النافذة بالشكل التالي بعد هذه التغيرات
وقم أخي بإضافة الزر الثالث وبالتعيرات التالية
Command Button
Name
Caption
Height
Left
Top
Width
cmdExit
Exit
495
4080
2280
115
ــ ويوف ندرج الان أداة أخرى من أدوات التحكم وهى صندوق الكتابة (Textbox)
وكما ذكرنا من قبل يمكنك معرفة الأداة التي تريدها بأن تشير إليها بالفأرة دون الضغط وسوف يظهر لك أسمها
قم بإضفة صندوق الكتابة بنفس الطريقة وستشاهد الشكل التالي
وبتنشيط صندوق الكتابة بالضغط عليه بالزر الأيسر للفأرة تظهر الخواص الخاصة بها في قائمة الخواص
ولتقم بتغيرها إلى الآتي
Text Box Name
Alignment
Height
Left
Multiine
Top
Width
txtMessage
Center
495
1680
True
1320
2655
ــ لاحظ عند تغير الخاصية Name بالنسبة لـلـ Text Box يبدأالأسم بالأختصار ( txt )
ــ هناك بعض الخواص المهمة بالنسبة لصندوق الكتابة وهى
- عندما تريد لاى كتابة داخله أن تظهر في منتصفه وذلك من الخاصية
alignment يتم تغيرها إلى Center
- عندما تريد أن تضيف إمكانية تعدد الأسطر وليس سطر واحد فقط يتم تغيرها من
MultiLine إلى True
- عندما تريد إزالة الكتابة داخله حتى لاتظهر للمستخدم
من الخاصية Text أزل ما بها من كتابة
ــــ وأخيرا ً سوف نضيف أداة أخرى بنفس الطريقة السابقة وهى
Label
وتستخدم هذه الخاصية غالبا ً في إظهار الخرج أو النتائج بالنسبة للبرنامج عليه لان المستخدم لا يستطيع الكتابة داخله أثناء تشغيل البرنامج
ولنغير خواصه إلى الآتي
Label Name
Caption
Height
Left
Top
Width
lblMessage
Message:
255
1680
1080
1215
وسوف تشاهد الشكل التالي
أرجوا أن تتأكد من حفظ مشروعك بعد كل هذه التغيرات
والان أخي العزيز لقد أنتهينا من أول خطوات البرنامج وهى التصميم
ولننتقل إلى الخطوة الرئيسية وهى خطوة البرمجة لادوات التحكم التى أدرجنها في البرنامج وهى تعتبر من أهم خطوات البرنامج وهى خطوة كتابة الكود
والكود: هو عبارة عن بعض الكلمات الخاصة التي يفهمها معالج اللغة ويقوم بتنفيذها ونقدر أن نقول أنه اللغة التي تفهمك بها فيجوال بيسك إذا خاطبتها بها وأى خطأ في كتابة الكود سيؤدي بالتالي إلى خطا في تنفيذ البرنامج ولك أن تمئن عزيزي فلغة فيجوال بيسيك إذا ما كتبت أى شئ خاطأ في الكود ينبهك إليه ويحاول أن يمدك ببعض المساعدة لتصحيحه
وهناك خطأ من نوع آخر ليس في كتابة الكود وإنما في عدم الإستخدام الإمثل لدوال اللغة ووظائفها وهذا غلباً لا ينبهك إليه فيجوال بيسك إلا عند تنفيذ البرنامج فقط
قبل البدء في كتابة الكود لابد من الاتي
لابد من نسأل أنفسنا أولاً ماذا نريد من هذا البرنامج أن يصنع
ولنأخذ كل أداة من أدوات التحكم ولنرى ماذا نريد منها أن تصنع
الزر Display نريد من الضغط عليه أن يظهر لنا رسالة ف صندوق الرسائل ولتكن مرحباً بالعالم
ملحوظة كل التسميات الماضية أو التغيرات في الإسم الذي يظهر للمستخدم أثناء التشغيل (Captio يمكن الكتابة فيها بالعربية فمثلا زر Display يمكن أن يسمى عرض وكذلك باقي الأزرة وكما ذكرنا من قبل أن هذا لن يؤثر على الكود في شئ
الزر Clear من المفروض عند الضغط عليه أن يزيل اى كتابة في صندوق الكتابة
الزر Exit من المفروض عند الضغط عليه أن يتم الخروج من البرنامج
ولكن عزيزي وقبل الإنطلاق في كتابة الكود لابد من أن تتأكد من الآتي
ـــ اضغط على Tols ثم Options... وتحت Editor تأكد من أن (Require Variable Declaratio هناك علامة صح أمامها أى أنها مختارة
ـــ في هذه القائمة نفسها , تأكد من أن (Default to Full Module View) غير مختارة
ولنبدأ في كتابة الكود
من قائمة المشروع ( Project )
ستجد ثلاثة ايقونات كما بالشكل الاتي وعند وضع الفأرة عليهم تعرف وظائفهم إضغط على الأولى من اليسار وهى لإظهار الكود
أو بالضغط على النافذة مرتتين متتاليتين وبعد الضغط عليها سوف تشاهد شل كالتالي
هذه القائمة الممتدة تحت كلمة General
لو لاحظت فإنه ظاهر بها كل أدوات التحكم التي أدرجتها داخل برنامجك
عندما تختار اى من عناصر التحكم تظهر لك القائمة التي ستكتب بها الكود الخاص به
ولكن هل نحتاج لكتابة كود لكل من عناصر التحكم ؟
الإجابة هى لا فإننا نكتب الكود لما نريد من أدوات التحكم فقط أو لما نريد من أدوات التحكم النشطة عند إستخدام البرنامج وباقي الأدوات يكفي ظبطنا ايها من خلال خصائصها التي مرت من قبل
ولنبأ أخي بأسهل شئ وهو زر الخروج ( Exit )
إختار من القائمة الماضية(cmdExit)
وسوف يظهر لك الشكل التالي
تجد قائمتين التي على اليمين هى التي تحدد الحدث اى متى ينفذ الكود المكتوب هل بالضغط على الزر مرة واحدة وذلك من Click
أم عند إمرار الفأرة عليه MouseMove
أم عند إمساكه ثم إطلاقه DragDrop
وسوف نختار الضغط بالفأرة كالعادة في البرامج التي نستخدمها
وكما نرى أيضا أ,ل سطر في الكود هو الذي يحدد نوع الحدث بعد إختيار من القائمة فأتركه كما هو ولا أغير فيه شئ طالما أني أختارته من القائمة
والقائمة التي على اليسار هى التي تحدد منها نوع أداة التحكم كما ذكرنا من قبل
وفي نهاية كل كود لابد من وجود كلمة الإنهاء وهى ( End Sub )
والكود الذي سيكتب لزر الخروج هو End فقط كما بالشكل
من الممكن أن تجرب كود هذا الزر بتنفيذ البرنامج وتعرف هل يعمل بكفاءة أم لا
ولهذا سنشرح شئ سوف نحتاجه وهو كيفية تشغيل البرنامج حتى نختبره
تشغيل البرنامج
1 ــ يتم ذلك بعدة طرق أسهلها الزر F5 من لوحة الفاتيح
2 ــ من خلال زر الاختصار (start) في شريط المهام العلوي وشكله كالشكل التالي
3 ــ من قائمة Run ثم Start كما بالشكل التالي
وبعد تشغيل البرنامج فلتتأكد من عمل الزر Exit
ــــــ والان لنكتب كود الزر Display
بنفس الطريقة السابقة نحضر قائمة كتابة الكود ثم نختار cmdDisplay من القائمة التي على اليمين
أو بالضغط مرتين متتاليتين على الزر Display
img]http://fssush.jeeran.com/j.gif[/img]
ولنكتب فيه الكود الذي بالشكل التالي
السطر
txtMessage.Text = "Hello World!"
هذا السطر يعني أنه عند الضغط على الزر Display سيكتب في صندوق الكتابة الذي إسمه txtMessage جملة ! Hello World
ولنلاحظ التالى
ــ ممكن تغير Hello World بجملة أخرى ولتكن مرحبا بالعالم
ــ الإمتداد الذي بعد أسم صندوق الكتابة يحدد نوع الخاصية التي سيتم فيها التغير بالنسبة لصندوق الكتابة وعندما تكتب هذا الكود في لغة فيجوال بسيك وعد كتابتك .txtMessage يظهر لك فيجوال بيسك مساعدة وهى عبارة عن كل الخصائص التي يمكن تغيرها لصندوق الكتابة وأنت تريد أن تغير في الكتابة داخله فلتختار الخاصية Text
ــ لاحظ علامتي التنصيص " " الذين يحصرون جملة "Hello World!" وهذاين العلامتين يخبرون البرنامج أن يضع ما بينهما كما هو تماما
إضافة الكود للزر cmdClear
هذا السطر txtMessage.Text = ""
يجعل صندوق الكتابة فارغ
cmdDisplay.Enabled = False
cmdClear.Enabed = True
لو لاحظت أن هاذين السطرين تم تكريرهم في الكود الخاص بالزارين العرض والمسح مع الإختلاف في قيمتي False و True في المرتين وهما لجعل البرنامج عند كتابة شئ يكون الزر مسح هو النشط والذي يمكن الضغط عليه إما الآخر فغير فعال وهو زر العرض والعكس يحدث بعد المسح شغل البرنامج ولترى ما يحدث وسوف تفهم
ومن الممكن أن نضيف هاذين السطرين في كود النافذة كالتالي
شغل البرنامج وانظر التغيير فالفرق هنا أن الكود ينفذ بمجرد تشغيل البرنامج وليس بلضغط على الزر عرض
وبهذا اخواني الكرام ينتهي درسنا الأول بانتهاء برنامجنا الأول
ولقد حرصت على ان ادرج الدرس بالكامل وليس مقطعا رغم طوله لأن هذا افضل
اخواني الكرام انتظر توجيهاتكم واسألتكم حول الدرس
واتمنى من كل من طبقه ان يخبرني عن الصعوبات التي واجهته فيه حتى احسن من طريقة الشرح الى افضل الطرق
اتمنى اني شرحت شرح(ن) زين
متجند سيفة ..
اي استفسار او شرح زيادة ,,,, لايردك الا لسانك :p
تحياتي لكم
المفضلات