الأربعاء، 11 يونيو 2014
2:45 ص

الدرس الثالث من دورة احتراف الفجوال بيسك 6 ( كتابة الكود وكيفية التعامل مهة )

ألسلام عليكم ورحمة الله وبركاته 
الدرس الثالث من دورة الفجوال بيسك السادس 

الدرس الثالث : الكــــــود و التعامــل معــه :


الكود هو الأمر الكتابي الذي سيقرأه الvb لكي ينفذه الجهاز بأوامر خاصة و كيفية و ضعه سهلة افتح الvb ثم ضع زر(مثلا) 
بالضغط على رمز Command و رسمه على الفورم(Form) ثم اانقر عليه نقر مزدوج باليساري أو انقر باليميني على ال Command ثم اختر View Code و ستظهر لك نافذه بيضاء تسمى نافذة الكود Code وفيها السطرين التاليين:
كود:
Private Sub Command1_Click()

End Sub
لاحظ اسم الCommadn1 ولا حظ إلى جانبه Click أي هذا الكود عندما يتم النقر عليه ..
بين هذين السطرين سنضع الكود و لاتقم بتعديل أي كلمة من هذين السطرين ولا حرف هذا من عمل المتقدمين والكود الذي نبدأ به عادة هو كود الإنهاء اكتب أو انسخ الكملة التالية ما بين السطرين 
وهو:
End
بحيث يصبح الكود كما يلي:
كود:
Private Sub Command1_Click()
End
End Sub
ولا تخف إذا كنت قد حذفت أحد الأسطر او الأحرف فقط اضغط على Ctrl +z لكي يتم التراجع عن آخر الخطوات أريأتم ذكاء الفيجوال و تستطيعون التراجع إلى عدد كبير من التراجعات و ليس مرة واحدة.
و الآن جرب البرنامج و انقر على الCommand 1 و لاحظ أغلق البرنامج هاهو أول أمر نكتبه قد عمل ..و الآن عد لنافذة الكود و لنكتب كود لا يفهمه الكود متقصدين ذلك لنرى ردة فعل الفيجوال..اكتب مثلا بدل كلمة End اكتب
Endo
و شغل البرنامج و انقر مرة أخرى على الComman1 ماذا حصل؟؟ لقد ظهر صندوق ‏نص يخبرك بأن مترجم الفيجوال لم يفهم ماذا كتبت أي أن الفيجوال لا يستطيع قراءة هذا الكود.. طيب اضغط على زر موافق لاحظ كيف أنه علم لك الخطأ بالون الأزرق و عنوان الكود باللون الأصف ..ألم أقل لك أن الفيجوال ذكي لقد كشف الخطأ و حدده لك طبعاً من المستحيل أن تجد الخطأ وحدك في برنامج يحوي مئات الأسطر مثلا..الآن احذف هذه الكلمة ثم عد ولكتب كلمة End ولا حظ كيف عاد البرنامج يعمل بشكل طبيعي ..
و الآن لنأخذ كود آخر مثل كود صندوق النص البسيط اكتب بين السطرين بدل كلمة End بجيث يصبح الكود بالشكل التالي:
كود:
Private Sub Command1_Click()
MsgBox ("Wellcome!!!")
End Sub
لاحظ صندوق النص في الفيجوال نسميه Msgbox اليس واضح من التسمية و كتبنا بين القوسبن () النص الذي نريده و في الفيجوال دائما عندما نريد كتابة نص نكتبه بين القوسين " " 
مثلا:"Wellcome "
و الآن جرب البرنامج ولا حظ النتيجة ..بعدها إذا حبيت تعدل على النص كما تريد أو تكتب حتى بالعربي ..
والآن لنتعرف على نوع آخر من الأحداث فالCommand قام بتنفيذ الكود بعد ان نقرنــا عليه ولكن مذا لو أردنا أن ينفذ الحدث عند المرور بالماوس فوقه أو بعد الانتهاء من النقر هذه هي مهمة الأحداث لا حظ في شاشة الكود من الأعلى يوجد قائمتين منسدلتين(Combo بلغة الفيجوال) الولى من أعلى اليسار وهي تقومبنقلك من كود عنصر إلى كود عنصر آخر مثلا من كود الCommand 1 إلى كود الCommand 2 و حتى للفورم و هناك قسم General وهو قسم التصريحات العامة ولكن هذا لا يهمنا الآن ..الآن انتقل للقامئة في الأعلى من اليمين و لاحظ ماكتب فيها ..Click-MuseMove-KeyPress.
الآن انتقل للحدث MouseMove و انقر عليه و لاحظ كيف تغير شكل الكود العام بدل:
كود:
Private Sub Command1_Click()

