الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

العاملان AndAlso و OrElse ....

مغلق
بدأه محمد قطان في 3 مايو 2002 · 3 رد · 822 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الكل طبعا يعرف كيف يستخدم بنيات القرار( If – Then ) و ( Select Case ) و ( Do While ) و ( For – Next ) .. وكيفية استخدام And – Or داخل الجملة الشرطية للتعامل مع اكثر من شرط ...

الجديد الذي قدمته مايكروسوفت في بيئة VB.net هو المعاملان AndAlso و OrElse

ليحلان محل And – Or التي ربما كانت تعمل بطريقة فيها شيء من الغباء ...

العامل AndAlso :

لنفرض أن لديك أكثر من شرط في الكود ولكي يتم تنفيذ الكود يجب أن يكون كلا الشرطين ( True ) ... هنا نستعمل If – Then بالشكل المعروف ولكن اذا أردت ان تجعل البرنامج يدقق أحد الشرطين بحيث اذا كان الاول خطأ لايتم فحص الشرط الثاني طالما لاتوجد أي نتيجة من فحصه ... أي الانتقال الى Else مباشرة في حال كان الشرط الأول False ..

هنا ستحتاج الى العامل AndAlso لتربطه بالجملة البرمجية , ولا يخفى أثر مثل هذه الامور على سرعة عمل البرنامج بشكل عام .....

الصيغة العامة لاستعمال هذا العامل داخل جملة If :

 
Dim Number As Integer = 0
If Number = 1 AndAlso MsgBox (" Second condition test ") Then 
    MsgBox ("Inside Else")
Else
    MsgBox ("Inside Else")
End If

وهذا مثال لاستعمال هذا العامل مع (While ) من MSDN :

 

Dim A As Integer = 10
Dim B As Integer = 8
Dim C As Integer = 6
Dim myCheck As Boolean
myCheck = A > B AndAlso B > C   ' True.
myCheck = B > A AndAlso B > C   ' False. Second expression not evaluated.
myCheck = A > B AndAlso C > B   ' False. Second expression evaluated.

' This example demonstrates using the AndAlso operator to search through 
' array values. If i is greater than the upper bound of the array, it does 
' attempt to find a corresponding value in the array.

Dim i As Integer = 0
While i <= UBound(arr) AndAlso arr(i) <> SearchValue
   i += 1
End While

العامل OrElse :

هذا العامل مشابه للعامل AndAlso مع خلاف بسيط ..

افرض ان لديك جملة شرطية تتضمن شرطين أيضا ولكي يتم تنفيذ الجملة يجب أن يكون أحد الشرطين ( True ) أي أنه اذا كان الأول صحيحا يتم تخطي فحص الشرط الثاني وأما اذا كان الاول ( False ) ينتقل للثاني ليتم فحصه .. وهكذا

هنا يجب ان تربط الجملة البرمجية بالعامل OrElse ليتم تنفيذ ذلك وهذا المثال لتوضيح الصورة بشكل أفضل :

 
Dim A As Integer = 10
Dim B As Integer = 8
Dim C As Integer = 6
Dim myCheck As Boolean
myCheck = A > B OrElse B > C   ' True. Second expression is not evaluated.
myCheck = B > A OrElse B > C   ' True. Second expression is evaluated.
myCheck = B > A OrElse C > B   ' False.

' This example demonstrates the use of the OrElse operator. If the first

لكم تحياتي ....

واثق الخطوة يمشي ملكا !!

#3

لعيونك (f) (f)

واثق الخطوة يمشي ملكا !!

#4

الف شكر

هذا الموضوع مغلق.

مواضيع مشابهة