دروس دورة برنامج الفجوال بيسك 6 من إعداد الأستاذ خليل إبراهيم عبد الله

درس عمل بطاقات خاطفة لكسور

قم بفتح مشروع جديد و أدرج فيه الأدوات التالية Command1-Shape1-Shape2-Shape3-Shape4-Shape5-Shape6-Shape7-Shape8-Shape9-Shape10  اجعلهم مثل التالي:

نريد تنفيذ كود يقوم بتلوين عدد عدد معين عشوائي من المربعات طبعا اقل من 11 لان إذا لون 10 يكون واحد و إذا لم يلون يكون صفر

المسؤول عن التلوين هي خاصية BackColor  إلى لون تحدده  و تكتب هكذا :

Shape1.BackColor = &H8000000D

و هذا &H8000000D  لون الأزرق لكن كيف تعرفه أو تجيب لونه ؟ قم بما يلي :

اختر لون تريده من الخصائص بتغيير أي خاصية لها لون

ثم قم بالضغط على أرقام اللون بزر اليمين للماوس و اختيار Select All

سيتظلل أرقام و حروف اللون

ثم قم بالضغط على أرقام اللون بزر اليمين للماوس و اختيار Copy

ثم قم بلصقه في الرقم في الكود بالضغط بزر اليمين للماوس و ثم اختيار Paste

و سيكون الكود كالتالي :

Shape1.BackColor = &HFF0000

والآن لنفكر كيف نعمل الكود

المفروض أن اربط رقم عشوائي بهذه الأشكال حيث أولا أولد رقم عشوائي صحيح اقل من 10 لأن ثم أعطيه شفرة تقول له إذا الرقم 0 اظهر الشكل الأول و اجعل الأشكال التي بعدها بيضاء  و إذا 1 يظهر الشكل الثاني و اجعل الأشكال الباقية بيضاء هكذا

قم بالضغط المزدوج على الزر Command1 ثم اكتب الشفرة التالية  :

Private Sub Command1_Click()


Dim a As Integer
Randomize
a = Int(Rnd * 10)
If a = 0 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &H80000004
Shape3.BackColor = &H80000004
Shape4.BackColor = &H80000004
Shape5.BackColor = &H80000004
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 1 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &H80000004
Shape4.BackColor = &H80000004
Shape5.BackColor = &H80000004
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 2 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &H80000004
Shape5.BackColor = &H80000004
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 3 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &H80000004
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 4 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 5 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &HFF0000
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 6 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &HFF0000
Shape7.BackColor = &HFF0000
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 7 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &HFF0000
Shape7.BackColor = &HFF0000
Shape8.BackColor = &HFF0000
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 8 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &HFF0000
Shape7.BackColor = &HFF0000
Shape8.BackColor = &HFF0000
Shape9.BackColor = &HFF0000
Shape10.BackColor = &H80000004
ElseIf a = 9 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &HFF0000
Shape3.BackColor = &HFF0000
Shape4.BackColor = &HFF0000
Shape5.BackColor = &HFF0000
Shape6.BackColor = &HFF0000
Shape7.BackColor = &HFF0000
Shape8.BackColor = &HFF0000
Shape9.BackColor = &HFF0000
Shape10.BackColor = &HFF0000
End If

End Sub

 و سنقوم بشرح الشفرة

Dim a As Integer
Randomize
a = Int(Rnd * 10)

السطر الأول عرفنا متغير a من النوع الرقمي

السطر الثاني هو لكي لا يتكرر الرقم بشكل منتظم

السطر الثالث جعلنا قيمة a هو يأخذ رقم عشوائي عشري و يضرب في 10 - أي سينتج أرقام من 0-9 أي عشرة أعداد - و ثم نحذف أرقامها العشرية لينتج عدد صحيح فقط بدالة Int .

الشفرة التي بعدها :

If a = 0 Then
Shape1.BackColor = &HFF0000
Shape2.BackColor = &H80000004
Shape3.BackColor = &H80000004
Shape4.BackColor = &H80000004
Shape5.BackColor = &H80000004
Shape6.BackColor = &H80000004
Shape7.BackColor = &H80000004
Shape8.BackColor = &H80000004
Shape9.BackColor = &H80000004
Shape10.BackColor = &H80000004
ElseIf a = 1 Then

 السطر الأول قلنا له شرط بكلمة If قلنا له إذا a ساوت 0 قم بما يلي

السطر الثاني غير لون خلفية الشكل الأول إلى الأزرق حيث (&HFF0000) تعني اللون الأزرق.

و من السطر الثالث إلى من قبل السطر الأخير يخير لون الخلفية إلى اللون الأبيض &H80000004 .

و السطر الأخير إذا كانت a تساوي 1 إذن نفذ الأوامر التي بعدها

و بالمثل مثل الشفرة السابقة يقوم بتلوين الشكلين الأوليين و يلون الباقي باللون الأبيض .

 

و هكذا إلى السطر الأخير و هو مهم و هي جملة End If  أي إنهاء الشرط و إذا نسيها المبرمج لن يعمل البرنامج .

 

المطلوب الآن :  تصميم البرنامج السابق مع تنسيقه بشكل جميل و كتابة اسم الصانع عليه

 

حقوق الطبع محفوظة لجزيرة الرياضيات@2006