按键精灵手机助手的基本命令——控制命令 | 信义之树

按键精灵手机助手的基本命令——控制命令

2020年06月28日 星期日 18:46:46 按键精灵 9,252 次 0
命令名称: If 如果..则 (判断表达式并执行语句)
命令功能: 如果条件表达式成立,则执行对应语句
语法格式:
If 条件  Then
执行语句
End If
参数说明:
参数1 条件型,任意有效表达式
返回值:
脚本例子:

例子1:
Dim i=0
If i=0 Then
TracePrint "条件判断符合被通过!!"
End If
//通过判断表达式的取值,来执行后面的动作或控制
例子2:
Dim i=0
If i=0 Then
TracePrint "条件判断符合被通过!!"
ElseIf i=1 Then
TracePrint "否则条件判断符合被通过!!"
Else
TracePrint "否则!!"
End If
//通过判断表达式的取值,来执行后面的动作或控制
备注:
If判断相当于我们口语中说的如果……则……否则如果……则……否则……
一个If判断必须要有一个End If来配对,里面的ElseIf可以有多个,
但是Else最多只能有一个,并且Else只能放在最后一个条件上
Select Case语句与If语句类似,但是两者也有区别
If主要用于多个不同条件的判断,而Select Case则是用于同一个条件多个不同结果的判断
命令名称: Select Case 情况条件选择
命令功能: 根据情况条件来选择执行对应语句
语法格式:
Select Case 变量
Case 值1[,值2,...] 执行语句1
Case Else
执行语句2
End Select
循环体
Wend
参数说明:
变量:任意有效变量,检查是否与下面值相等。
值:任意有效值,不支持判断语句,多个值用逗号“,”隔开表示逻辑运算中的“或”运算。
执行语句:任意有效代码语句。
返回值:
脚本例子:

//不支持判断语句 如:Case a>0
//<>---------------------------------------------以下是选择条件结结构判断
Dim 变量=1
Select Case 变量
Case 0,1 可支持判断多个值,中间以逗号隔开
TracePrint "你输入的数字为:0或者1"
Case 2
TracePrint "你输入的数字为:2"
Case 3
TracePrint "你输入的数字为:3"
Case 4
TracePrint "你输入的数字为:4"
Case 5
TracePrint "你输入的数字为:5"
Case 6
TracePrint "你输入的数字为:6"
Case 7
TracePrint "你输入的数字为:7"
Case 8
TracePrint "你输入的数字为:8"
Case 9
TracePrint "你输入的数字为:9"
Case Else
TracePrint "你输入的数字不正确,请输入(0~9)数字!"
End Select
备注:
Select Case后面跟的是一个变量,下面Case条件跟的是值,
不能跟判断语句,比如i>0之类的不支持
一个Select Case判断必须要有一个End Select来配对,里面的Case可以有多个,
但是Case Else最多只能有一个,并且Case Else只能放在最后一个条件上
Select Case语句与If语句类似,但是两者也有区别
If主要用于多个不同条件的判断,而Select Case则是用于同一个条件多个不同结果的判断
命令名称: Do 循环
命令功能: 条件循环语句。可以是无限循环,也可以是有限循环
语法格式:
5种语法格式,详见例子1—5
参数说明:
参数1 条件:判断条件表达式
参数2 循环体:任意有效代码语句
返回值:
脚本例子:

例子1:
//支持Exit Do 命令退出循环
Do
TracePrint "我停不下来啦!!快住手"
Loop
//最常见的无限循环(死循环)

例子2:
Dim i=0
Do While i=0
TracePrint "我停不下来啦!!快住手"
Loop
//当循环条件成立的时候,反复执行循环体

例子3:
Dim i=0
Do Until i=0
TracePrint "为什么没有循环到我呢?"
Loop
TracePrint "循环结束"
//当循环条件成立的时候,离开循环体

例子4:
Dim i=0
Do Until i=1
TracePrint "我停不下来啦!!快住手"
Loop
//当循环条件不成立的时候,反复执行循环体

例子5:
Dim i=0
Do
TracePrint "ok"
Loop While i <> 0
//条件放后面,前面的循环内容可以执行一次!

