faceyao 发表于 2009-6-26 11:40:54

循环中如何让某一小项只执行一次

本帖最后由 faceyao 于 2009-6-26 15:39 编辑

while 1

    if WinExists("aaa") then
   
    msgbox(0,"",a存在)

    endif

   if WinExists("bbb") then
   
      msgbox(0,"",b存在)

   endif

   if WinExists("ccc") then
   
      msgbox(0,"",c存在)

      endif

sleep(44000)

WEnd

就是想要假如a存在,并msgbox弹出a存在后,以后就不再对a是否存在做检测了(a不能关闭)

也就是假如上次检测到了a存在,并且发出msgbox消息后,循环后如果第二次检测到a存在,就不再msgbox发出提示(不能对a窗口进行关闭处理)

请问这个循环语句该怎么写

tianji028 发表于 2009-6-26 12:09:57


$is_a = 1
while 1

    if WinExists("aaa") And $is_a then
   
    msgbox(0,"",a存在)
        $is_a = 0

    endif

   if WinExists("bbb") then
   
      msgbox(0,"",b存在)

   endif

   if WinExists("ccc") then
   
      msgbox(0,"",c存在)

      endif

sleep(44000)

WEnd

faceyao 发表于 2009-6-26 12:37:51

谢谢楼上,按您的代码ok了,就不知道是什么原理,呵呵

lynfr8 发表于 2009-6-26 13:28:44

先自定义变量$is_a = 1
当WinExists("aaa") And $is_a 条件满足就执行并同时修改$is_a =0
这样再进入循环$is_a =0,WinExists("aaa") And $is_a 这一段判断条件无法成立
自然就不会再执行第一次的代码了
页: [1]
查看完整版本: 循环中如何让某一小项只执行一次