控制命令我们分成两个部分:判断选择命令、循环命令
判断命令
- 判断命令主要是对某个条件的不同结果,分别执行不同的操作。脚本是否足够智能,就体现在判断命令是否用的好
复制代码
命令名称 | if…end if |
命令功能 | 判断表达式并执行语句 |
命令参数 | 条件表达式 |
返回值 | 无 |
范例一 :
- Dim a,b
- a = 1
- b = 2
- If a > b Then
- TracePrint “a > b”
- Else
- TracePrint “a < b”
- End If
复制代码
这个就是最简单的一种判断范例,当表达式成立的时候就执行下面的语句,否则就执行else后面的语句。
范例二 :
- Dim a
- a = true
- If a Then
- TracePrint “a = true”
- Else
- TracePrint “a = false”
- End If
复制代码
上面这个例子中,If a Then 等于 If a = true Then
范例三 :
- Dim a
- a = 2
- If a = 1 Then
- TracePrint “a = 1”
- ElseIf a = 2 Then
- TracePrint “a = 2”
- Else
- TracePrint “a”
- End If
复制代码
上面范例中 elseif 表示不同的条件判断:如果……则……否则……
按键会从上到下逐一判断,当第一个表达式不成立,就判断第二个表达式,直到有表达式成立或者全部表达式都不成立的时候就结束判断
命令名称 | select case |
命令功能 | 情况条件选择 |
命令参数 | 变量:任意有效变量,检查是否与下面值相等。 值:任意有效值,不支持判断语句,多个值用逗号“,”隔开表示逻辑运算中的“或”运算。 执行语句:任意有效代码语句。 |
返回值 | 无 |
范例 :
- Dim a
- a = 2
- Select Case a
- Case 1
- TracePrint “a = 1”
- Case 2
- TracePrint “a = 2”
- Case 3
- TracePrint “a = 1”
- Case Else
- TracePrint a
- End Select
复制代码
上面范例中,就是根据a的值的不同来执行对应的语句。当a=1时执行traceprint “a=1″…以此类推。当一个变量可能有多个不同值,并且不同的值对已对应不同的处理时,就很适合使用这种条件语句。
循环命令
命令名称 | do…loop |
命令功能 | 无限循环 |
命令参数 | 参数1 条件:判断条件表达式 参数2 循环体:任意有效代码语句 |
返回值 | 无 |
无限循环 :
- Do
- TracePrint “无限循环开始”
- Delay 1000
- Loop
复制代码
这种循环启动后就会一直循环下去
条件成立时循环:
- Dim i=0
- Do While i=0
- TracePrint “循环开始”
- Delay 1000
- Loop
复制代码
这种循环体是只有当while后面的表达式成立后才会执行里面的循环,每次循环都会判断表达式一次
条件不成立时循环 :
- Dim i=0
- Do Until i=0
- TracePrint “循环开始”
- Loop
- TracePrint “循环结束”
复制代码
这种循环体是当until后面表达式不成立才会执行循环。
- Dim i=1
- Do
- If i > 5 Then
- TracePrint “退出循环”
- Exit Do
- End If
- Loop
复制代码
上面范例中的exit do 表示退出当前的do循环。exit do 这个命令只能用来退出当前所在的循环
命令名称 | While..Wend |
命令功能 | 条件循环语句 |
命令参数 | 参数1 :表达式 |
返回值 | 无 |
范例:
- Dim i=0
- While i=0
- TracePrint “循环开始”
- Wend
复制代码
这个命令和do while 的用处一样,都是当条件成立后执行语句
命令名称 | For |
命令功能 | 循环一定次数 |
命令参数 | 参数1 :循环次数 |
返回值 | 无 |
循环固定次数:
- For 10
- TracePrint “循环10次”
- Delay 200
- Next
复制代码
计次循环:
- For i = 0 To 10
- TracePrint “循环第:” & i & “次”
- Delay 200
- Next
- For i = 0 To 10 Step 2
- TracePrint “当前i的值是:” & i
- Delay 200
- Next
- For i = 10 To 0 Step -2
- TracePrint “当前i的值是:” & i
- Delay 200
- Next
复制代码
范例中的循环是计次循环的,上面代码中是设定一个变量 i 的初始值是 0 每次循环 i 的值都加1 ,直到 i 的值为10 为止。step 表示“步长”,step 2 就是表示每次循环 i 的值加2。
如果没有定义 i 的话,那这个循环里的变量 i 就是循环里的局部变量。如果定义了变量 i ,则这个 i 就是全局变量
命令名称 | For Each … In |
命令功能 | 遍历数组 |
命令参数 | 参数1 变量名,临时数组元素 参数2 数组,待遍历数组 |
返回值 | 无 |
范例:
- Dim arr=array(1,3,5,3,6)
- For Each v In arr
- TracePrint v
- Next
复制代码
这个命令是用来遍历出数组中的每个元素内容。其中变量 v 是属于这个循环内的局部变量。
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。