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

مشاهدة النسخة كاملة : دروس vb 2008 Step by Step : الدرس الحادي عشر


محمد
09-27-2008, 12:48 AM
الدرس الحادي عشر
رقم الدرس: vbdotnet2008sbsl0011

نواصل شرح المصطلحات

الكلاس (Class):
الكلاس أو القالب عبارة عن قالب لكائن أو أكثر والذي يحدد فيه ماذا يفعل هذا الكائن. وعليه فالكلاس أو القالب يحدد ماذا يجب أن يفعل الكائن وليس الكائن نفسه. في الفيجوال بيسك 2008 تستطيع استخدام القوالب الموجودة ضمن بيئة التطوير مثل System.Math أو System.Windows.Forms.Form لبناء قوالبك الخاصة ووراثة الخصائص والطرق Methods والأحداث من القوالب المذكورة (الوراثة تسمح للقالب الذي تنشئة بأخذ الخصائص وطريقة التعامل من قالب Class أخر موجود مسبقاً). في الفصلين 5 و 16 سوف تعرف أكثر عن الكلاس.

مجالات الأسماء (Namespaces) :

مجالات الأسماء (فضاءات الأسماء) عبارة عن مكتبات أو قوالب Classes مرتبة تحت اسم معين مثل System.Windows أو System.Diagnostics لتصل إلى هذه الفئات (Classes) لابد أن تكتب Imports في أعلى الفورم متبوعا باسم مجال الأسماء المحدد. للمزيد انظر الفصل الخامس.

الخصائص (Property)

الخاصية هي عبارة عن قيمة معينة محمولة بواسطة كائن معين. فمثلاً الزر Button لدية خاصية النص Text هذه الخاصية تحدد ما هو النص المكتوب في الزر. وكذلك الخاصية Image والتي تحدد مسار الصورة التي على الزر. في فيجوال بيسك تستطيع من تغيير الخصائص وقت التصميم بسهولة من نافذة الخصائص وكذلك يمكنك تغيير الخصائص وقت تنفيذ البرنامج بواسطة الكود، القاعدة العامة لتغيير الخاصية كالتالي:




Object.Property = Value


وهي: الكائن.الخاصية = قيمة الخاصية
فمثلاً يمكن تغيير خاصية النص في الكائن الزر كالتالي:



Button1.Text = “Hello”


فالكائن هو Button1 والذي هو الزر والخاصية هي Text والتي هي النص والقيمة هي النص Hello.

الأحداث (Event Procedure):

الأحداث هي عبارة عن كود معين يتم تنفيذه عندما تتم معالجة كائن ما في البرنامج فإذا لدينا الزر Button1 فالحدث Click يحدد ماذا يقوم البرنامج بتنفيذه في حالة النقر على الزر. تستطيع كتابة أوامر معينة لتغيير بعض الخصائص في البرنامج وكذلك لتنفيذ أوامر معينة في البرنامج.

الطرق (Methods):

الطرق Methods هي عبارة عن أوامر برمجية معينة لتقوم ببعض الأعمال أو تنفذ خدمات معينة لكائن معين في داخل البرنامج. الكود سيكون كالتالي:

رمز:
Object.Method(Value)

كائن.طريقة(قيمة للطريقة) كالمثال التالي:

رمز:
ListBox1.Items.Add(“Books”)

في الكود أعلاه استخدمنا الطريقة Add ومعناها أضف (فعل أمر) كلمة Books إلى البنود الخاصة بالكائن ListBox1 (القائمة).
يوجد بعض التقارب بين الخصائص Properties والطرق Methods ولكننا نستطيع أن نفرق بينهما بواسطة مكانهما في الكود البرمجي. و الأمثلة أعلاه توضح ما تكلمنا عنه وسوف تعرف أكثر عن الطرق والخصائص خلال الفصول من الأول إلى الخامس.

