Select Case 多執行路徑敘述

在VB內,Select Case也佔了很重要的位置,雖然Select Case可以用If Then代替掉

但它的方便性卻是If Then 無法替代的

假設我們要寫一個能判斷使用者輸入的程式

題目:輸入「1」就輸出「我很好」,輸入「2」就輸出「電腦不難」,輸入「3」就輸出「掰掰」

我們先用If Then 試寫看看:

X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可)  1.你好嗎?     2.電腦難嗎?     3.我先走了”)
If X = 1 Then
MsgBox “我很好”
ElseIf X = 2 Then
MsgBox “電腦不難”
ElseIf X = 3 Then
MsgBox “掰掰”
End If

↑共127

用Select Case寫的話:

X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可)  1.你好嗎?     2.電腦難嗎?     3.我先走了”)
Select Case X
Case 1
MsgBox “我很好”
Case 2
MsgBox “電腦不難”
Case 3
MsgBox “掰掰”
End Select

↑共122

你看,是不是比較精簡啊?

.

Select Case格式如下:

Select Case 變數或運算式

Case 條件值 1

敘述區塊 1

Case 條件值 2

敘述區塊 2

Case 條件值 N

敘述區塊 N

Case Else

敘述區塊 N+1

End Select

用Select Case來判別使用者輸入的資料很簡單,將上面的程式再加點東西吧!

re: X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可)  1.你好嗎?     2.電腦難嗎?     3.我先走了”)
Select Case X
Case 1
MsgBox “我很好”
Case 2
MsgBox “電腦不難”
Case 3
MsgBox “掰掰”
Case Else
MsgBox “未輸入,或輸入錯誤”
GoTo re

End Select

加上紅字部分是用來判斷使用者輸入的數值是否正確。若否,則重新輸入

.

Select Case 也可以用在陣列

首先在表單上擺放5個Command1陣列

要如何建立Command1的陣列呢?

很簡單,先放一個Command1,然後再複製它,再貼上一次

這時就會出現一個訊息

按”是”即可

利用此方法,建立出五個Command1陣列

每個Command1陣列的資料順序都可在”屬性”視窗看到

點兩下Command1陣列中其中一個按鈕

你會發現

Private Sub Command1_Click(Index As Integer)

End Sub

居然不是寫Command1(資料順序)

反而多了一個(Index As Integer)

那這麼多的按鈕,要怎麼判別使用者是按了哪個呢?

答案就是 Select Case !

VB自動將按鈕陣列宣告了一個整數Index,這個Index指的就是這個Command1的資料順序

撰寫出來的程式如下:

Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
MsgBox “這是第一個按鈕”
Case 1
MsgBox “這是第二個按鈕”
Case 2
MsgBox “這是第三個按鈕”
Case 3
MsgBox “這是第四個按鈕”
Case 4
MsgBox “這是第五個按鈕”
End Select
End Sub

↑共170

若你覺得要用Command1陣列太麻煩,想要直接用個Command1~5也可以

不過會更加的麻煩

所寫出來的程式如下:

Private Sub Command1_Click()
MsgBox “這是第一個按鈕”
End Sub

Private Sub Command2_Click()
MsgBox “這是第二個按鈕”
End Sub

Private Sub Command3_Click()
MsgBox “這是第三個按鈕”
End Sub

Private Sub Command4_Click()
MsgBox “這是第四個按鈕”
End Sub

Private Sub Command5_Click()
MsgBox “這是第五個按鈕”
End Sub

↑共235

這種方法不但撰寫出來程式碼會變的很長,而且又不易判讀,這是一個程式設計師很忌諱的方式

.

基本上Select Case並不難,稍微思考一下就能寫出來了

應用範圍大致就如上面所教的

本篇教學就到此結束

文章分類:VB6.0|標籤:,

迴響已關閉