错误博客( cuowu.com )发布于 2019-06-08 12:55:39
按键精灵子程序
按键精灵子程序,如果脚本中有些内容完全相同或是相似,或者是把一个大的任务分解成若干个子任务。像这两个情况都可以把这些重复的程序段单独编写成子程序,然后在该处调用这个子程序,调用完成后会自动返回调用处,然后继续往下执行。
子程序如果不被调用的话,它是不会被执行的。此外子程序间还可以相互调用。
脚本语法格式:
Sub 子程序名(参数列表···)
- 脚本代码
End Sub
调用子程序:
- Call 子程序名(参数列表···)
参数列表可以带一个或是多个参数,也可以不带参数。如果有多个参数的时候,每个参数中间用逗号隔开,这些参数我们称它为形参,它作用域仅限于当前的子程序。而调用函数时传进来的参数我们称它为实参。
不带参数的子程序
例子:
Call 自动补血() //从这里跳到自动补血里面执行
TracePrint “调用自动补血完成”
Sub 自动补血()
IfColor 1289,281,”B9A05E”,0 Then
- MessageBox “颜色等于”
Else
- MessageBox “颜色不等于”
End If
End Sub
带参数的子程序
带参数的子程序,顾名思义就是可以往子程序里面传递参数。
x = 1
y = 2
Call 子程序(x,y)
//以下是脚本的子程序内容
Sub 子程序(a,b)
- TracePrint “a=” & a
- TracePrint “b=” & b
End Sub
脚本运行后的结果是:
a=1
b=2
从运行的结果我们可以看出调用子程序时是把实参x的值传递给形参a,把实参y的值传递给形参b。所以,a的值是1,b的值是2。
这是最简单的参数传递过程,当实参的值传递给形参的值后,形参的值再如何改变,实参的值也不会改变。
接下来我们把实参和形参的变量名都改成x和y,并且在子程序里面交换x,y的值,最后在子程序和主脚本中都输出x,y的值进行对比。脚本如下:
x=1
y=2
Call 交换变量的值(x,y)
TracePrint “主脚本中,实参x=” & x
TracePrint “主脚本中,实参y=” & y
//以下是脚本的子程序内容
Sub 交换变量的值(x,y)
- z=x
- x=y
- y=z
- TracePrint “交换后,形参x= ” & x
- TracePrint “交换后,形参y= ” & y
End Sub
进入调试,启动脚本,调试信息里面输出:
交换后,形参x=2
交换后,形参y=1
主脚本中,实参x=1
主脚本中,实参y=2
从上面的信息可以看出,在子程序里面x,y的值已经互换了。但是主脚本的x,y仍然是原来的值。
其实当实参和形参的名称一样的时候,在子程序内部只有形参有效。所以,上面的子程序里面改变的是形参的值,实参在这里并不会被改变。
随机文章
长安福特就“掀裙广告”致歉小小课堂:可以发表文章的网站有哪些?
产品促销社区地推方案
网站优化基本概念
社群兴起颠覆营销模式
077 韩雪要我死-阎川魔鬼游戏
263 你别死-阎川魔鬼游戏
反恐精英cs1.6中文版下载

发表评论