أدوات لجلب المدخلات من المستخدم
تقدم بيئة الفيجوال بيسك العديد من الأدوات لجلب المدخلات من مستخدم البرنامج صناديق النص TextBox، القوائم Menus تقوم باستقبال المدخلات بواسطة النقر عليها بالماوس أو باختيارها بواسطة الكيبورد. صناديق الحوار وسيلة من وسائل اخذ المدخلات من المستخدم هناك العديد من الأدوات الأخرى التي سوف نعرف عنها لاحقاً منها RadioButton، CheckBox، ListBox، ComboBox. هذه الأدوات وغيرها من أدوات بيئة التطوير تقوم بأخذ المدخلات من المستخدم فمثلاً الـ RadioButton قد يوكل إليها معرفة ما إذا كان الشخص ذكراً أو أنثى. أما الـ CheckBox فنستخدمها في حالة إذا ما أردنا من المستخدم اختيار أكثر من خيار فمثلا نريد من المستخدم اختيار الأحجار الكريمة التي يحبها بعض المستخدمين سيختار العقيق والزمرد والبعض الأخر سيختار العقيق واللؤلؤ والبعض الآخر سيختار اللؤلؤ والمرجان والزبرجد. الأداة ListBox تتيح لك اختيار أكثر من خيار بطريقة التظليل واستخدام الزر Ctrl. الـ ComboBox يتيح لك اختيار واحد ولكن من قائمة منسدلة من الخيارات والاقتراحات. سوف تتعرف أكثر على هذه المكونات والأدوات في المستقبل وسنقوم بتصميم برنامج يحتوى على معظمها. الآن سنقوم بتصميم برنامج يحتوي على المكون CheckBox:

قم بإنشاء مشروع جديد وقم بتسميته MyCheckBox، بعد ظهور الفورم قم بإضافة المكون CheckBox إلى الفورم (قم بإضافة اثنين من الـ CheckBox) واجعل احدهما فوق الآخر ثم أضف اثنين صناديق للصور PictureBox، وبعد ذلك قم بتعديل بعض الخصائص للمكونات التالية كالتالي:

الكائن : Form1 الخاصية RightToLift التعديل اللازم Yes
الخاصية أعلاه تجعل الفورم يظهر من اليمين إلى اليسار، وتذكر دائماً إن قابلية الوراثة الموجودة ضمن بيئة الفيجوال بيسك تنقل لك بعض الخصائص (مثل الخاصية أعلاه من الفورم إلي بقية المكونات المتواجدة ضمن الفورم) وعليه فجميع المكونات التي ستكون داخل الفورم سترث الخاصية من اليمين إلى اليسار ولا نحتاج لتغيير هذه الخاصية لكل مكون على حده. تحويل اتجاه الفورم من اليمين إلى اليسار يفيدنا في حالة برمجة التطبيقات ذات الواجهة العربية، حيث قد ألف المستخدمون العرب على البرامج ذات الواجهة العربية.
الجدول التالي يوضح الكائنات المراده مع خصائصها والاعدات اللازمة لها:

http://www.cars-club.com/up/8-2-1/carsclub_14822038.png

بعد إضافة المكونات وتعديل الخصائص المطلوبة سيظهر لك الفورم بالشكل التالي:

http://www.cars-club.com/up/8-2-1/carsclub_15049716.png

الآن هل تستطيع أن تعرف ماذا نريد من البرنامج، نريد من البرنامج في حالة تأشير خانة الآلة الحاسبة إظهار الآلة الحاسبة وفي حالة تأشير آلة التصوير إظهار آلة التصوير. طبعا في الحالة الطبيعية (أي بعد تشغيل البرنامج سيتكون خانة الآلة الحاسبة مؤشرة وعلية فستكون صورة الآلة الحاسبة ظاهرة أما خانة آلة التصوير (تذكر أننا جعلناها مؤشرة في الحالة العادية عند تعديل خصائص المكونات) فلن تكون مؤشرة وعلية فصورة آلة التصوير لن تكون ظاهره). عرفنا كيف سيكون البرنامج في الحالة العادية ولكن كيف سيكون في حالة تأشير خانة الآلة الحاسبة أو خانة آلة التصوير هذا لابد أن نجيب عنه في مرحلة الكود: (ستلاحظ تكرار بعض التعليمات أكثر من مرة بين هذا الفصل والفصل السابق لكن في حالة إذا ما كنت مبتدأ فهذا سيعطيك معلومات إضافية)

