ورود

نسخه کامل مشاهده نسخه کامل : سوالی در مورد مقایسه شروط در VB



babak_beiknejat
12-09-2009, 12:08
سلام
تو زبان C برای حالتی که تعداد زیادی شرط داریم میشه از دستوری به نام switch case استفاده کرد
آیا چنین دستوری تو VB هم وجود داره ؟
لطفا راهنماییم کنید
متشکرم

nasimm06
14-09-2009, 20:55
بله دوست عزیز وجود داره واونم دستور select case هست که شکل کلی اون به صورت زیره:


عبارت مورد نظر select case
مقدار1 Case
یک یا چند دستور
مقدار2 Case
یک یا چند دستور
...
مقدارNام Case
یک یا چند دستور
Case Else
یک یا چند دستور

End select


در ضمن اولین Case اجباری وبقیه اختیاری هست.

sinaaeeni
15-09-2009, 09:35
سلام
تو زبان C برای حالتی که تعداد زیادی شرط داریم میشه از دستوری به نام switch case استفاده کرد
آیا چنین دستوری تو VB هم وجود داره ؟
لطفا راهنماییم کنید
متشکرم
سلام
با تشکر از توضیحات دوست خوبمون خانم نسیم
با کمی توضیح بیشتر برای دوستمون :
مناسب ترین موقعیت برای استفاده ار دستور select case هنگام انتخاب با وجود چند شرط است . مسلما اگر بیشتر از سه یا چهار دستور if…else تودرتو داشته باشید نتیجه یک برنامه پیچیده خواهد بود.بعبارت دیگر وارد یک منطق در هم و برهم بصورت زیر می شوید : اگر این درست باشد. بعد اگر این درست باشد.
بعد اگر این هم درست باشد آنگاه کاری را انجام بده در غیر این صورت ... فرمت select case بصورت زیر است.



كد:
Select case expression
Case expressionmatch
Block of one or more visual basic statements
[ case expressionmatch1
Block of one or more visual basic statements]
[ case expressionmatch2
Block of one or more visual basic statements]
[ case expressionmatch3
Block of one or more visual basic statements]
End select



Select caseیک مورد را از میان چند مورد انتخاب می کند. تعداد شرایطی که امتحان می شوند به نیاز شما بستگی دارد. این شرایط بصورت[case expressionmatch#...] نشان داده می شوند. فرض کنید که هیچکدام از این شرایط بر قرار نباشند.علیرغم فرمت پیچیده استفاده از دستور select case ساده است. به مثال زیر توجه کنید.


كد:
Select case txtgrade.text
Case "a"
Lblannounce.caption="ma"
Case "b"
Lblannounce.caption="maa"
Case "c"
Lblannounce.caption="maj"
Case "d"
Lblannounce.caption="maji"
Case "f"
Lblannounce.caption="majid"
Case else
Lblannounce.caption="majid rahimy"
End select



اگر بنا به دلایلی حروفی غیز ازa|b|c|d|f درون متن ظاهر شود دستور case else اجرا شود و با تنظیم مقدار برچسب . خطایی را اعلام می کند.
بغیر از دستورات select case دستوراتی دیگر در مورد همین مانند محدودها و.... می باشد.