الدرس الثاني في دورة تعلم لغة autoit

السلام عليكم ورحمة الله تعالى وبركاته
أهلا وسهلا بكم في الدرس الثاني من تعلم لغة autoit
قد كنا في
الدرس الأول
قد تعرفنا على الدوال والمتغيرات
وقلت لكم أن في الدرس الثاني سنتعرف مع بعض على أساسيات أخرى في قواعد هذه اللغة
اليوم سنتعرف على أمران آخران
هما الأوامر الشرطية If
وال حلقة التكرارية loop
أولا نبدء مع

الأوامر الشرطية

تستخدم الجملة الشرطية IF عند حاجتنا لاتخاذ قرارات مختلفة حسب شرط معين .
مثال : 
إذا كانت درجة الطالب أكبر من أو يساوي 60 فهو ناجح ، وإذا كانت أقل من 60 فهو راسب 
وللأمر الشرطي عدة صيغ
دعونا نتعرف عليها اليوم

صيغة  IF – THEN

IF    الشرط المطلوب اختباره THEN الأمر الذي سيتم تنفيذه اذا كان الشرط صحيح

مثال :

IF $var >=60 then return “ناجح”

صيغة  IF – THEN – ENDIF

IF    الشرط المطلوب اختباره THEN 
الأوامر أو الجمل التي سيتم تنفيذها اذا كان الشرط صحيح
ENDIF

مثال :


IF $var >=60 then 
return “ناجح”
ENDIF

صيغة  IF – THEN – ELSE

IF    الشرط المطلوب اختباره THEN
مجموعة الجمل لتي سيتم تنفيذها اذا كان الشرط صحيح
ELSE
مجموعة الجمل التي سيتم تنفيذها إذا كان الشرط خاطء
ENDIF

مثال :


IF $var >= 60 then
return “ناجح”
ELSE
return “غير مجتاز”
ENDIF

صيغة  IF – THEN – ELSEIF

IF    الشرط الأول المطلوب اختباره THEN
مجموعة الجمل لتي سيتم تنفيذها اذا كان الشرط الأول صحيح
ELSEIF   الشرط الثاني لمطلوب اختباره THEN
مجموعة الجمل التي سيتم تنفيذها إذا كان الشرط الثاني صحيح
ELSE
مجموعة الجمل التي سيتم تنفيذها إذا كانت كل الشروط خاطئة
ENDIF

مثال :


IF $var >=90 then 

return “ممتاز”

ELSEIF $var>=80 then 
return “جيدجدا”
ELSEIF $var >=70 then 
return “جيد”
ELSEIF $var >=60 then 
return “مقبول”
ELSE
return “غير مجتاز  ”
ENDIF

الجملة الشرطية switch CASE :

تستخدم هذه الجملة إذا كان هناك عدة احتمالات للشرط ، فهي تقوم بنفس عمل جملة IF ولكن بطريقة أسهل .——————————————————————————–
الصيغة العامة لها :

switch الأمر الذي تريد إختباره وتقييمه
CASE الاحتمال الأول 
يتم تنفيذ مجموعة الجمل 1

CASE الاحتمال الثاني 
يتم تنفيذ مجموعة الجمل 2
CASE ELSE  
الجمل التي سيتم تنفيذها في حالة عدم تحقق أي شرط من الشروط السابقة

endSwitch

مثال على switch CASE


switch $var
CASE 90 TO 100
return “ممتاز ”
CASE 80 TO 89
return “جيد جدا”
CASE 70 TO 79
return ” جيد ”
CASE 60 TO 69
return “مقبول ”
case else 
return “غير مجتاز ”
endSwitch

الأمر الشرطي select case

يستخدم هذا الخيار في حال تريد أن تقم بعرض خيارات على المستخدم وتريد معرفة الخيار الذي اختاره وتضع له أوامر ينفذها
يكن تركيب الكود كالآتي
select
case الإحتمال الأول
الأمر
case الإحتمال الثاني
الأمر
case else
الأمر في حال لم يتنفذ أي خيار من الذي حددته
endSelect
مثال

إظهار رسالة نعم ولا للمستخدم


$msg = MSGBox(4, “هل تريد حذف الملف”, إضغط على نعم إن كنت تريد المتابعة أو لا إذا كنت تريد إلغاء الأمر”)
select
case $msg = 6
msgBox(0, “الخيار”, “لقد تم الضغط على نعم”)
case $msg = 7
msgBox(0, “الخيار”, “لقد تم الضغط على لا”)
endSelect

الحلقات التكرارية Loop

تعريفها
فائدة الحلقة التكرارية هي أنها إذا كان شئ يتكرر أكثر من مرة فلا داعي لكتابته العديد من المرات تستخدم الحلقة التكرارية و تضع فيها العدد أي عدد مرات التكرار
و الحلقة تفي بالغرض هذا كل شئ
هناك عدة أنواع في لغة autoit
سنستعرضها في ما يلي

Do Until Loops

لإنشاء هذه الحلقة يجب أن نكن نملك متغير حتى يكن العد عليه
أو أن يكن متغير أو أمر جاهز
وصيغته تكن
do
الأوامر التي تريدها أن تتنفذ في الحلقة
until الشرط الذي تريده أن يتحقق
مثال


Local $i = 0
Do
MsgBox(0, “قيمة المتغير $i هي :”, $i)
$i = $i + 1
Until $i = 10

هنا أنشأنا متغير إسمه $i
وأخبرنا الحقل التكراري أنه يعرض لنا قيمة المتغير $i وتزويد رقم 1 كل مرة
إلى غاية تحقق القيمة 10 في المتغير $i

While Loops

هذا الحقل هو متميز
حيث يبقى يعمل حتى القيمة المحددة
وإن لم تتحقق فيبقى يعمل
مثال :


$counter = 0
While $counter <= 5 MsgBox(0, "قيمة المتغير $counter هي:", $counter) $counter = $counter + 1 WEnd

For Loops

هذا الحقل نستخدمه في العد
وبدون إعلان متغير سابق
حيث يمكننا مثلا العد من 5 إلى 10 أو من 10 إلى 5 وبكل سهولة
مثال
For $counter = 5 to 10
MsgBox(0, “القيمة هي : “, $counter)
Next
حيث بكلمة next ننهي إطار الحلقة التكرارية
لا تقلق عزيزي إذا صعب عليك هذا الأمر
فنحن الآن نقم بالإستعراض فقط
ومعرفة القاعدة
وأكيد سنتوسع فكلما عرفناه في الدروس السابقة
هي هذه القواعد الأساسية في لغة autoit وفي كل لغات البرمجة
في الدرس القادم سنتعرف على بعض الماكروات المهمة macros
سيكون الدرس الثالث متوفر قريبا من خلال
هذا الرابط
تحياتي ولا تنسوني من دعائكم الصالح