الدرس الخامس: الجمل الشرطية
لا شك أن جميع المبرمجين يدركون أهمية الجمل الشرطية في بناء شيفرة البرنامج أو النص البرمجي، وعلى الأخص الجملة ذات البادئة IF … وكثيرا ما نصادف الألغاز التي تتمحور فكرتها حول تنفيذ مهمة معينة دون الاعتماد على الجمل الشرطية، وهذا ما
يقودنا إلى أهمية هذه الجمل في تكوين الشيفرات …
المعاملات Operators :
المعاملات هي رموز تستخدم للربط بين تعبيرين أو أجزاء عمليه حسابيه بينهما، وتم
التطرق لها هنا نظرا لارتباطها الوثيق بموضوع الجمل الشرطية،ونستطيع تقسيم
المعاملات في لغة VBScript إلى ثلاث أقسام.
المعاملات الحسابية:
وهي رموز العمليات الرياضية وهي كالتالي:
معاملات المقارنة:
وتستخدم مع العمليات الرياضية وهي كالتالي: (ملاحظة الأمثلة ستجدها مدمجة مع أمثلة
المعاملات المنطقية والتي سنتطرق لها بعد قليل)
المعاملات المنطقية:
تستخدم المعاملات المنطقية لإيجاد نتيجة تعبير ... هل هي صحيحة أم خاطئة.. وفيما
يلي المعاملات المنطقية التي تحويها لغة VBScript مع أمثلة لكل معامل...
ملاحظة:في جميع الأمثلة التالية افترض اننا قمنا باسناد القيم إلى المتغيرين A وB
على الشكل التالي.
A = 5
B = 4

الجملة الشرطية If …. Then
تستخدم الجمل الشرطية لتنفيذ أمر معين عند تحقق شرط ما والصيغة العامة للجملة IF
السابقة هي كالتالي:
شفرة برمجية :
If (شرط)
Then (الأمر الذي سيتحقق في حال كون الشرط السابق صحيحا) |
وهذا مثال على استعمال التركيب السابق للجملة If
شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 100 Then
msgbox "هذا الرقم اكبر من 100" |
إذا تغاضينا عن تفاهة المثال لأننا هنا في موطن التعلم ولكن سنتطرق لأمثلة أكثر
تقدما في المستقبل …
سنجد أن المثال السابق يحتوي على الشرط Num > 100 فإذا تحقق الشرط فإن البرنامج
سيظهر مربع رسالة تفيد بان الرقم المدخل أكبر من 100.
الجملة If …. Then…. Else
لاحظت في المثال السابق أنه سيتم إظهار رسالة إذا كان الرقم أكبر من 100 ولكنه لن
يحصل شيئا إذا كان عدا ذلك، في الجملة If …. Then…. Else سوف تستطيع إظهار رسالة
أخرى إذا كان الرقم أصغر من أو يساوي 100 وذلك من خلال الجزء الذي أضفناه والمسمى
Else وهذه هي الصيغة العامة للجملة السابقة:
شفرة برمجية :
If (شرط)
Then
(الأمر الذي سيتحقق في حال كون الشرط السابق صحيحا)
Else
(الأمر الذي سيتحقق في حال كون الشرط السابق خاطئا)
End If |
والآن لاحظ التعديل على المثال السابق
شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 100 Then
Msgbox "هذا الرقم اكبر من 100"
Else
Msgbox "هذا الرقم اصغر من أو يساوي 100"
End If |
الجملة If …. Then…. ElseIf
لا شك انك الآن توقعت معنى الإضافة ElseIf والتي تستخدم إذا كان هناك اكثر من شرط..
وهذه هي الصيغة العامة للجملة السابقة…
شفرة برمجية :
If (1 شرط)
Then
(الأمر الذي سيتحقق في حال كون الشرط 1 صحيحا)
ElseIf (2 شرط) Then
(الأمر الذي سيتحقق في حال كون الشرط 2 صحيحا)
.
.
Else
(الأمر الذي سيتحقق إذا لم يتحقق أيا من الشروط السابقة)
End If |
واليك هذا المثال… الذي سيختبر هل القيمة المدخلة موجبة أم سالبه أم مساوية
للصفر.
شفرة برمجية :
Num = InputBox("ادخل رقما")
If Num > 0 Then
msgbox "القيمة المدخلة موجبة"
ElseIf Num < 0 Then
msgbox "القيمة المدخلة سالبة"
Else
msgbox "القيمة المدخلة تساوي الصفر"
End If |
الجملة Select Case
تتشابه الجملة Select Case مع الجملة If …. Then…. ElseIf ولكن الجملة Select Case
تعتبر افضل استخداما عندما يكون التفرع لأكثر من شرطين لأنها تظهر بنية الشيفرة
بشكل أوضح وستلاحظ ذلك لاحقا، أيضا البنية السابقة تستخدم عندما يكون الاختيار بناء
على متغير واحد، وهذه هي الصيغة العامة للجملة Select Case
شفرة برمجية :
Select Case (متغير)
Case (القيمة 1)
الأمر الذي سيتحقق إذا كانت قيمة المتغير مساوية للقيمة 1
Case (القيمة 2)
الأمر الذي سيتحقق إذا كانت قيمة المتغير مساوية للقيمة 2
.
.
.
Case Else
الأمر الذي سيتحقق إذا لم تكن قيمة المتغير مساوية لأي من القيم
السابقة
End Select |
ويمكن الاستغناء عن Case Else عند عدم الحاجة إليها.
وهذا مثال على استخدام الجملة السابقة
شفرة برمجية :
strChos = "ادخل أحد الألوان التالية ليتم تحويل لون الخلفية"
strChos = strChos + "إليه .. احمر، اخضر، ازرق، اسود"
BkGd = InputBox(strChos,"تحديد لون الخلفية")
Select Case BkGd
Case "احمر"
document.bgColor = "FF0000"
Case "اخضر"
document.bgColor = vbGreen
Case "ازرق"
document.bgColor = "0000FF"
Case "اسود"
document.bgColor = vbBlack
Case Else
msgbox "فضلا تأكد من صحة تهجئة الكلمة"
End Select |