AU3中如何实现类似@ERROR....GOTO....的过程?[已解决]
本帖最后由 cashiba 于 2017-4-6 17:01 编辑Local $sAnswer
ErrRedo:
$sAnswer= InputBox("询问", "请输入编号?", "0000")
if @error or not isint($sAnswer) then goto ErrRedo ;发生错误或输入非整数数字则返回重新输入
MsgBox(0,"",$sAnswer)
如上,在vb等中有GOTO方法或函数,可以很方便的实现有错误自动提示并循环输入
但是AU3中好像没有类似的方法,那么要实现上述过程有什么好办法? 本帖最后由 afan 于 2017-4-4 20:50 编辑
函数形式调用,也可以简单的循环Local $sAnswer
Do
$sAnswer = InputBox("询问", "请输入编号?", "0000")
Until Not @error And StringIsInt($sAnswer)
MsgBox(0,"",$sAnswer) 递归吗{:face (396):} 函数形式调用,也可以简单的循环
afan 发表于 2017-4-4 20:34 http://www.autoitx.com/images/common/back.gif
还是A大细心,开始就是这样写的,但是结果总是不太对,以为循环不好用,原来是StringIsInt($sAnswer)与IsInt($sAnswer)的问题 递归吗
sdlyfjx 发表于 2017-4-4 20:45 http://www.autoitx.com/images/common/back.gif
记得见过函数调用自身的例子,是不是你所说的递归呢?
经A大提示,这个帖子的问题已经解决了。暂时再挂两天,看看有没有递归方法实现的。
另外,还是觉得GOTO有其优点,就是比较灵活,不管在代码的什么地方,可以根据需要随时跳转,跟汇编里jump一样。 去帮助里找下看 回复 5# cashiba
嗯!是的~
页:
[1]