找回密码
 加入
搜索
查看: 4677|回复: 18

[AU3基础] 函数嵌套出现的问题[已解决]

 火.. [复制链接]
发表于 2018-3-5 17:49:10 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2018-3-5 21:11 编辑

Local $x=Int(StringStripWS(InputBox("请输入序号","",12), 7))
If @error Or $x="" Then Exit MsgBox(4096,"","请重新输入序号!")

输入其它整数没什么问题,输入0 的时候会退出....
问题在哪个环节呢
发表于 2018-3-5 18:59:13 | 显示全部楼层
0 使 $x = "" 成立,自然就 Exit
发表于 2018-3-5 19:30:35 | 显示全部楼层
用==代替=,能满足你想要的效果。
发表于 2018-3-5 19:57:21 | 显示全部楼层
本帖最后由 afan 于 2018-3-5 20:00 编辑
用==代替=,能满足你想要的效果。
haijie1223 发表于 2018-3-5 19:30



    恐怕不是他想要的效果,比如输入几个空格…
建议这类代码少用嵌套,分步判断使代码更健壮
发表于 2018-3-5 20:44:32 | 显示全部楼层
回复 4# afan


    他用了一个StringStripWS命令
 楼主| 发表于 2018-3-5 21:05:59 | 显示全部楼层
0 使 $x = "" 成立,自然就 Exit
afan 发表于 2018-3-5 18:59

谢谢A大....
Local $ipt = StringStripWS(InputBox("请输入序号", "^_^", 6), 7)
If @error Or $ipt = "" Then Exit MsgBox(4096, $ipt, "请重新输入序号!")
Local $t = Int($ipt)

这样就没问题了
 楼主| 发表于 2018-3-5 21:07:59 | 显示全部楼层
用==代替=,能满足你想要的效果。
haijie1223 发表于 2018-3-5 19:30

谢谢海总管.....
还没想到过用==,这下记住这个符号了
 楼主| 发表于 2018-3-5 21:09:55 | 显示全部楼层
再次感谢两位大神的指导!
发表于 2018-3-5 21:49:51 | 显示全部楼层
回复  afan


    他用了一个StringStripWS命令
haijie1223 发表于 2018-3-5 20:44



    正因为他用了 StringStripWS,才确定他需要排除空格。在输入空格时,应该弹出 MsgBox 提示重输
发表于 2018-3-5 22:00:26 | 显示全部楼层
谢谢A大....

这样就没问题了
cashiba 发表于 2018-3-5 21:05



    这样嵌套还是有无意义的代码,If @Error 永远不会成立。其次,有些细节可以处理,简例:
Local $x = InputBox("请输入序号", "", 12, " m")        ;必须输入内容,否则不能点确定
If @error Then Exit        ;取消则不处理
$x = StringStripWS($x, 7)
If $x = "" Then Exit MsgBox(4096, "", "请重新输入序号!")
$x = Int($x)
发表于 2018-3-6 08:19:52 | 显示全部楼层
回复 9# afan


    对,他外边还有个int。
发表于 2018-3-6 09:05:21 | 显示全部楼层
回复 11# haijie1223


    If $x = "" Then Exit MsgBox(4096, "", "请重新输入序号!")

這行我看不懂意思 ??

EXIT 後面的 MSGBOX 會執行嗎??  為什麼要這樣寫呢??
发表于 2018-3-6 09:06:09 | 显示全部楼层
字符+1也是整型!!!
发表于 2018-3-6 19:48:51 | 显示全部楼层
回复 12# kk_lee69


    能执行
 楼主| 发表于 2018-3-6 23:09:15 | 显示全部楼层
这样嵌套还是有无意义的代码,If @Error 永远不会成立。其次,有些细节可以处理,简例:
afan 发表于 2018-3-5 22:00

嗯,好像是的,有些废代码
每个函数都有@error情况,嵌套后只能判断和处理最外层的@error,无法精确和细化....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 09:31 , Processed in 0.087516 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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