دروس دورة برنامج الفجوال بيسك 6 من إعداد الأستاذ خليل إبراهيم عبد الله
|
درس عمل مسابقة تعليمية بسيطة |
|
نريد تنفيذ مسابقة تقوم باختبار قدرة معرفة أرقام تقبل القسمة و يحسب عدد الإجابات الصحيحة و الخاطئة |
قم بفتح مشروع جديد و أدرج فيه الأدوات لتحصل على شكل مثل التالي أو حسبما ترغب:

قم بتغيير التسمية لتصبح بالشكل التالي :

قم بتنشيط الأزرار التسعة (بدون سؤال جديد ) و قم بتغيير خاصية Enabled للأزرار إلى False
جرب تشغيل البرنامج يفترض انه بهذا الشكل :

الآن يجب أن نفكر في الكود
الكود الأول في General :
يجب كتابة كود يقوم بكتابة أرقام عشوائية صحيحة في الأزرار الثمانية فنحتاج إلى ثمانية متغيرات و هي لجلب أرقام عشوائية صحيحة و أيضا نحتاج أن تكون هذه المتغيرات محفوظة في ذاكرة الكمبيوتر فيجب أن نعرفها في General اضغط ضغطا مزدوج و ثم اختر General أو قم بما يلي اضغط ضغطا مزدوجا على الفورم ثم اذهب لأعلى جملة Private Sub Form_Load() و اكتب الشفرة التالية فوقعه:
|
Dim a1, a2, a3, a4, a5, a6, a7, a8 As Integer |
هذا معناه أننا قمنا بتعريف ثمانية متغيرات من النوع الرقمي أسماء المتغيرات هي a1, a2, a3, a4, a5, a6, a7, a8
الكود الثاني في زر سؤال جديد :
هنا نعطيه شفرة يقوم بجلب 8 أرقام عشوائية صحيحة و يكتبها في الأزرار و هو التالي قم بالضغط المزدوج لكتابة الكود في سؤال جديد :
|
Private Sub Command10_Click() |
|
الجــــــــــملة |
المــــــــــــــــــــــــــــــــــــــــعنى |
| Randomize | هذه تفيد عدم تكرار الرقم العشوائي |
| Command1.Enabled = True | لتفعيل تشغيل الزر |
| Command2.Enabled = True | لتفعيل تشغيل الزر |
| Command3.Enabled = True | لتفعيل تشغيل الزر |
| Command4.Enabled = True | لتفعيل تشغيل الزر |
| Command5.Enabled = True | لتفعيل تشغيل الزر |
| Command6.Enabled = True | لتفعيل تشغيل الزر |
| Command7.Enabled = True | لتفعيل تشغيل الزر |
| Command8.Enabled = True | لتفعيل تشغيل الزر |
| Command9.Enabled = True | لتفعيل تشغيل الزر |
|
a1 = Int(Rnd * 101) |
المتغير قيمته رقم عشوائي صحيح اقل من 101 |
|
a2 = Int(Rnd * 101) |
المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a3 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a4 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a5 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a6 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a7 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| a8 = Int(Rnd * 101) | المتغير قيمته رقم عشوائي صحيح اقل من 101 |
| Command1.Caption = a1 | الكتابة بداخل الزر الأول و جعل قيمته قيمة المتغير الأول a1 |
| Command2.Caption = a2 | الكتابة بداخل الزر الثاني و جعل قيمته قيمة المتغير الأول a2 |
| Command3.Caption = a3 | الكتابة بداخل الزر الثالث و جعل قيمته قيمة المتغير الأول a3 |
| Command4.Caption = a4 | الكتابة بداخل الزر الرابع و جعل قيمته قيمة المتغير الأول a4 |
| Command5.Caption = a5 | الكتابة بداخل الزر الخامس و جعل قيمته قيمة المتغير الأول a5 |
| Command6.Caption = a6 | الكتابة بداخل الزر السادس و جعل قيمته قيمة المتغير الأول a6 |
| Command7.Caption = a7 | الكتابة بداخل الزر السابع و جعل قيمته قيمة المتغير الأول a7 |
| Command8.Caption = a8 | الكتابة بداخل الزر الثامن و جعل قيمته قيمة المتغير الأول a8 |
الكود الثالث في الزر Command1 :
اضغط ضغطا مزدوجا على الزر Command1 و اكتب ما يلي :
|
Private Sub Command1_Click() |
|
الجــــــــــملة |
المــــــــــــــــــــــــــــــــــــــــعنى |
|
If a1 Mod 2 = 0 Then |
إذا كان قيمة باقي قسمة المتغير a1 على 2 تساوي 0 فإن . |
| Label4 = Val(Label4.Caption) + 1 | يتم تنفيذ هذه الجملة إذا تحقق الشرط السابق و هي تجمع درجة إجابة صحيحة أي يجمع 1على الدرجة الموجودة في الليبل الرابع المخصص لعدد الإجابات الصحيحة . |
| Else | معناها و إلا و يقصد بها في حال عدم تنفيذ الشرط ينفذ الشرط الذي تحت . |
| Label3 = Val(Label3.Caption) + 1 | يتم تنفيذ هذه الجملة إذا لم تحقق الشرط السابق و هي تجمع درجة إجابة خاطئة أي يجمع 1 على الدرجة الموجودة في الليبل الثالث المخصص لعدد الإجابات الخاطئة . |
| End If | جملة إجبارية لإنهاء جملة الشرط معناها إنهاء جملة الشرط |
| Command1.Enabled = False | لإلغاء تشغيل الزر مرة أخرى . |
كرر الكود السابق في الأزرار الباقية ليكون بالشكل التالي :
|
Private Sub Command2_Click()
|
الكود الثالث في الزر Command9 المكتوب عليه لا توجد أرقام :
اضغط ضغطا مزدوجا على الزر Command9 و اكتب ما يلي :
|
Private Sub Command9_Click() |
و هذا شرح للكود
|
المعنى |
الجملة |
|
تعريف متغير اسمه a من النوع الرقمي فائدته لحساب عدد الإجابات الصحيحة أي الأرقام التي لم يخترها المستخدم سهوا مثلا. |
Dim a As Integer |
|
هنا جملة شرطية إذا كان الزرCommand1 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a1 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي 1 |
If Command1.Enabled = True Then If a1 Mod 2 = 0 Then a = 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand2 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a2 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command2.Enabled = True Then If a2 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand3 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a3 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command3.Enabled = True Then If a3 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand4 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a4 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command4.Enabled = True Then If a4 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand5 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a5 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command5.Enabled = True Then If a5 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand6 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a6 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command6.Enabled = True Then If a6 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand7 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a7 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command7.Enabled = True Then If a7 Mod 2 = 0 Then a = a + 1 End If |
|
هنا جملة شرطية إذا كان الزرCommand8 مفعل ينفذ الشرط إذا كان باقي قسمة المتغير a8 مقسوما على 2 يساوي صفر فإنه يجعل قيمة المتغير a تساوي مجموع قيمة المتغير a السابقة و نضيف عليها 1 |
If Command8.Enabled = True Then If a8 Mod 2 = 0 Then a = a + 1 End If |
| هنا جملة شرطية إذا المتغير a أكبر من 0 أي إذا وجد زر لم يختاره المستخدم. | If a > 0 Then |
| يرسل مسج اكتشف أعداد أخرى ، حاول مرة أخرى و جملة vbOKOnly الرسالة بها زر OK و الجملة رسالة البرنامج هي عنوان الرسالة . | showmsg = MsgBox("اكتشف أعداد أخرى ، حاول مرة أخرى", vbOKOnly, "رسالة البرنامج") |
| جعل قيمة Label3 تساوي أن يحول قيمة Label3 السابقة إلى رقم و يجمع عليه 1 . اي يزيد إجابة خاطئة | Label3 = Val(Label3.Caption) + 1 |
| معنها إذا لم يتنفذ الشرط السابق و هو a > 0 ينفذ الجمل التي بالسطر الذي تحت Else . | Else |
| جعل قيمة Label4 تساوي أن يحول قيمة Label4 السابقة إلى رقم و يجمع عليه 1 .أي يزيد إجابة صحيحة . | Label4 = Val(Label4.Caption) + 1 |
|
يلغي تفعيل الزر الأول أي لا يمكن أن يضغط عليه المستخدم و بالمثل لباقي الأزرار |
Command1.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False Command5.Enabled = False Command6.Enabled = False Command7.Enabled = False Command8.Enabled = False Command9.Enabled = False |
| يفعل زر سؤال جديد | Command10.Enabled = True |
| رسل مسج ممتاز لقد أجبت عن جميع الأعداد و جملة vbOKOnly الرسالة بها زر OK و الجملة رسالة البرنامج هي عنوان الرسالة . | showmsg = MsgBox("ممتاز لقد أجبت عن جميع الأعداد", vbOKOnly, "رسالة البرنامج") |
| ينهي جملة الشرط و هي إجبارية إذا تعددت الأسطر | End If |
هكذا اكتمل البرنامج و سنعمل على تطويره إنشاء الله .
المطلوب الآن : تصميم البرنامج السابق مع تنسيقه بشكل جميل و كتابة اسم الصانع عليه
|
حقوق الطبع محفوظة لجزيرة الرياضيات@2006 |