الدرس الرابع
جمل برمجية
--------------------------------------------------------------------------------
في هذا الدرس دعنا نتعلم بعض الجمل الهامة و التي لا يخلو أي برنامج منها، و سوف أختص في هذا الدرس بذكر 5 جمل فقط، و لكن تعتبر هي أهم الجمل.
جملة If الشرطية
الصيغة العامة :
If ... Then
....
Else
....
End if
تستخدم هذه الجملة عادة إذا أردت التأكد من حدوث شيء ما، فمثلا تعمل برنامج للجمع، بحيث يظهر للمستخدم عددين، و يطلب من المستخدم القيام بعملية جمع، لنفرض بأن العددين هما 5 و 3، فتطلب من المستخدم إدخال الجواب في TextBox و عند الضغط على الزر تقوم بإخبار الحاسوب بالتأكد من الجواب، فكأنك تخبره: إذا كان الجواب الموجود في TextBox يساوي 8 إذا قم بكذا و كذا. غير ذلك أي إذا كان الجواب لا يساوي 8 قم بعمل كذا و كذا، و مثل كل لغات البرمجة، يجب إنهاء الأمر في نهايته فتقول End If.
و بالطبع سوف أقوم بتقديم أمثلة على هذه الجملة في الدروس القادمة.
جملة For Loop
الصيغة العامة:
For i = البداية to النهاية step عدد القفزات
....
Next i
تستخدم هذه الجملة إذا أردت من الحاسوب القيام بتكرار أمر معين. مثال: إذا رغبت في إخباره بأن يقوم بجمع العدد 1 إلى الأعداد من 1 إلى 10، إذا لم تستخدم هذه الجملة فإنك ستضطر لجمع 1 مع 1 ثم 1 مع 2...إلخ و بالطبع فإن هذا الشيء متعب و طويل، لذلك تمت الإستعانة بجملة For Loop للتكرار. فتقوم بكتابتها بالشكل التالي:
For i = 1 to 10 step 1
Label1.Caption = 1 + i
Next i
دعنا نتتبع البرنامج، في البداية سوف يبدأ من الرقم 1 إلى الرقم 10 و سيقوم بالقفز بعد كل مرة بمقدار 1، أي أن الآن قيمة i تكون 1 أما في المرة القادمة فتكون 2 و المرة التي تليها تكون 3 ...إلخ حتى تصل إلى العدد 10 تقف عملية الزيادة، ثم يقوم بإضافة آخر قيمة لi إلى العدد 1 و يطبع النتيجة في Label1 التي يجب عليك وضعها قبل البدء في البرمجة.
بالطبع كان هذا مثال بسيط، و لكن لها استخدامات أوسع و أكبر من هذا الإستخدام.
جملة Select Case
دعنا نعود إلى المثال الأول الموجود على جملة If الشرطية، فكما ذكرت بأنني طلبت من الحاسوب بالتحقق من الجواب فإذا كان 8 يقوم بعمل شيء معين، أما إذا كان غير ذلك فيقوم بعمل شيء آخر. لكن ماذا إذا أردت أن يقوم الحاسوب بالتحقق من الحل فإن كان 8 يقوم بتنفيذ أمر معين، أما إذا كان 7 يقوم بتنفيذ أمر آخر و إذا كان 9 يقوم بتنفيذ أمر آخر... و هكذا، فكر كم جملة If سوف يحتاج هذا البرنامج! لذلك تم إيجاد جملة أسهل و هي Select Case. الصيغة العامة:
Select Case متغير
Case الحالة الأولى
...
Case الحالة الثانية
...
Case الحالة الثالثة
...
End Select
بالطبع هذه أقصر، كما تستطيع وضع أكثر من 3 حالات كما استخدمت في المثال السابق.
Message Box أو مربع الحوار
قد ترغب أحيانا بوضع رسالة تنبه المستخدم لأمر ما، و التي نراها في معظم برامج Microsoft مثل Word، فمثلا عند الخروج من البرنامج، يقوم بإظهار رسالة تسألك إذا كنت متأكد من أنك تريد الخروج من البرنامج أو التراجع، هذا الشيء ممكن عمله بطريقتين الأولى أعتقد بأنها خطرت في فكرك الآن و هي تصميم فورم آخر، و عند الضغط على زر الخروج يقوم بإظهار الفورم الثاني، عن طريق إدخال الجمل التالية في برمجة زر الخروج.
Private Sub Command1_Click()
Load Form2
Form2.Show
End Sub
تقوم هذه الجمل باستدعاء الفورم الثاني من ذاكرة الحاسوب ثم إظهاره على الشاشة. و بالطبع تكون قد وضعت في الفورم الثاني التصميم الذي تريده مثل وضع Label تسأل فيها المستخدم إذا كان متأكد من الخروج أم لا، ثم وضع زرين الأول موافق و الآخر إلغاء الأمر، تكون برمجته بالشكل التالي (على اعتبار أن زر موافق هو Command1 و زر إلغاء الأمر هو Command2)
Private Sub Command1_Click()
End
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
ولكن تم إيجاد طريقة أخرى أسهل من عمل فورم ثاني، و التغلب ببرمجته. و هي الMessageBox، لنرى كيفية كتابتها.
لنفرض أننا وضعنا زر Command1 في الفورم و عند الضغط عليه يقوم بإظهار مربع حوار ليسأل المستخدم إذا كان يريد الخروج فعلا أو يريد التراجع.
Private Sub Command1_Click()
d = MsgBox("هل ترغب بالخروج من البرنامج؟",vbYesNo + vbInformation,"تنبيه")
Select Case d
Case vbYes
End
End Select
End Sub
سوف أقوم بشرح الكود الماضي، و هو كالتالي:
في البداية قمت بإعطاء المتغير d قيمة معينة، و هي قيمة الMsgBox التي سوف يظهر بها جملة تسأل المستخدم إذا كان يرغب بالخروج أو لا، و بعد الفاصلة، تختار الأزرار التي تريدها، و قمت باختيار زرين هما Yes و No و بعد علامة الجمع قمت بإضافة صورة توضيحية، موجودة أصلا في البرنامج، أما كلمة تنبيه، فهي تدل على عنوان الصندوق الذي يظهر.
ثم قمت باسخدام جملة Select Case التي شرحتها قبل قليل، أي أنه سوف يبحث في قيمة المتغير d فإذا كانت قيمتها Yes سوف يقوم بإنهاء البرنامج، ثم قمت بإغلاق الجمل المستخدمة.
Input Box مربع الإدخال
تعمل هذه الجملة على الطلب من المستخدم بإدخال نص معين.
فمثلا إذا أردت الطلب من المستخدم إدخال اسمه ثم وضع رسالة ترحيب للمستخدم في Label1 نقوم بكتابة الكود التالي:
Private Sub Form1_Load
d = InputBox("ادخل اسمك","تنبيه","")
Label1.Caption = "أهلا بك يا" + d
End Sub
أرجو أن أكون قد وفقت في شرح هذا الدرس الطويل و المهم، و إن شاء الله في الدرس القادم سوف نبدأ بالأمثلة التي ستساعدك بكل تأكيد