جمل الشرط
if, else if & else
تعرفنا في الدروس السابقة على كل من أنواع البيانات و المتغيرات بالإضافة للمفردات والمعاملات والآن سوف نتعرف على جمل الشرط وهي تتيح لنا أن نقوم بعمل شيء معين عندما يحقق شرط معين مثلا عندما تقوم بإدخال كلمة السر بشكل صحيح أنتقل لصفحة معينة وإلا فأطلب من المستخدم إدخال اسم المستخدم بشكل صحيح لنبدأ في الحقيقة أنه سوف تكون قيمة الشرط ككل أما صح true أو خطأ false الآن بالشرح أفتح نافذة الـ Action Script قم بتعريف متغير باسم nQuantity نوعه رقمي Number Date Types يحمل القيمة 5 وننهي الأمر بفاصلة ما نريده الآن هو أن نقوم بالتحقق ما إذا كانت قيمة المتغير هي 5 تيم تنفيذ أمر معين إذا في سطر جديد نقوم بكتابة الأمر if ثم نفتح القوس ونكتب الشرط وهو nQuantity == 5 وهذا الشرط معناه إذا كانت قيمة المتغير nQuantity هي 5 إذا ماذا يحدث نقوم بإغلاق القوس ونفتح قوس متموج وننتقل لسطر جديد ثم نقوم بكتابة الأوامر التي تنفذ في حالة تحقق الشرط والآن نريد أن يتم عرض عبارة في نافذة المخرجات الـ Output لذلك نكتب الأمر بهذا الشكل trace("Yes, the condition was met."); ثم ننتقل لسطر جديد وننهي الأمر if بإغلاق القوس المتموج
والآن قم باختبار العمل ألغي العرض ماذا إذا قمنا بتغيير قيمة المتغير nQuantity الأصلية من 5 إلى 6 ثم اختبار العمل لن ترى شيء لأن الشرط يقوم هل قيمة المتغير nQuantity تساوي 5 وهي في الحقيقة تساوي 6 إذا يعتبر الشرط خطأ في هذه الحالة بإمكاننا أن نقوم بعرض عبارة أخرى في نافذة المخرجات في حالة كان الشرط خطأ وذلك باستخدام الأمر else إذا في سطر جديد نقوم بكتابة الأمر else ونفتح قوس متموج ثم ننتقل لسطر جديد ونكتب الأمر trace بهذا الشكل trace("No, the condition was not met."); ثم ننتقل لسطر جديد وننهي الأمر else بإغلاق القوس المتموج
قم باختبار العمل
فما الذي يحدث في البداية قمنا بتعريف متغير باسم nQuantity ونوعه متغير رقمي يحمل القيمة 6 ثم ينتقل للسطر الثاني وهو الأمر if ثم يتحقق من الشرط هل قيمة المتغير nQuantity تساوي 5 في هذه الحالة فإن قيمة المتغير nQuantity لا تساوي 5 إذا سوف يتجاهل الأمر if وينتقل للأوامر الأخرى بعد الأمر if وبذلك ينتقل للأمر else وهي تقوم بتنفيذ الأوامر التي بداخلها في حالة عدم تحقق الأمر if وبالتالي تظهر ينفذ الأمر trace وتظهر العبارة السابقة في نافذة المخرجات Output ثم نتنقل للسطر الأوامر التالية بعد الأمر else وهنا لا يوجد أي أوامر إذا سوف ينتهي الأمر بعرض العبارة السابقة فقط ويمكننا أيضا أن نقوم بإضافة العديد من الشروط وذلك باستخدام الأمر else if فالنقم بعمل شرط جديد أسفل الأمر if في سطر جديد قم بكتابة الأمر else if وأفتح قوس وأكتب اسم المتغير ثم مسافة ونضع علامتي يساوي ثم مسافة ونكتب القيمة 6 لنرى هل قيمة المتغير تساوي العدد 6 أم لا ثم أغلق القوس وأفتح قوس متموج ثم أنتقل لسطر جديد وأكتب الأمر trace بهذا الشكل trace("Yes, the second condition was met."); ثم ننتقل لسطر جديد وننهي الأمر else if بإغلاق القوس المتموج ونعدل أيضا العبارة في الأمر trace الذي بداخل الأمر if ليكون بهذا الشكل trace("Yes, the first condition was met.");
والآن قم باختبار العمل
فما الذي حدث في البداية سوف يتحقق من الشرط الموجود في الأمر if هل قيمة المتغير nQuantity تساوي 5 أم لا وهي هنا لا تساوي العدد 5 وبالتالي ينتقل مباشرة للسطر التالي وهو الأمر else if وسوف يتحقق من الشرط هل قيمة nQuantity تساوي 6 أم لا وهي بالفعل تساوي العدد 6 إذا سوف يدخل لجسم Body الأمر else if وينفذ الأمر trace ويعرض العبارة في نافذة المخرجات Output ثم بعد تنفيذ جميع الأوامر في جسم Body الأمر else if ينتقل للسطر التالي ويتجاهل الأمر else تلقائيا لأنه تحقق الأمر else if والأمر else يتحقق في حالة عدم تحقق الشرط في الأمر if & else if ثم ينتقل للسطر التالي وهنا لا يوجد شيء لينفذه بعد الأمر else لذلك سوف ينتهي الأمر بعرض العبارة بنافذة المخرجات Output فقط .
وبذلك نحصل على قاعدة وهي كالتالي
والآن لننتقل للتطبيق ونتعرف كيف يستخدم الأمر if في بعض التطبيقات في البداية قم بفتح الملف والذي باسم if.fla وقم باختبار العمل لترى تأثيرين وهما تأثير النص وحركة الصورة والآن قم بإلغاء العرض وحدد الإطار الأول من طبقة الـ Actions وأفتح نافذة الـ Action Script بالضغط على F9 وما يهمنا هنا هي الأوامر التالية
في البداية قمنا بإنشاء متغيرين الأول هو bAnimateImage ويحمل القيمة true واستخدمنا هذا المتغير في الأمر if الأول في خانة الشرط وأمر if الأول يتحكم في حركة الصورة والمتغير الثاني وهو bAnimateText ويحمل القيمة true واستخدمنا هذا المتغير في الأمر if الثاني في خانة الشرط أيضا وأمر if الثاني يتحكم في تأثير النص عندما قمت باختبار العمل فإنك لاحظ حركة الصورة وتأثير النص معاً والسبب أن كلام المتغيرين يحملان القيمة true وذلك يكون كلا الشرطين true فترى حركة الصورة وتأثير النص لنغير قيمة المتغير الأول من true إلى false ثم قم باختبار العمل لترى تأثير النص فقط والصورة ثابتة والآن ألغي العرض وأرجع قيمة المتغير الأول من false إلى true وغير قيمة المتغير الثاني من true إلى false ثم قم باختبار العمل لترى حركة الصورة فقط دون تأثير النص وأيضا بإمكانك تغيير كلا القيمتين إلى false وبذلك لن ترى تأثير النص وحركة الصورة نهائيا .