درس تقوية للشرط ,,
إعداد الدرس :: Ashalshaikh
لاحظت ضعف شديد في If ممن تابعوا الدورة ,,
لذلك قررت عمل درس تقوية بإذن الله ,,
رح نعمل فيه أكثر من مثال ,,
رح نبدأ من الأسهل إلى الأصعب حتى ننتهي ,,
أولا :: If ... Then
هي لشرط واحد وجواب شرط واحد
على الصيغة التالية
كود:
[COLOR=Blue]If[/COLOR] [COLOR=DarkSlateBlue]الشرط[/COLOR] [COLOR=Blue]Then[/COLOR] [COLOR=DarkSlateBlue]جواب الشرط[/COLOR]
ترجمتها بالعربي :d:
إذا الشرطإفعل جواب الشرط
ناخذ مثال , ,
نعمل شي جميل ,,
رح نعمل التالي ,,
إذا كان 7+7 يساوي 14 إعمل رسالة ,,
نكتب التالي , ,
كود:
[COLOR=Blue]If [COLOR=Purple]7+7=14[/COLOR] Then [COLOR=Navy]Msgbox[/COLOR] [COLOR=Magenta](0,"","العملية صحيحة")[/COLOR][/COLOR]
جربوا ,,
طيب ماذا لو غيرنا في احد الأرقام ؟!! أترك التجربة لكم ,,
ثانيا ::
وهي لشرط واحد وعدد لا نهائي من جواب الشرط ,,
على الصيغة التالي ,,
كود:
[COLOR=Navy]If [COLOR=RoyalBlue]الشرط[/COLOR] Then[/COLOR]
[COLOR=RoyalBlue]جواب الشرط[/COLOR]
[COLOR=RoyalBlue]جواب الشرط[/COLOR]
[COLOR=RoyalBlue]جواب الشرط [/COLOR]
[COLOR=RoyalBlue]................[/COLOR]
[COLOR=Navy]EndIF[/COLOR]
ناخذ نفس المثال السابق ,,
الآن عملنا إذا كانت العملية صحيحة ,,
يخرج رسالتين ثم ينسخ ملف ,,
وإذا كانت خاطئة ,, طبعا رح يقفز إلى EndIF ثم يكمل ,, إلى الخروج ,,
طيب الآن رح نطور شوي ,,
ثالثا ::
كود:
If ..... Then
................
Else
..............
EndIF
على الصيغة التالي ::
إذا كانت صحية سوف يخرج رسالة بذلك ,, إذا لم تكن صحيحة يخرج رسالة أنها غير صحيحة
لاحظ الرسالة الأخيرة ,, هي خارجة من الشرط ,, لذلك السكربت لن يقفزها ,, بل سينفذها سواء صح أو خطأ ,,
ملاحظة مهمة جدا :: لا تخرب على نفسك فهم القاعدة بعدم التطبيق عليها ,, أي معلومة طبق عليها ثم انتقل ما بعدها ,,
رابعا ::
رح نعمل أكثل من شرط
وفي هذا الموضوع رح نتدرج شوي شوي ,,
ونطول عشانه شوي معقد ,, :hh:
في السابق تعلمنا كيف نعمل شرط واحد وفي حالة حدوثة وفي حالة عدم حدوثه ,,
وكان كالتالي ::
الآن نكمل عليه ,,
كود:
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B][COLOR=Blue]If [COLOR=Navy]7+7 = 14[/COLOR] Then[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B] [COLOR=Navy]Msgbox[/COLOR] [COLOR=DarkGreen](0,"","العملية صحيحة")[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B] [COLOR=Blue]Else[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B] [COLOR=Navy]Msgbox[/COLOR][COLOR=DarkGreen] (0,"","العملية خاطئة")[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B] [COLOR=Blue]EndIf[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B] [COLOR=Navy]Msgbox[/COLOR] [COLOR=DarkGreen](0,"","أجتزت الشرط الآن")[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
الآن نكمل ,,
نريد عمل شرط آخر في حالة لم يتحقق الشرط الأول ,, حتى يعمل شيء معين ,,
طيب بما إنه نريد نكتبه في حالة لم يتحقق الأول نكتبه تحت Else نجرب الآن ,, :d:
قد يكون معقد شوي ,, ولكن ما عليك مع الوقت رح تتقنه ,,
كود:
[COLOR=Blue]If[COLOR=Navy] 7+7 = 14[/COLOR] Then[/COLOR]
[COLOR=Blue] [COLOR=Indigo]Msgbox[/COLOR] [COLOR=Navy](0,"","العملية الأولى صحيحة")[/COLOR][/COLOR]
[COLOR=Blue]Else[/COLOR]
[COLOR=Blue] If [COLOR=Navy]8+7 = 15[/COLOR] Then [COLOR=Indigo]Msgbox[/COLOR] [COLOR=Navy](0,"","العملية الثانية صحيحة")[/COLOR][/COLOR]
[COLOR=Blue]EndIf[/COLOR]
وهذا كود السابق يساوي تماما هذا ,,
كود:
[COLOR=Blue]If[COLOR=Navy] 7+7 = 14 [/COLOR]Then[/COLOR]
[COLOR=Blue] [COLOR=Indigo]Msgbox[/COLOR] [COLOR=Navy](0,"","العملية الأولى صحيحة")[/COLOR][/COLOR]
[COLOR=Blue]ElseIf [COLOR=Navy]8+7 = 15[/COLOR] Then [/COLOR]
[COLOR=Blue] [COLOR=Indigo]Msgbox[/COLOR] [COLOR=Navy](0,"","العملية الثانية صحيحة")[/COLOR][/COLOR]
[COLOR=Blue]EndIf[/COLOR]
هل توضح الآن ما معنى ElseIf
طيب الآن خلونا ناخذ مثال آخر مهم جدا ,, ورائع ,,
عشان تثبت المعلومات ,,
سنعمل رسالة نعم أو لا ,,
وسنستخدم الكود ,,
تذكر : في حالة ضغط المستخدم على لا ترجع قيمة الرسالة بـ7 ,, وحالة ضغط على نعم ترجع القيمة بـ 6
كود:
[COLOR=Blue][COLOR=DarkRed]$MsgBoxYesNo[/COLOR] = [COLOR=Navy]MsgBox[/COLOR][COLOR=RoyalBlue](4,"","نعم أو لا")[/COLOR][/COLOR]
[COLOR=Blue]If [COLOR=DarkRed]$MsgBoxYesNo[/COLOR] = 6 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","ضغطت على نعم")[/COLOR][/COLOR]
[COLOR=Blue]ElseIf [COLOR=DarkRed]$MsgBoxYesNo[/COLOR] = 7 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","ضغطت على لا")[/COLOR][/COLOR]
[COLOR=Blue]EndIf[/COLOR]
[COLOR=Blue][COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","بارك الله فيك")[/COLOR][/COLOR]
ويؤدي نفس عمله الكود التالي ,, نفس عمله بالتمام ,,
كود:
[COLOR=Blue][COLOR=DarkRed]$MsgBoxYesNo[/COLOR] = [COLOR=Navy]MsgBox[/COLOR][COLOR=RoyalBlue](4,"","نعم أو لا")[/COLOR][/COLOR]
[COLOR=Blue]If [COLOR=DarkRed]$MsgBoxYesNo[/COLOR] = 6 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","ضغطت على نعم")[/COLOR][/COLOR]
[COLOR=Blue] Else[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","ضغطت على لا")[/COLOR][/COLOR]
[COLOR=Blue] EndIf[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=RoyalBlue](0,"","بارك الله فيك")[/COLOR][/COLOR]
طيب ممكن تفسير لماذا تؤدي نفس العمل ؟ :?:
كالتالي :: استخدمنا Else لأنه إذا ما كانت نعم رح تكون أيش ؟ ! طبعا احتمال واحد وهو لا ,,
ولكن لوكانت هناك ثلاث أزرار ,, فعلا نحتاج ElseIf
إذا لم تدخل الشغلة في راسك ,, تابع معي :d:
الآن رح نعمل رسالة بثلاث أزرار :hh:
نعم ,لا , إلغاء الأمر
تذكر :: إذا ضغط المستخدم نعم يرجع 6 ,, وإذا ضغط على لا يرجع 7 ,, وإذا ضغط على إلغاء الأمر يرجع 2
يكون كالتالي ::
كود:
[COLOR=Blue][COLOR=DarkRed]$MsgBox3[/COLOR] = [COLOR=Navy]MsgBox[/COLOR][COLOR=Purple](3,"","اختر")[/COLOR][/COLOR]
[COLOR=Blue]If [/COLOR][COLOR=Blue][COLOR=DarkRed]$MsgBox3[/COLOR] = 6 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox [/COLOR][COLOR=Purple](0,"","اخترت نعم")[/COLOR][/COLOR]
[COLOR=Blue]ElseIf [COLOR=DarkRed]$MsgBox3[/COLOR] = 7 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy] Msgbox[/COLOR] [COLOR=Purple](0,"","اخترت لا")[/COLOR][/COLOR]
[COLOR=Blue]ElseIf [COLOR=DarkRed]$MsgBox3[/COLOR] = 2 Then[/COLOR]
[COLOR=Blue] [COLOR=Navy]Msgbox[/COLOR] [COLOR=Purple](0,"","اخترت إلغاء الأمر")[/COLOR][/COLOR]
[COLOR=Blue]EndIf[/COLOR]
ملاحظة ::: لابد أن يأتي بعد ElseIf كلمة Then ولكن لا توضع بعد Else
أتمنى أن يكون واضح ,,
انتهى درس التقوية ,,

بارك الله فيك ,,
تحياتي ,,