函数嵌套出现的问题[已解决]
本帖最后由 cashiba 于 2018-3-5 21:11 编辑Local $x=Int(StringStripWS(InputBox("请输入序号","",12), 7))
If @error Or $x="" Then Exit MsgBox(4096,"","请重新输入序号!")
输入其它整数没什么问题,输入0 的时候会退出....
问题在哪个环节呢
{:face (189):} 0 使 $x = "" 成立,自然就 Exit 用==代替=,能满足你想要的效果。 本帖最后由 afan 于 2018-3-5 20:00 编辑
用==代替=,能满足你想要的效果。
haijie1223 发表于 2018-3-5 19:30 http://www.autoit3.cn/images/common/back.gif
恐怕不是他想要的效果,比如输入几个空格…
建议这类代码少用嵌套,分步判断使代码更健壮 回复 4# afan
他用了一个StringStripWS命令 0 使 $x = "" 成立,自然就 Exit
afan 发表于 2018-3-5 18:59 http://www.autoit3.cn/images/common/back.gif
谢谢A大....
Local $ipt = StringStripWS(InputBox("请输入序号", "^_^", 6), 7)
If @error Or $ipt = "" Then Exit MsgBox(4096, $ipt, "请重新输入序号!")
Local $t = Int($ipt)
这样就没问题了 用==代替=,能满足你想要的效果。
haijie1223 发表于 2018-3-5 19:30 http://www.autoit3.cn/images/common/back.gif
谢谢海总管.....
还没想到过用==,这下记住这个符号了
{:face (84):} 再次感谢两位大神的指导!
{:face (88):} 回复afan
他用了一个StringStripWS命令
haijie1223 发表于 2018-3-5 20:44 http://www.autoit3.cn/images/common/back.gif
正因为他用了 StringStripWS,才确定他需要排除空格。在输入空格时,应该弹出 MsgBox 提示重输 谢谢A大....
这样就没问题了
cashiba 发表于 2018-3-5 21:05 http://www.autoit3.cn/images/common/back.gif
这样嵌套还是有无意义的代码,If @Error 永远不会成立。其次,有些细节可以处理,简例:
Local $x = InputBox("请输入序号", "", 12, " m") ;必须输入内容,否则不能点确定
If @error Then Exit ;取消则不处理
$x = StringStripWS($x, 7)
If $x = "" Then Exit MsgBox(4096, "", "请重新输入序号!")
$x = Int($x) 回复 9# afan
对,他外边还有个int。 回复 11# haijie1223
If $x = "" Then Exit MsgBox(4096, "", "请重新输入序号!")
這行我看不懂意思 ??
EXIT 後面的 MSGBOX 會執行嗎??為什麼要這樣寫呢?? 字符+1也是整型!!! 回复 12# kk_lee69
能执行 这样嵌套还是有无意义的代码,If @Error 永远不会成立。其次,有些细节可以处理,简例:
afan 发表于 2018-3-5 22:00 http://www.autoit3.cn/images/common/back.gif
嗯,好像是的,有些废代码
每个函数都有@error情况,嵌套后只能判断和处理最外层的@error,无法精确和细化....
页:
[1]
2