4- SELECT CASE
تستخم تعليمة select case كخيار اخر عوضا عن التعليمة
if …… then ……. Elseif…….else للقيام بعملية اختيار كتلة تعليمات من بين مجموعة من الكتل حيث تعطي تعليمة select case امكانيات مشابه لتعليمة if …… then ……. Elseif…….else الا انها تجعل التعليمات البرمجية اكثر وضوحا واسرع في التنفيذ .
يقوم هذه التعليمة بفحص تعبير واحد testexpression في رأس التعليمة ومن ثم مقارنة نتيجة التعبير مع مجموعة تعابير ( كل تعبير مرتبط مع case ) وعند تطابق قيم التعبير testexpression مع احد التعابير expression فأنها ستنفذ كتلة التعليمات المرتبطة مع case الموافقة .
والشكل العام لهذه التعليمه هو :
Slect case testexpression
Case expression list1
Statements1 yes1
Case expression list2
Statements2 yes2
Case expression list3
Statements3 yes3
Case expression list n
Statements n yes n
Case Else
Statements no
End select
تأخذ expressionlist احد الأشكال التالية :-
· قيمة exp
· عدة قيم exp1 , exp2 , exp3 , …….exp n
· مجال من القيم exp to exp
· مقارنة is comp exp
حيث ( comp هو معامل مقارنة ( > , < , = , >= , <= , <> ) )
ملاحظة :
1- اذا طابقت عدة قيم case قيمة التعبير فأن كتلة التعليمات الموافقة لـ case الأولى هي فقط التي ستنفذ .
2- سينفذ فيجوال بيسك التعليمات الموجودة في case else ( والتي هي خيارية ) في حال عدم مطابقة قيمة التعبير لأي من قيم case .
مثال : بأستخدام التعليمة select case اكتب برنامج لحساب قيم W من المعادلات الآتية , اذا علمت ان هذه المعادلات تمثل قيم مختلفة عن بعضها .
W=10 SIN (XYZ) IF X=10
W=( X3 – Y ) ( Z3 + Y ) IF 10>X>3
W=3XY+eZY +4 IF X=4
W= TAN-1 (X+Y) IF X>=15
الحل :
PRIVATE SUB CMDW_CLICK( )
X=VAL(TXTX.TEXT)
Y=VAL(TXTY.TEXT)
Z=VAL(TXTZ.TEXT)
SELECT CASE X
CASE 10
W=10 * SIN (X*Y*Z)
CASE 4 TO 9
W=( X^3 – Y ) * ( Z ^3 + Y )
CASE 4
W=3*X*Y+EXP( Z*Y )+4
CASE IS >= 15
W= ATN (X+Y)
END SELECT
TXTW.TEXT=W
END SUB
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .