الكل طبعا يعرف كيف يستخدم بنيات القرار( 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
لكم تحياتي ....