错误博客( 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仍然是原来的值。

其实当实参和形参的名称一样的时候,在子程序内部只有形参有效。所以,上面的子程序里面改变的是形参的值,实参在这里并不会被改变。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码