مرحلة الكود:
اضغط Double-Click على CheckBox1واكتب الكود التالي(ستلاحظ إن بيئة التطوير تنقلك إلى الحدث CheckedChanged التابع لـ CheckBox1 ):




' طبعا القيمة 1 تعني ان الخانة مؤشرة القيمة 0 تعني ان الخانة غير مؤشرة ' الكود في الاسفل يقول اذا كانة الخانة مؤشرة فقم بالتالي If CheckBox1.CheckState = 1 Then ' هذه هي الاوامر التي ينفذها البرنامج في حالة صحة الشرط اعلاه ' قم بإظهار الصورة الموجودة ضمن المسار المحدد ' مسار الصورة قد يختلف في جهازك عن المسار الموجود ' في جهازي لذلك تنبة وقم بكتابة المسار الصحيح للصورة PictureBox1.Image = System.Drawing.Image.FromFile _ ("C:\Documents and Settings\Administrator\Desktop\vbsbs\005\calc.jpg") 'الامر السابق كان لتحميل الصورة في صندوق الصورة ' اما الامر التالي فهو لاظهار الصورة المحملة في صندوق الصورة لانها قد تكون مخفية PictureBox1.Visible = True ' تنبه للامر الموجود في السطر التالي فهو احد اهم الاوامر الشرطية ' الامر التالي معناه كل شي غير ماسبق ' اي اذا صادفتك أي أي أي أي أي حالة ليست كالحالة او كاحالات السابقة فقم بالتالي Else 'إخفاء الصورة في صندوق الصورة PictureBox1.Visible = False End If End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If CheckBox2.CheckState = 1 Then PictureBox2.Image = System.Drawing.Image.FromFile _ ("C:\Documents and Settings\Administrator\Desktop\vbsbs\005\copier.jp g") PictureBox2.Visible = True Else PictureBox2.Visible = False End If

انظر توجد سطور خضراء ضمن الكود هذه السطور للتذكير فقط ولا تدخل ضمن عملية معالجة الكود، والدليل على ذلك وجود الحرف ' في أول السطر. ثم ننقر Double-Click على الـ CheckBox2 ونكتب الكود التالي:




If CheckBox2.CheckState = 1 Then ' تأكد من المسار التابع للصورة في جهازك وقم بتغييره اذا لزم الامر PictureBox2.Image = System.Drawing.Image.FromFile _ ("C:\Documents and Settings\Administrator\Desktop\vbsbs\005\copier.jp g") PictureBox2.Visible = True Else PictureBox2.Visible = False End If




قم بالنقر Double-Click على الفورم سينقلك مباشرة إلى الحدث Load التابع للفورم قم بكتابة الكود التالي لإخفاء صورة آلة التصوير في الحالة الطبيعية (لحظة تشغيل البرنامج):



PictureBox2.Visible = False



قم بتشغيل البرنامج بالضغط على F5 وقم بتأشير خانة الآلة الحاسبة والعكس ولاحظ ظهور واختفاء الآلة الحاسبة.

ملاحظة: ستجد نسخة من المشروع أعلاه مع المرفقات في المجلد رقم 005

في المثال أعلاه تعرفت على احد أنواع استقبال المدخلات من المستخدم فعندما يقوم المستخدم بتأشير الخانات فهو يقوم في ذلك الوقت بإرسال مدخلات إلى برنامجك، هل تتذكر يوم تسجيك في احد المنتديات حينما طلب منك المنتدى تحديد ما إذا كنت ترغب باستقبال رسائل من الأعضاء في المنتدى، تأشيرك لذلك المربع يعني قبولك استقبال رسائل من أعضاء المنتدى ويعتبر نوع من أنواع الحصول على المدخلات من المستخدم.