End Sub
إلى 
كود:
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub
(طبعا xو y وغيرها باراميترات لن نتعرض لها الآن..)
الآن ضع بين هذين السطرين الكود 

كود:
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox ("By Eias")
End Sub
نفهم الكود أليس كذلك.
هذه هي الاحداث و سأكتب هنا توضيح عنها:
Click : عند النقر.
DragDrop: عند الجر.
KeyPress: عند النقر من لوحة المفاتيح.
MouseDown: بعد الانتهاء من النقر بالماوس.
و الآن ضع Textعلى الفورم و انقر عليها مرتين للدخول إلى كودها و ها نحن نرى حدثاُ جديدا وهو:
Change: أي عند الكتابة فيها.
الآن انقر على الفورم Form نقرتين لأن للفورم أيضاُ كود ولاحظ ايضاً أحداث جديدة :
Load:أي عند التشغيل فور البدء.
Unload: عند إغلاق الفورم.
Resize: عند تغيير الحجم عن طريق الأطراف.
DblClick: نقر مزدوج.
Initialize: البدء ...و الباقي لا يهمنــا.
و اللآن لتجري الحدث Load في الفورم : 
ضع الكود في الحدث Form Load كما يلي :
كود:
Private Sub Form_Load()
MsgBox ("By Eias")
End Sub
ثم جرب البرنامج و لاحظ ..أنه عندما تفتح الفورم يبدأ الكود بالتنفيذ..

