itljl 发表于 2008-11-23 23:30:30

这里or为什么不能用了?

Do
        $msgname = InputBox("test", "请输入(数字)", "", " M15", 1, 1, @DesktopWidth / 2 - 95, @DesktopHeight / 2 - 72)
Until StringIsDigit($msgname) Or @error=1

msgbox(0,"",$msgname)

我的目的是,显示一个输入框,当用户输入数字,或者点击取消按钮时退出循环,但是不行...为什么?

现在的情况是只有输入数字才能退出循环,点取消无法退出。

[ 本帖最后由 itljl 于 2008-11-24 17:47 编辑 ]

sanhen 发表于 2008-11-24 00:28:37


Do
      $msgname = InputBox("test", "请输入(数字)", "", " M15", 1, 1, @DesktopWidth / 2 - 95, @DesktopHeight / 2 - 72)
                if @error=1 Then ExitLoop
Until StringIsDigit($msgname)
msgbox(0,"",$msgname)

liongodmien 发表于 2008-11-24 11:52:35


Do
      $msgname = InputBox("test", "请输入(数字)", "", " M15", 1, 1, @DesktopWidth / 2 - 95, @DesktopHeight / 2 - 72)
Until @error = 1 Or StringIsDigit($msgname)

msgbox(0,"",$msgname)

@error 在后面的会被同一命令行的函数重设了值!

itljl 发表于 2008-11-24 17:47:09

原帖由 liongodmien 于 2008-11-24 11:52 发表 http://www.autoitx.com/images/common/back.gif

Do
      $msgname = InputBox("test", "请输入(数字)", "", " M15", 1, 1, @DesktopWidth / 2 - 95, @DesktopHeight / 2 - 72)
Until @error = 1 Or StringIsDigit($msgname)

msgbox(0,"",$msgname)
...
谢谢,让我明白错误在什么地方了!

itljl 发表于 2008-11-24 17:47:31

原帖由 sanhen 于 2008-11-24 00:28 发表 http://www.autoitx.com/images/common/back.gif

Do
      $msgname = InputBox("test", "请输入(数字)", "", " M15", 1, 1, @DesktopWidth / 2 - 95, @DesktopHeight / 2 - 72)
                if @error=1 Then ExitLoop
Until StringIsDigit($msgname)
msgbox(0 ...
感谢,我想尽可能不用exitloop.不过三楼让我明白原因了。
页: [1]
查看完整版本: 这里or为什么不能用了?