新手教学丨UiBot逻辑语句与循环语句

逻辑语句

【条件分支语句】

UIBot中使用的条件判断语句就是If语句,主要用于对某一个或者多个条件进行判断,从而执行不同流程。

方式一:如果...则...否则

If 条件

条件成立执行

Else

条件不成立执行

End If

方式二:如果 条件一 否则如果 条件二 否则

If 条件一

条件一成立执行

ElseIf 条件二

条件二成立执行

Else

上述条件均不成立

End If

【选择分支语句】

根据一定的条件,选择多个分支中的一个,与VBScript中的Select Case语句类似。先计算Select Case后面的表达式,然后判断是否有某个Case分支和这个表达式的值是一致的。如果没有一致的Case,则执行Case Else(如果有)后面的语句块

Select Case 表达式

Case 表达式1, 表达式2

表达式1或者表达式2成立执行

Case 表达式3, 表达式4

表达式3或者表达式4成立执行

Case Else

上述表达式均不成立

End Select

循环语句

【条件循环语句】

在UiBot中,条件循环语句只有Do…Loop语句这一种,但这一语句有以下五种不同的形式:

前置条件成立则循环:

在循环中先判断条件,条件成立则继续循环,否则自动退出循环

Do While 条件

语句块

Loop

前置条件不成立则循环:

和Do While 相反,条件成立则退出循环,否则继续循环

Do Until 条件

语句块

Loop

后置条件成立则循环:

在循环中先执行语句再判断条件,条件成立则继续循环,否则自动退出循环

Do

语句块

Loop While 条件

后置条件不成立则循环:

Do

语句块

Loop Until 条件

无限循环:

该循环语句本身不进行任何条件的判断,需要在语句块中自行做判断,如果语句块中没有跳出循环的语句,则会无限的执行该循环

Do

语句块

Loop

【计次循环语句】

计次循环语句主要用于执行一定次数的循环,和VBScript中的For循环类似,主要有以下几种方式:

从起始值到结束值每次加1:

For 变量 = 起始值 To 结束值

语句块

Next

从起始值到结束值,每次增加自定义的值:

For 变量 = 起始值 To 结束值 Step 步长

语句块

Next

当Step后的步长值为负数时,变量每次会递减步长值

For 变量=10 To 1 Step -1

TracePrint 变量

Next

在这种形式的For语句中,起始值、结束值、步长都只允许是整数型或者浮点数型,步长可以省略,默认为1。变量从起始值开始,每循环一次自动增加步长,直到大于结束值,循环才会结束。

【遍历数组类型数据】

使用For语句可以用来遍历数组型数据,主要有两种遍历方式:

方式一:

这种方式是利用了数组型数据的索引都是递增的特性来实现的。

For 索引=1 To UBound(数组)

TracePrint 数组[索引]

Next

方式二:

这种方式是专门用来遍历数组以及字典类型数据的,无需使用索引

For Each 变量 In 数组

TracePrint 变量

Next

命令会在每次循环中把数组中的元素逐个的存入循环的变量中。

【遍历字典类型数据】

遍历字典类型数据主要使用For Each 语句来实现,有两种方式遍历:

方式一:

此方法会获取出字典数据中的每个值,但是无法获取到这个值所对应的键名

For Each 值 In 字典

TracePrint 值

Next

方式二:

此方法可以同时获取到字典数据中的键名以及对应的值,是最常用来遍历字典对象的方法

For Each 键, 值 In 字典

TracePrint 键

TracePrint 值

Next

【结束/跳过循环】

在实际的循环使用中经常需要在中途结束后者是在某一条件成立时暂时跳过当次的循环,UIBot中可以这样来实现:

结束当前的循环:Break 语句

用于彻底跳出、结束当前的循环语句,执行后续的代码。只能用于Do循环和For循环之中

Dim i = 1

Do

If i = 5

Break

End If

TracePrint i

Loop

For i = 1 to 10

If i = 5

Break

End If

TracePrint i

Next

跳过当前循环,继续下一次循环:Continue 语句

用于临时跳过当前的循环,直接进行下一次的循环。只能用于Do循环和For循环之中

For i = 1 to 10

If i = 5

Break

End If

TracePrint i

Next