找回密码
 加入
搜索
查看: 2212|回复: 6

[AU3基础] AU3中如何实现类似@ERROR....GOTO....的过程?[已解决]

  [复制链接]
发表于 2017-4-4 20:26:14 | 显示全部楼层 |阅读模式
本帖最后由 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中好像没有类似的方法,那么要实现上述过程有什么好办法?
发表于 2017-4-4 20:34:01 | 显示全部楼层
本帖最后由 afan 于 2017-4-4 20:50 编辑

函数形式调用,也可以简单的循环
Local $sAnswer
Do
        $sAnswer = InputBox("询问", "请输入编号?", "0000")
Until Not @error And StringIsInt($sAnswer)
MsgBox(0,"",$sAnswer)
发表于 2017-4-4 20:45:36 | 显示全部楼层
递归吗
 楼主| 发表于 2017-4-5 00:05:20 | 显示全部楼层
函数形式调用,也可以简单的循环
afan 发表于 2017-4-4 20:34

还是A大细心,开始就是这样写的,但是结果总是不太对,以为循环不好用,原来是StringIsInt($sAnswer)与IsInt($sAnswer)的问题
 楼主| 发表于 2017-4-5 00:13:22 | 显示全部楼层
递归吗
sdlyfjx 发表于 2017-4-4 20:45

记得见过函数调用自身的例子,是不是你所说的递归呢?
经A大提示,这个帖子的问题已经解决了。暂时再挂两天,看看有没有递归方法实现的。
另外,还是觉得GOTO有其优点,就是比较灵活,不管在代码的什么地方,可以根据需要随时跳转,跟汇编里jump一样。
发表于 2017-4-5 03:46:16 | 显示全部楼层
去帮助里找下看
发表于 2017-4-5 10:11:22 | 显示全部楼层
回复 5# cashiba


    嗯!是的~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-24 08:18 , Processed in 0.083720 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表