qzdisk 发表于 2009-6-27 15:08:01

循环判断问题

本帖最后由 qzdisk 于 2009-6-27 21:22 编辑

While 1
        $varh = 5
        If $varh = "5"   Then
                MsgBox(48," 提示","连接正常")
        Else
        Run(@ScriptDir & "\1.bat")
        EndIf
WEnd我想在   $varh 不等于5的情况用IF判断给出结果然后 运行一个批处理!
但是我发现在我要是这样写的话$varh不等于5的时候 劲会无限运行1.bat!
怎让他无限次判断 但是只运行一次 1.bat

rchockxm 发表于 2009-6-27 15:11:47

再把 $varh 改成初始值就好了

While 1
      $varh = 5
      If $varh = "5"   Then
                MsgBox(48," 提示","连接正常")
      Else
                Run(@ScriptDir & "\1.bat")
                $varh = 0
      EndIf
WEnd

faceyao 发表于 2009-6-27 15:13:15


$cc = 1
While 1

      $varh = 5

      If $varh = "5"and $ccThen

                MsgBox(48," 提示","连接正常")

      $cc = 0

      Else

      Run(@ScriptDir & "\1.bat")

      EndIf

WEnd
这个是前几天版内版友教偶的,现分享给你

qzdisk 发表于 2009-6-27 15:56:23

上述2位朋友给的好像都不行!我试过了还是不行!
我的意思是 Run(@ScriptDir & "\1.bat") 这部能让他只运行一次吗?

jhun 发表于 2009-6-27 16:32:02

While 1
      $varh = 5
      If $varh = "5"   Then
                MsgBox(48," 提示","连接正常")
      Else
      Run(@ScriptDir & "\1.bat")
       exitloop
      EndIf
WEnd

qzdisk 发表于 2009-6-27 17:26:02

While 1
      $varh = 5
      If $varh = "5"   Then
                MsgBox(48," 提示","连接正常")
      Else
      Run(@ScriptDir & "\1.bat")
       exitloop
      EndIf
WEnd[/ ...
jhun 发表于 2009-6-27 16:32 http://www.autoitx.com/images/common/back.gif

这个确实能达到那个效果!但是似乎程序就停止实时运行判断了!

没有知道 发表于 2009-6-27 17:34:05

$a=6

While 1
       
        Select
               
                Case $a=5
                        MsgBox(48," 提示","连接正常")
                        Run("notepad.exe")
        EndSelect
WEnd

jhun 发表于 2009-6-27 17:40:36



这个确实能达到那个效果!但是似乎程序就停止实时运行判断了!
qzdisk 发表于 2009-6-27 17:26 http://www.autoitx.com/images/common/back.gif
那你不是自相矛盾了吗,你不让BAT继续运行却又要继续侦测然后再运行?除非你再加其他条件,运行完了BAT这个变量会改变,又或者间隔多长时间再来判断

qzdisk 发表于 2009-6-27 19:04:14

。。。。我是要做一个实时检测的程序!当进程断开后用批处理启动他!

jhun 发表于 2009-6-27 19:30:41

那很简单啊,只要加个延迟就可以了

jhun 发表于 2009-6-27 19:31:52

本帖最后由 jhun 于 2009-6-27 19:33 编辑

While 1
      $varh = 5
      If $varh = "5"   Then
                MsgBox(48," 提示","连接正常")
      Else
      Run(@ScriptDir & "\1.bat")
         sleep(2000)
      EndIf
      sleep(500)
WEnd

qzdisk 发表于 2009-6-27 21:22:21

我明白了
谢谢!

刘强 发表于 2009-9-22 08:01:06

你明白了 我怎么看不明白呢?

afan 发表于 2009-9-22 09:58:31

你明白了 我怎么看不明白呢?
刘强 发表于 2009-9-22 08:01 http://www.autoitx.com/images/common/back.gif

有问题自己发帖好了,这样无意义
页: [1]
查看完整版本: 循环判断问题