例子6:
Dim n=0
Do While true
TracePrint "我将循环10次停下来!!"
If n>=10 Then
//当循环条件成立的时候,离开循环体
Exit do
End if
n=n+1
Loop
TracePrint n & "次"

备注:
Do循环通常用于无限循环与条件循环,要注意While和Until的位置与条件,
如果怕弄迷糊的话,那么就使用If结合Exit Do作为退出条件
Exit Do只能退出当前的Do循环。
命令名称: For 循环一定次数
命令功能: 循环语句。可以循环一定次数,也可以按照变量的起始数值到终止数值循环(如果不指定步长数值,默认步长为1)
语法格式:
2种语法格式,详见例子1、2

For 次数
执行语句
Next

参数说明:
参数1 整数型,循环次数
返回值:
脚本例子:

例子1:固定循环次数后离开
For 10 '固定循环10次跳出
TracePrint "循环中……"
Next
TracePrint "离开循环"

例子2:范围循环
Dim i
For i = 0 To 9 '这里没写步长,默认每次循环结束 i 都+1,
那么10次后等于9,第11次等于10,大于9,离开循环

TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

Dim i
For i = 0 To 19 Step 2 '步长为2,每次循环结束 i 都+2,
那么10次后等于18,第11次等于20,大于19,离开循环

TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

Dim i
For i = 9 To 0 Step -1 '步长为-1,每次循环结束 i 都-1,
那么10次后等于0,第11次等于-1,小于0,离开循环

TracePrint "循环中,i=" & i
Next
TracePrint "离开循环,i=" & i

例子3:循环离开
Dim i
i=5
For i=0 To 10
TracePrint "循环中,i=" & i
If i=5 Then
Exit For '离开当前For循环
End If
Next

备注:
For循环通常是用于表示有限次数循环,故最好避免将步长设置为0
或者在循环体中改变循环变量的值
Exit For只能退出当前的For循环
命令名称: For Each...In 遍历数组
命令功能: 对数组中的每个元素重复执行一组语句
语法格式:
For Each 变量名 in 数组
执行语句
Next
参数说明:
参数1 变量名,临时数组元素
参数2 数组,待遍历数组
返回值:
脚本例子:

Dim Arr
Arr=Array("我","爱","按","键","精","灵","!")
For Each a In Arr
TracePrint a //输出数组的所有元素
Next
备注:
变量名存放的是临时数组元素,可不定义
命令名称: While 如果..则 (判断表达式并执行语句)
命令功能: 如果条件表达式成立,则循环执行对应语句
语法格式:
While 条件
循环体
Wend
参数说明:
参数1 条件型,任意有效表达式
返回值:
脚本例子:

例子1
Dim i=0
While i=0
TracePrint "我停不下来啦!!快住手"
Wend
//当循环条件成立的时候,反复执行循环体

例子2
Dim i
i = 0
//跳出循环
While i < 10 i = i + 1 TracePrint "正在循环中,i=", i If i = 5 then TracePrint "准备退出循环" Exit While End If Wend TracePrint "循环结束,i=", i

备注:
While循环通常用于无限循环与条件循环,但是灵活性不如Do循环,推荐使用 Do 循环
Exit While只能退出当前的While循环
命令名称: Function 函数
命令功能: 定义一个函数
语法格式:
Function 函数名([自定义参数1, 自定义参数2, ...])
执行语句
[函数名=返回值] End Function
参数说明:
函数名:任意有效标识符。
执行语句:任意有效代码语句。
自定义参数:可选参数,允许多个,任意有效标识符
返回值: 可选,自定义返回值
脚本例子:

例子1:自定义函数调用
Call 自定义函数()
EndScript
Function 自定义函数()
TracePrint "我是自定义函数,被你调用了"
End Function

例子2:自定义函数调用并传入参数,参数可支持多个。
Dim 变量1,变量2
变量1="我是字符串信息"
变量2=123
Call 子程序(变量1,变量2,"第三个参数",456)
EndScript
//定义一个过程,可以在脚本中调用这个过程
Function 自定义函数(参数1,参数2,参数3,参数4)
TracePrint "我是自定义函数,被你调用了"
TracePrint "参数1=" & 参数1
TracePrint "参数2=" & 参数2
TracePrint "参数3=" & 参数3
TracePrint "参数4=" & 参数4
End Function
//支持Exit Function 命令直接退出子程序过程

