發新話題

Visual Basic 教學 - 《陳述式》If

Visual Basic 教學 - 《陳述式》If

If...Then...Else 陳述式範例本範例示範 If...Then...Else 陳述式的兩種格式:「區塊格式」及「單行格式」,也示範了 If TypeOf...Then...Else
Dim Number, Digits, MyStringNumber = 53   ' 設定變數起始值。If Number < 10 Then   Digits = 1ElseIf Number < 100 Then   ' 若判斷結果為 True,則執行下一行陳述式。   Digits = 2Else   Digits = 3End If' 使用「單行格式」語法來設定變數值。If Digits = 1 Then MyString = "One" Else MyString = "More than one" 利用 If TypeOf 可以判斷傳入程序的控制項是否為一文字方塊。
Sub ControlProcessor(MyControl As Control)   If TypeOf MyControl Is CommandButton Then      Debug.Print "You passed in a " & TypeName(MyControl)   ElseIf TypeOf MyControl Is CheckBox Then      Debug.Print "You passed in a " & TypeName(MyControl)   ElseIf TypeOf MyControl Is TextBox Then      Debug.Print "You passed in a " & TypeName(MyControl)   End IfEnd Sub 根據某訪客無法瀏覽此圖片或連結,請先 註冊登入會員 的值來決定要執行哪些部份的訪客無法瀏覽此圖片或連結,請先 註冊登入會員
語法:
A.單行敘述
If condition Then [statements] [Else elsestatements]
B.多行敘述(區塊形式語法)
If condition-1 Then
    [statements]
[ElseIf condition-n Then
    [elseifstatements]...
[Else
    [elsestatements]]
End If
If...Then...Else 陳述式的語法具有以下幾個單元::
單元描述
Condition必要引數,一個或多個具有底下兩種型態的運算式:
訪客無法瀏覽此圖片或連結,請先 註冊登入會員 訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ,其運算結果為 TrueFalse ,如果 condition訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ,則 condition 會視為 False 。
TypeOf objectname Is objecttype. 形式存在的運算式,其中的 objectname 是任何的物件引用,而 objecttype 則是任何有效的物件型態,如果 objectnameobjecttype 所指定的一種訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ,則運算式為 True,否則為False
Statements在區塊形式中是選擇性引數。但是在單行形式中、且沒有 Else 子句時,則為必要引數,在單行形式中,也可以有多行陳述式,各陳述式要以冒號分開。
Condition-n選擇性引數,與 condition 同。
Elseifstatements選擇性引數,如果相關的 condition-n True,則執行此部份的陳述式。
Elsestatements選擇性引數,如果所有的條件式都不成立時,則執行此部份的陳述式。
請注意
您可以使用單行形式 ( 第一種語法 ) 來簡化程式碼,但是,區塊形式 ( 第二種語法 ) 則提供結構化與彈性的功能,而且也較容易閱讀、維護、 及除錯。
附註 在單行形式中,也可以放上多行的陳述式,只要在這些陳述式間加上冒號即可,如底下這行陳述式所示:
   If A > 10 Then A = A + 1 : B = B + A : C = C + B在區塊形式中, If 陳述式必須是第一行指令行,而其中的 Else, ElseIf, 和 End If 部份可以在之前加上訪客無法瀏覽此圖片或連結,請先 註冊登入會員 訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ,而區塊式 If 必須在最後加上一個 End If 陳述式。
要決定某個陳述式是否為一個區塊 If,可檢查 Then 訪客無法瀏覽此圖片或連結,請先 註冊登入會員 之後是什麼,如果在 Then 同一行之後,還有其它非訪客無法瀏覽此圖片或連結,請先 註冊登入會員 的字串,則此陳述式就是單行形式的 If 陳述式。
ElseElseIf子句都是可有可無。在區塊式 If 中,您可以放置多個 ElseIf 子句,但是都必須在 Else 子句之前,區塊式 If 陳述式也可以是巢狀。
當程式執行到一個區塊式 If ( 第二種語法 ) 時,則條件式會加以測試,如果條件式為 True ,則在 Then 之後的陳述式會被執行。如果條件式為 False ,則 每個 ElseIf 部份的條件式 ( 如果有的話 ) 會輪流地計算並加以測試, 如果找到某個為 True 的條件式時,則其 Then 部份的陳述式會被執行。萬一都沒有一個 ElseIf 條件式為 True ( 或是根本就沒有 ElseIf 子句 ),則程式會執行 Else 部份的陳述式。而在執行完後,會從 End If.之後的陳述式繼續執行。
提示 對於根據單一運算式來執行多種可能的動作時,Select Case 應該會更為有用,不過,TypeOf objectname Is objecttype 子句並不能使用在 Select Case 陳述式中。
附註   TypeOf 不能用於 Object 以外,諸如 Long, Integer 等資料型態。

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。