首页 > 留学知识库

问题: 请教基本语句

DO后面是跟什么东西的?
end if总共要写多少个是根据什么判断的?

解答:

Do...Loop 语句
当条件为 True 时,或直到条件变为 True 时,重复执行一个语句块中的命令。
语法
Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]

Loop

或者可以使用下面这种语法:
Do
[statements]
[Exit Do]
[statements]

Loop [{While | Until} condition]

Do Loop 语句的语法具有以下几个部分:
部分 描述
condition 可选参数。数值表达式或字符串表达式,其值为 True 或 False。如果 condition 是 Null,则 condition 会被当作 False。
statements 一条或多条命令,它们将被重复当或直到 condition 为 True。

判定结构


Visual Basic 过程能够测试条件式,然后根据测试结果执行不同的操作。Visual Basic 支持的判定结构有:

If...Then


If...Then...Else


Select Case
If...Then
用 If...Then 结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:

If condition Then statement

If condition Then
statements

End If

Condition 通常是比较式,但它可以是任何计算数值的表达式。Visual Basic 将这个值解释为 True 或 False:一个为零的数值为 False,而任何非零数值都被看作 True。若 condition 为 True,则 Visual Basic 执行 Then 关键字后面的所有 statements。可以使用单行或多行语法有条件地执行一个语句(下面两个例子等价):

If anyDate < Now Then anyDate = Now

If anyDate < Now Then
anyDate = Now
End If

注意:If...Then 的单行格式不用 End If 语句。如果 condition 为 True 时要执行多行代码,则必须使用多行块 If...Then...End If 语法。

If anyDate < Now Then
anyDate = Now
Timer1.Enabled = False '定时器控制失效。
End If

If...Then...Else
用 If...Then...Else 块定义几个语句块,执行其中一个语句:

If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] ...
[Else
[statementblock-n]]

End If

Visual Basic 首先测试 condition1。如果它为 False,Visual Basic就测试 condition2,依次类推,直到找到一个为 True 的条件。当它找到一个为 True 的条件时,Visual Basic就会执行相应的语句块,然后执行 End If 后面的代码。作为一个选择,可以包含 Else 语句块,如果条件都不是 True,则 Visual Basic 执行 Else 语句块。

If...Then…ElseIf 只是 If...Then...Else 的一个特例。注意,可以使用任意数量的 ElseIf 子句,或者一个也不用。可以有一个 Else 子句,而不管有没有 ElseIf 子句。

例如,应用程序可以根据菜单控件数组中哪个控件被单击而采取相应的动作:

Private Sub mnuCut_Click (Index As Integer)
If Index = 0 Then '“剪切”命令。
CopyActiveControl '调用通用过程。
ClearActiveControl
ElseIf Index = 1 Then '“复制”命令。
CopyActiveControl
ElseIf Index = 2 Then '“清除”命令。
ClearActiveControl
Else '“粘贴”命令。
PasteActiveControl
End If
End Sub