السلام عليكم ورحمة الله وبركاته
هذا دراسة خاصة حول IF Statement .
----------------------------------------------------------------------------
إحدى أهم الأكواد لمعالجة المعلومات في أي إجراء حدثي (Event Procedure) هي التعبير الشرطي (Conditional Expression) هو جزء من جمل برمجية
(Program Statement) تطرح سؤال (True) صح أو (False) خطأ عن خاصية
(Prepertie) أو متغير (Variable) أو جزء من البيانات في شيفرة البرنامج (Code) .
مثلاً يقيم التعبير الشرطي التالي :
Price < 100
إلى True إذا كان المتغير Price يحتوي على قيمة أصغر من 100 وإلى False إذا كان يحتوي على قيمة أكبر من 100 أو تساوي 100
* تستعمل عوامل المقارنة التالية في التعبير الشرطي :

* يبين الجدول التالي بعض التعابير الشرطية ونتيجة كل منها :

- بنيات القرار IF .. Then .. Else
عندما يستعمل تعبير شرطي في مجموعة خاصة من الجمل تسمى (بنية قرار)
(Decision Sturctures) فإنه يتحكم بما إذا كان سيتم تفيذ جمل أخرى في البرنامج أو لا وفي أي ترتيب سيتم تنفيذها .
بالإمكان إستعمال بنية القرار IF Statement لتقييم شرط في البرنامج والقيام بعمل ما بناءً على النتيجة.
في أبسط أشكالها تكتب بنية القرار IF Statement على سطر واحد

حيث Condition هو تعبير شرطي و Statement هي جملة برمجية فيجوال بيسك
مثلاً :

تحديد ما إذا كان على البرنامج أن يضبط الخاصية Text للكائن Label1 عند "Good" أم لا .
إذا إحتوى المتغير Price على قيمة أكبر أو تساوي 20 يضبط فيجوال بيسك الخاصية Text للكائن Label1 على "Good" وإلا سيتخطى الجملة وينفذ السطر التالي .

شكل آخر لـبنية القرار IF Statement :

إذا إحتوى المتغير Price على قيمة أكبر أو يساوي 20 سيقوم فيجوال بيسك بضبط خاصية Text للكائن Label1 على "Good" أما إذا إحتوى المتغير Price غير هذه القيمة فإن فيجوال بيسك سيضبط خاصية Text للكائن Label1 على "Not Good"
بالإمكان وضع الكود السابق في سطر واحد :

شكل آخر أيضاً لـبنية القرار IF Statement :

يتم تقييم condition1 أولاً إذا كان هذا التعبير الشرطي صح ، يتم تنفيذ الجمل التي تليه ، وإذا لم يكن الشرط الأول صح ، يتم تقييم التعبير الشرطي الثاني condition 2 ، إذا كان الشرط الثاني صح يتم تفييذ الجمل التي تليه (بالإمكان إضافة المزيد من الشروط والجمل ElseIF إذا كانت هناك شروط أكثر يجب تقييمها).
اخيراً إذا لم يكن أي من التعابير الشرطية صح ، يتم تنفيذ الجمل التي تلي الكلمة Else .
أخيراً يتم إنهاء البنية بأكملها بالكلمات الأساسية End IF
مثال :

إذا إحتوى المتغير Price على قيمة أكبر من50 سيقوم فيجوال بيسك بضبط خاصية Text للكائن Label1 على "Very Good" و إذا إحتوى المتغير Price على قيمة تساوي 50 فإن فيجوال بيسك سيضبط خاصية Text للكائن Label1 على " Good" ، أما إذا لم يحتوي المتغير Price على أياً من القيم السابقة سيقوم فيجوال بيسك بضبط خاصية Text للكائن Label1 على " Not Good"
ملاحظة : بالإمكان وضع أكثر من جمل برمجية في سطر واحد :

سيتم تنفيذ الثلاث الجمل إذا كان A > 10 .
وهذا برنامج قد قمت بعمله يوضح عمل هذه الطريقة :

وهذا كود البرنامج - داخل هذا الزر :


إذا كان A > 10 ، سيتم تنفيذ A = A + 1 و B = B + A و C = C + B :

أما إذا لم يتحقق الشرط A > 10 فلن يتم تنفيذ شي سوى ظهور نفس الأرقام الذي كتبتها في مربعات النص الثلاثة :

* إستعمال العوامل المنطقية في التعابير الشرطية IF Statement :
بالإمكان إختبار أكثر من تعبير شرطي واحد في العبارات ElseIF , IF .. Then إذا كنت تريد شمل أكثر من معيار إختيار واحد في بنية القرار .
يتم ربط الشروط الزائدة بإستعمال واحد أو أكثر من العوامل المنطقية التالية :

هذه بعض الأمثلة للعوامل المنطقية سنفترض في الأمثلة أنه :
200 = Name = "Albahith" , Price

* OrElse , AndAlso :
OrElse , AndAlso عاملين منطقيين بالإمكان إستعمالهما في الجمل الشرطية .
يعمل هذين العاملان بنفس طريقة عمل Or , And ، لكنهما يقدمان تسهيلاً مهماً في طريقة تقييمهما .
مثال على AndAlso :

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

يعمل العامل OrElse بطريقة مشابهة ، لكي يتم تنفيذ جمل البنية IF ، يجب أن يكون شرط واحد على الأقل صح ، إذا كان الشرط الأول صح ، سيبدأ فيجوال بيسك بتنفيذ الجمل المكتوبة في البنية IF من دون إختبار الشرط الثاني .
جميع الحقوق محفوظة لــ " الباحث للبرمجة "