学习游戏辅助制作:VBS的Execute语句
来源:网络收集 点击: 时间:2024-03-10小编之前考认证的时候遇到这样的一个题目:a=1:execute(a=2*a),a的值为?A:3B:1C:2D:4
2/6疑问:
很多同学,同样也遇到了这道题,其中有好多童鞋的第一反应和小编是一样的:execute是什么?直觉告诉我它一定是一个很牛逼的东西,于是迫不及待的去翻了按键命令库,命令库上说execute是对指定的字符串执行正则表达式搜索。什么跟什么啊?越看越晕,完全不知道这道题该怎么解答。
3/6解惑:
其实呢,题目中的execute并不是命令库中的execute方法,而是vbs里的execute语句。
Execute语句
功能:执行一个或多个指定的语句。语法:Executestatements
*所需要的statements参数是一个字符串表达式,其中包含一个或多个要执行的语句。如果要在statements参数中包含多条语句,应使用分号或嵌入的分行将其分隔开。
注意:Execute语句,statements参数支持部分按键函数,不支持执行按键中的命令库命令、不支持线程BeginThread语句——Execute是vbs语句,而命令库里的函数,是使用按键语言编写的,execute语句无法直接执行它。
题目中execute(a=2*a)a=2*a可以有两种解释。首先是作为赋值语句,将2*a的值赋予a。其次是作为表达式,测试a和2*a的值是否相等。如果相等,结果为True;否则,结果为False。Execute语句总是使用第一种解释,而Eval方法总是使用第二种。
Execute语句例子:
a=1
Execute(a=2*a)
TracePrinta
输出的结果为:2
Eval语句例子:
a=1
IfEval(a=2*a)Then
TracePrint相等
Else
TracePrint不相等
Endif
输出的结果为:不相等
4/6知识拓展:
1、使用execute语句,无法执行带有引号的语句
例子1:
ExecuteKeyPress3,1
运行之后,提示:语法错误:脚本我的脚本1,第1行,第20个字符:(错误码0)没有找到合法的符号。怎么办?

代码:
ExecuteKeyPress51,1
例子2:
Executerunappnotepad.exe
运行之后,提示:语法错误:脚本我的脚本1,第4行,第19个字符:(错误码0)没有找到合法的符号。解决方法:使用chr(34)来代替代码:
Executerunappchr(34)notepad.exechr(34)
2、无法调用按键插件命令
例子:
ExecuteCallPlugin.File.DeleteFile(G:\test\字库.txt)//调用File文件插件的删除文件命令
首先,需要将表达式中的”用chr(34)替换掉,如下:
ExecuteCallPlugin.File.DeleteFile(chr(34)G:\test\字库.txtchr(34))
可是,运行之后还是提示错误:缺少对象:Plugin
为什么会有这样的提示呢?是这样的,咱们的execute是vbs语句,而在vbs语句中要调用插件,是需要先建立插件对象的
6/6代码如下:
Setx=CreateObject(QMPlugin.File)
Executex.DeleteFile(chr(34)G:\test\字库.txtchr(34))
制作版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_310143.html