1. 程式人生 > >【轉載】理解VB中選擇語句Select Case結構的最好例子

【轉載】理解VB中選擇語句Select Case結構的最好例子

1.Select Case結構格式:  
    Select Case e
        Case  e1
              A組語句
        Case  e2
             B組語句
        ……
        Case  Else
            n組語句 
    End Select

2.說明 
?e為測試表達式,可以是算術表示式或字元表示式,其值應是數字或字元型
?e1、e2等是測試項,取值必須與測試表達式的值型別相同,常用形式為:
      ?具體取值,用逗號隔開,如:1,5,9 
      ?連續的範圍:界1 TO 界2 ,如:12 To 20 
      ?滿足某個條件:Is運算子,如:Is>10      
      ?三種形式可以組合使用

補充:關於is的用法

1、case is<5 ,is>10 正確,表示或的關係

    case is>5 and is<10      用來表示並的關係不正確

若要用is表示並的關係,可以在select case中再嵌入select case

如:

Option Explicit

Dim a

Private Sub Form_Click()

a = Val(InputBox("成績"))

    Select Case a

Case Is > 80

Select Case a 

Case Is < 90

Print "良"

End Select

End Select

End Sub

2、如果想用關係運算符來表示範圍的話,可以按照順序寫select case事件。執行到滿足條件的語句就會輸出。

如:case is>90

print a

case is>80

print b

case is >70

print c

....

end select

3、組合示例

Select Case a
        Case Is > 100, 5, 0 To 2, 20 To 30
            Print "真棒"
    End Select

3.例題

題目:根據學生的成績,判斷其等級:

條件成績≥9080≤成績<9070≤成績<8060≤成績<70成績<60
等級優秀良好中等及格不及格
程式介面:

 理解VB中選擇語句Select Case結構的最好例子 - wuhua_csy - wuhua_csy的部落格

程式程式碼:

Option Explicit

Private Sub Command1_Click()
  Dim x As Integer    '定義變數x 為整形數

  x = Val(Text1.Text)  '把文字框Text1裡顯示內容通過Val函式轉成數值型資料再賦值給變數x 
  Select Case x         '測試表達式的值為x
    Case Is >= 90              '測試表達式的值x大於等於90情況下
      Text2.Text = "優秀"    '文字框Text2中顯示“優秀”
    Case 80 To 90             '測試表達式的值x在80至90情況下
      Text2.Text = "良好"     '文字框Text2中顯示“良好”
    Case 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 '測試表達式的值x為70、71、72、73、74、75、76、77、78、79情況下
      Text2.Text = "中等"     '文字框Text2中顯示“中等”
    Case 60, 61, 62, 63 To 66, Is >= 67 '測試表達式的值x為60、61、62、63、在64至66情況下、大於等於67的情況下
      Text2.Text = "及格"     '文字框Text2中顯示“及格”
    Case Else                    '測試表達式的值x在其它情況下
      Text2.Text = "不及格" '文字框Text2中顯示“不及格”
    End Select
End Sub

'以下程式碼是清除文字框Text1、Text2中所顯示的內容,且將焦點放在文字框Text1上

Private Sub Command2_Click()
   Text1.Text = ""
   Text2.Text = ""
   Text1.SetFocus
End Sub

'以下程式碼是程式退出

Private Sub Command3_Click()
   End
End Sub