ارجحیت دستور شرطی Select Case.. نسبت به دستور شرطی If..
* قراردهی شروط متعدد
در دستور IF اگر می خواستیم دوشرط را با عملگر Or به دستور نسبت دهیم:
If Val (Text1.text)> 2 Or Val (Text1.text) < 2 Then
MsgBox “Oh.. Yes, it’s done.
End If
اگر بتحقیق نظاره کنید؛ << اگر مقدار ارزشی جعبه متن بیش از 2 یا کم از 2 شود بنابرآن دستورات درون شرط اجرا خواهد شد.>>
حال نظاره کنید نحوه ترکیب این شروط در دستور شرطی Select Case..
Select Case Val (Text1.text)
Case Is > 2, Is < 2
MsgBox “Oh... Yes, it’s done. This Conditional Statement works better from the If.. Statement”
End Select
***به جای عملگر (Or) از (,) استفاده می شود.***
این دستور برتری های دیگری نیز نسبت به دستور If.. دارد که در آموزش حرفه ای ویژوال بیسیک ازآنها به کرّات یاد می شود.
ساختار دستور Select Case
این دستور با Select Case شروع و با End Select خاتمه می یابد. و مابین آن شروط با کلمه Case
سنجش شده ودر صورت صحت شرط ، دستورات گنجانده شده در پایین شرط اجرا می شوند ودر
انتهای همه Case های شرطی کاربر، دستور Case Else قرار دارد که در صورت عدم صحت شروط قبلی،دستور گنجانده شده در این قسمت اجرا می شود.
Select Case <هرچیزی که مقداری تولید کند>
Case ( شرط یا شروط مناسب با مقدار تولید شده)
'(دستورات اجرایی در صورت صحت شرط)
Case <شرط یا شروط دیگر>
'(دستورات اجرایی در صورت صحت شرط)
,…
Case Else
'(دستورات اجرایی در صورت عدم صحت شروط کاربر)
End Select
*(منظور از کاربر در اینجا، برنامه نویس می باشد.)*
***کاربرد Else در این دستور همانند کاربرد Else در دستور If می باشد.***
مثال 1:
'*********************************
Dim M1 As String
Dim M2 As String
M1 = "سن شخص مذکور با توجه به قوانین شرکت برای اشتغال "
If IsNumeric (Text1.Text) = False Then Exit Sub
Select Case (1387) – Val (Text1.Text)
Case Is < 20
M2 = M1 + Space (1) + "پایین است"
Case 20 To 40
M2 = M1 + Space (1) + "مناسب است"
Case Is > 40
M2 = M1 + Space (1) + "بالا است"
End Select
MsgBox M2
'*********************************
مثال 2:
***(((استفاده ازمثال پایین برای کسانی که چشمشان نسبت به شدت رنگهای مختلف حساس است، توصیه نمی شود.)))***
'*********************************
Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Color As ColorConstants
Select Case X
Case 0 To 1000
Color = vbRed
Case 1001 To 2000
Color = vbYellow
Case 2001 To 3000
Color = vbBlue
Case 3001 To 4000
Color = vbCyan
Case 4001 To 5000
Color = vbMagenta
Case 5001 To 6000
Color = vbWhite
Case 6001 To 7000
Color = vbGreen
End Select
Me.BackColor = Color
End Sub
'*********************************
*** مثال بالا یک پردازه مستقل است. آن رابه درون فضای خالی ماجول کد یک فرم انتقال دهید. ***
سرافراز باشید...
..نظرات شما عزیزان: