定义用户自定义函数,接受 0 或多个参数.可以选择返回的结果.
Func 函数名称 ( [常量] [ByRef]
参数1, ..., [常量] [ByRef] 参数N, $可选参数1 = 值, ...)
...
[Return [值]]
EndFunc
Example1()
Example2()
; 示例 1
Func Example1()
;
三个用户定义函数的示例脚本
; 注意变量 ByRef
的使用, 并返回
Local
$foo = 2
Local
$bar = 5
MsgBox(0, "今天是
" & today(), "变量
$foo 等于 " & $foo)
swap($foo,
$bar)
MsgBox(0, "变量 $foo 与
$bar 交换后", "变量 $foo
现在等于 " & $foo)
MsgBox(0, "最后", "3 与 4
的较大数是 " & max(3, 4))
EndFunc ;==>Example1
Func swap(ByRef $a, ByRef $b) ;交换两个变量的值
Local
$t
$t
= $a
$a
= $b
$b
= $t
EndFunc ;==>swap
Func today() ;返回当前日期的 mm/dd/yyyy 格式
return (@MON & "/" & @MDAY & "/" & @YEAR)
EndFunc ;==>today
Func max($x, $y) ;返回两个数字的较大值
If
$x >
$y Then
Return $x
Else
Return $y
EndIf
EndFunc ;==>max
;示例脚本 1 结束
; 示例 2
Func Example2()
; 演示宏
@NumParams
Test_Numparams(1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
EndFunc ;==>Example2
Func Test_Numparams($v1 = 0, $v2
= 0, $v3 =
0, $v4 = 0, $v5
= 0, $v6 =
0, $v7 = 0, $v8
= 0, $v9 =
0, _
$v10 = 0, $v11
= 0, $v12 = 0,
$v13 = 0, $v14
= 0, $v15 = 0,
$v16 = 0, $v17
= 0, $v18 = 0,
$v19 = 0)
#forceref
$v1, $v2, $v3, $v4, $v5, $v6, $v7, $v8, $v9, $v10, $v11, $v12,
$v13, $v14, $v15, $v16, $v17, $v18, $v19
Local
$val
For
$i = 1 To @NumParams
$val &= Eval("v" & $i) & " "
Next
MsgBox(0, "@NumParams
示例", "@NumParams
=" & @NumParams & @CRLF & @CRLF & $val)
EndFunc ;==>Test_Numparams
;示例脚本 2 结束
provider with jb51.net (unicode) |