例子3:Function与Sub的区别,支持返回值
Dim 返回值
返回值=自定义函数()
TracePrint 返回值
EndScript
Function 自定义函数()
TracePrint "我是自定义函数,被你调用了"
自定义函数="把过程中想要返回的信息写这里"
End Function

例子4:自定义函数加法运算
Dim 返回值
返回值=加法运算(1,2)
TracePrint 返回值
EndScript
Function 加法运算(参数1,参数2)
TracePrint "我是自定义函数,被你调用了"
Dim 计算结果
计算结果=参数1+参数2
加法运算=计算结果
End Function

备注:
函数可以代替所有子程序,而子程序无法代替所有函数,因为函数有返回值,子程序没有返回值
命令名称: Sub 子程序
命令功能: 定义一个过程(子程序)
语法格式:
Sub 子程序名([自定义参数1, 自定义参数2, ...])
执行语句
End Sub
参数说明:
子程序名:任意有效标识符
执行语句:任意有效代码语句
自定义参数:可选参数,允许多个,任意有效标识符
返回值:
脚本例子:

例子1:子程序调用
Call 子程序()
EndScript
Sub 子程序()
TracePrint "我是子程序,被你调用了"
End Sub

例子2:子程序调用并传入参数,参数可支持多个。
Dim 变量1,变量2
变量1="我是字符串信息"
变量2=123
Call 子程序(变量1,变量2,"第三个参数",456)
EndScript
//定义一个过程,可以在脚本中调用这个过程
Sub 子程序(参数1,参数2,参数3,参数4)
TracePrint "我是子程序,被你调用了"
TracePrint "参数1=" & 参数1
TracePrint "参数2=" & 参数2
TracePrint "参数3=" & 参数3
TracePrint "参数4=" & 参数4
End Sub
//支持Exit Sub 命令直接退出子程序过程

备注:
函数可以代替所有子程序,而子程序无法代替所有函数,因为函数有返回值,子程序没有返回值
若省略调用关键字Call与参数的括号,则子程序与自定义参数之间必须用空格隔开
命令名称: Rem 标记
命令功能: 标记命令
语法格式:
Rem identifier
参数说明:
identifier 字符串型,过程名,任意有效标识符
返回值:
脚本例子:

//不支持数字开头的和符号作为标记名
Rem 脚本开始
备注:
Rem既可以作为标记,配合 Goto 跳转 使用,也可以作为注释
命令名称: Goto 跳转到标记
命令功能: 跳转到Rem标记处
语法格式:
Goto sign
参数说明:
sign: 字符串型,标记,由Rem定义的任意有效标识符
返回值:
脚本例子:

Goto 标记
Delay 100
Rem 标记
TracePrint "你直接跳到这里了!!,上面的延迟没有被执行!!"
//跳转语句,可以跳转到rem标记过的标记处继续执行
备注:
可以适当使用Goto,但是不能过度滥用Goto
命令名称: Call 调用过程
命令功能: 调用函数或者子程序
语法格式:
Call 过程名([自定义参数1, 自定义参数2, ...])
参数说明:
参数1:字符串型,过程名
参数2:自定义参数:可选参数,允许多个,根据调用的过程确定参数的数量。
返回值:
脚本例子:

例子1
Call 子程序("我是子程序,被你调用了")
EndScript
//支持中文名变量
Sub 子程序(参数)
TracePrint 参数
End Sub
//定义一个过程,可以在脚本中调用这个过程

例子2
Call 函数()
TracePrint "调用函数结束了"
Function 函数()
TracePrint "我是被你调用的函数"
End Function

备注:
若调用子程序时,省略调用关键字Call与参数的括号,则子程序与自定义参数之间必须用空格隔开
子程序使用Call调用时,无法保存返回值到变量中
命令名称: EndScript 脚本停止运行
命令功能: 强制结束脚本的执行
语法格式:
EndScript
参数说明:
返回值:
脚本例子:

TracePrint "脚本开始执行"
EndScript
TracePrint "上面强制停止了,这里不会输出"
备注:
无条件强制结束一个脚本的执行,包括多线程也会停止