تطبيق الكود على العناصر:
ضع زر Command على الفورم و في الحدث Click(بعد أن تعرفنــا على الأحدثا سنتعامل معها بشكل دائم) 
اكتب Form1 ثم . أي نقطة فلاحظ قد ظهرت لك قائمة اقرءها ولاحظ أليس هذه الكلمات مؤلوفة نعم إنها خصائص الفورم و قد قلنـا سابقــا أنه يمكن تعديلها من الكود نفسه لا حظ ضع الكود التالي:
كود:
Private Sub Command1_Click()
Form1.Caption = " Wellcome"
End Sub
و الآن شغل البرنامج قد أخذنــا سابقا أن الCaption تدل على العنوان فعندما تنفذ الأمر ستلاحظ أن عنوان الفورم قد تغيير إلى كلمة Wellcome أو أي كلمة تكتبها في الكود حتى ولو بالعربي ..
الآن لنعود للكود ونفهمه أليس واضحا لنترجمه (الفورم2.عنوانها="أهـــلا") وكأنه يتكلم كلام عادي أليس سهل و كذلك الأمر مع الألوان...لنجرب تجربه أخرى...
أولا عليك معرفة رقم اللون....كيف ذلك؟؟
انسخ الرقم الموجود داخل اللون مثلا &H80000008& يدل على اللون الأسود والآن بعد أن اختر اللون المناسب اذهب للCommand و ضع الكود في الحدث Click على الشكل:
كود:
Private Sub Command1_Click()
Form1.BackColor = &H80000008
End Sub
و الآن أكيد أنكم بدأتم تفهموا هذه الأكواد وهي مجرد تحكم بالخصائص ..وعليكم الآن أن تحاولوا أن تكملو االكودات على حسب ما فهمتم فعدل على العنوان و اللون و الحجم Width و Height0.
الانتقال من فورم إلى أخرى:
سننتقل إلى كود آخر وهو كود النتقال إلى صفحة أخرى مثلا افتح مشروع جديد و أضف إلى اثنين Form.
وضع في الفورم الأولى زر Command و ضع فيه الكود التاليfrownفي مرحلة قادمة لن أكتب كل الكود و إنما محتواه فقط و لكم أنتم حرية وضعه في أي عنصر ):
كود:
Private Sub Command1_Click()
Form1.Hide
Form2.Show
End Sub
و جرب البرنامج و لاحظ واذا حصل لقد اختفت الفورم1 و ظهرت الفورم 2 ..لا حظوا الكود أليس واضحا 
حيث Hide تعني إخفاء و Show تعني إظهار و هذه ترجمة الكود
الفورم1.إخفاء
الفورم2.إظهار 
و النقطة . عنصر اساسي في كل كود لمعرفة المهمة والفصل بين العنصر و المهمة ..
والآن ماذا لو اردنا أن تظهر الفورم 2فقط دون إخفاء الفورم 1...لاحظ الكود:
كود:
Private Sub Command1_Click()
Form2.Show
End Sub
لاحظ الفورم 2 ظهرت ولم تختفي الفورم 1 (أنتم حتى الآن فهمانين علي 100% ولا هيك هيك الأكواد وضحة أليس كذلك و لا طريقة أخرى لتوضيحها أكثر من ذلك.) 
تطبيقات على الكود:
تطبيق 1:
أضف للمشروع Commadn وText وضع في الCommand الكود التالي(لن أحدد الحدث وتركت لك حرية الاختيار ضع الكود حيث تشاء):
كود:
Text1.Text = Time
حيث أن الكلمة Time هي دالة يتعرف عليها الفيجوال على أنها الوقت ...إما إذا أردت التاريخ استبدل الكلمة Time ب Date ..فيصبح الكود:
كود:
Text1.Text = Date
تطبيق 2:
تصميم برنامج حاسبة بدائية:
أضف للمشروع ثلاث عناصر Text أربعة عناصر Commadn و قم بتسميتها على أسماء العمليات الحسابية الأربعة ( جمع - طرح - ضرب - قسمة) وقم بتتريب هذه العناصر بشكل متناسق .. وستكون ال Text1و الText2 هما الذان سنكتب فيهما الرقمين المراد جمعهما أو ضربها ...و في الText3 سيكون ناتج العملية.
و الآن في الزر (جمع) ضع الكود : 
كود:
Text3.Text = Val(Text1.Text) + Val(Text2.Text)
حيث val تعني أخذ القيمة العددية فقط في الText وليس النص المجود فيها .. 
(ملاحظة : لا تكتب في الTextأي نص أكتب فقط أرقام لأنه غذا كتبت نص سيجدث خطأ و هذا يتطلب معالجة الأخطاء وهذا درس آخر..)
وفي الزر (طرح ) ضع الكود التالي:
كود:
Text3.Text = Val(Text1.Text) - Val(Text2.Text)
لاحظ استبدلنا إشارة ال + ب - فحصلنا على عملية الطرح سهل اليس كذلك.. 
و الآن في زر (الضرب) ضع الكود :
كود:
Text3.Text = Val(Text1.Text) * Val(Text2.Text)
فقط استبدلنا ال+ ب * .
و في الزر (قسمة) ضع الكود :
كود:
Text3.Text = Val(Text1.Text) / Val(Text2.Text)
و الآن جرب البرنامج و قم بإدخال عددين وجرب العمليات الأربعة ..ها قد صممنا حاسبة.
وحتى هنــا يكفي الدرس صار طويل ولكنه مفيد جدا و اهم شيء دوما حاول تفهم الكودو لكن أنا حتى الآن لم اعلم مستوى تقدمكم وتفاعلكم مع الدروس لذلك حبذا لو تقرير بسيط يكتب ماواجهه من صعوبات و ما تعلمه من أشياء...حتى اعلم كيف سنتعامل مع الدروس القادمة..وشكرا .

0 التعليقات:

إرسال تعليق