請問一下vb中的if語句的用法
If。Then。Else 語句
根據表達式的值有條件地執行一組語句。
語法
If condition Then [statements][Else elsestatements]
或者,可以使用塊形式的語法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements] 。
[Else
[elsestatements]]
End If
If。Then。Else 語句的語法具有以下幾個部分:
部分 描述
condition 必要參數。一個或多個具有下面兩種類型的表達式:
數值表達式或字符串表達式,其運算結果為 True 或 False。如果 condition 為 Null,則 condition 會視為 False。
TypeOf objectname Is objecttype 形式的表達式。其中的 objectname 是任何對象的引用,而 objecttype 則是任何有效的對象類型。如果 objectname 是 objecttype 所指定的一種對象類型,則表達式為 True,否則為False。
statements 在塊形式中是可選參數;但是在單行形式中,且沒有 Else 子句時,則為必要參數。一條或多條以冒號分開的語句,它們在 condition 為 True 時執行。
condition-n 可選參數。與 condition 同。
elseifstatements 可選參數。一條或多條語句,它們在相關的 condition-n 為 True 時執行。
elsestatements 可選參數。一條或多條語句,它們在前面的 condition 或 condition-n 都不為 True 時執行。
說明
可以使用單行形式(第一種語法)來做短小簡單的測試。但是,塊形式(第二種語法)則提供了更強的結構化與適應性,并且通常也是比較容易閱讀、維護及調試的。
注意 在單行形式中,按照 If。Then 判斷的結果也可以執行多條語句。所有語句必須在同一行上并且以冒號分開,如下面語句所示:
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 語句。
Else 和 ElseIf 子句都是可選的。在 If 塊中,可以放置任意多個 ElseIf 子句,但是都必須在 Else 子句之前。If 塊也可以是嵌套的。
當程序運行到一個 If 塊(第二種語法)時,condition 將被測試。如果 condition為 True,則在 Then 之后的語句會被執行。如果 condition 為 False,則每個 ElseIf 部分的條件式(如果有的話)會依次計算并加以測試。如果找到某個為 True 的條件時,則其緊接在相關的 Then 之后的語句會被執行。如果沒有一個 ElseIf 條件式為 True(或是根本就沒有 ElseIf 子句),則程序會執行 Else 部分的語句。而在執行完 Then 或 Else 之后的語句后,會從 End If 之后的語句繼續執行。
提示 根據單一表達式來執行多種可能的動作時,Select Case 更為有用。不過,TypeOf objectname Is objecttype 子句不能在 Select Case 語句中使用。
注意 TypeOf 不能與諸如 Long、Integer 以及其他不是 Object 的固定數據類型一起使用。
vb中的if語句問題
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Boolean
* = a
* = b
* = c
If a Mod 3 = 0 And b Mod 3 = 0 Then
Print c = True
Else
Print c = False
End If
End Sub改這個?
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Boolean
* = a
* = b
* = c
If a Mod 3 = 0 And b Mod 3 = 0 Then
Print c = True
'Print c = true 如果你的變量"C"是True則輸出True,否則輸出False。
'如果你想輸出“c = true”這個表達式,就用這條語句:print "c = true"
'如果你想設置變量“C”為true則把Print取消,直接用 c=true 這條語句就行了。
Else
Print "c = False"
'Print c = False 如果你的變量"C"是False則輸出True,否則輸出False。
'如果你想輸出“c = False”這個表達式,就用這條語句:print "c = False"
'如果你想設置變量“C”為false則把Print取消,直接用 c=false 這條語句就行了。
End If
End Sub
'順便說一句,你的If語句不能再改了。
關于vb中if 語句的嵌套問題
標準的if格式你應該知道吧 我就不說了 只說一下嵌套
在一次if判斷里,可以嵌套無數個子if判斷(我沒遇到過嵌套到頂的情況),無非是在then后或else后進行嵌套,因為互不影響 所以我就合起來說了:
if [真假判斷語句] then
*** '星號表示其余的代碼
if [嵌套的真假判斷語句1] then
[嵌套中if成立 執行的代碼]
else '可以不要 看情況
[嵌套中if不成立 執行的代碼]
end if
*** '星號表示其余的代碼
else if [嵌套的真假判斷語句2] then '這里的if可以跟在if后(加個空格),另起一行也行。如果在嵌套前還有別的代碼需要執行的話,就參照上面所寫的進行嵌套。
end if '如果if另起一行的話,要兩個end if,否則只要一個
注:注意嵌套的時候最好 用空格 把子判斷推后幾格,看著舒服。頂格寫也行,就是看著亂。
【哥們兒 這可全是我一個字一個字地打的啊~您就給個辛苦費吧~呵呵 有不懂的再通過 補充 問我】
VB里的IF語句,告訴幫忙修改下
1樓不能判斷等邊和等腰啊,運行結果不可能出現等邊的
完整的VB程序如下:
Private Sub Command1_Click()
a = *
b = *
c = *
If a + b < c Or a + c < b Or b + c < a Then Exit Sub
If a = b And b <> c Then
MsgBox "等腰三角形"
ElseIf a = c And b <> c Then
MsgBox "等腰三角形"
ElseIf c = b And a <> b Then
MsgBox "等腰三角形"
ElseIf a = b And b = c And a = c Then
MsgBox "等邊三角形"
Else
MsgBox "普通三角形"
End If
End Sub
Private Sub Form_Load()
* = ""
* = ""
* = ""
End Sub