具有可选/默认参数的AutoIt v3功能

时间:2011-08-30 09:58:46

标签: function parameters autoit

我试图调用一个声明如下的函数:

Func doCall($indexNumber = "1")
MsgBox(0, "Test", $indexNumber) 
EndFunc

但是我在使用前未声明$indexNumber变量时收到错误。我希望能够在没有doCall()参数的情况下拨打$indexNumberMsgBox应该显示1,对吗?

可以这样做吗?还是其他任何解决方案?

2 个答案:

答案 0 :(得分:1)

我将它放入一个文件并成功运行...它显示一个带有1的消息框。

doCall()

Func doCall($indexNumber = "1")
  MsgBox(0, "Test", $indexNumber) 
EndFunc

修改

尝试添加处理函数:

Func doCallHandler()
  doCall()
EndFunc

然后,执行此操作:

GUICtrlSetOnEvent($Button1, "doCallHandler")

答案 1 :(得分:1)

如果您申报变量,则不应该有任何问题。将其添加到脚本顶部附近(在引用$indexNumber之前):

Global $indexNumber

修改

我不确定使用GUICtrlSetOnEvent时为什么没有选择默认值。作为解决方法,尝试修改您的功能:

Func doCall($indexNumber = "1")
    If $indexNumber = '' Then $indexNumber = '1'
    MsgBox(0, "Test", $indexNumber)
EndFunc