找回密码
 加入
搜索
查看: 6265|回复: 14

怎么写跳转和循环语句!

[复制链接]
发表于 2008-10-9 17:20:57 | 显示全部楼层 |阅读模式
1
比如我先运行 a.exe
当运行失败时跳转到运行另一个程序b.exe

2
还有怎么写死循环
比如当检测有进程az.exe时就结束掉它
还有当检测没有as.exe进程时就运行as.exe
都是一直检测,死循环那种

3
运行a.exe三次
如果三次都失败就退出并提示成功
如果失败也退出并提失败

[ 本帖最后由 lin6163 于 2008-10-10 01:28 编辑 ]
 楼主| 发表于 2008-10-9 19:09:03 | 显示全部楼层
很难吗??????
发表于 2008-10-9 19:42:08 | 显示全部楼层
如果三次都失败就退出并提示成功
如果失败也退出并提失败


还真没弄明白。
 楼主| 发表于 2008-10-9 21:39:09 | 显示全部楼层
就是说三次运行过后成功还是失败都要(msgbox)提示
发表于 2008-10-9 21:46:21 | 显示全部楼层
第一個看不懂

第二個用

While 1
  If (ProcessExist) Then  
   ;有进程az.exe
  EndIf
  
  If Not (ProcessExist)) Then
    ;没有as.exe进程
  EndIf
Wend

或是用 AdlibEnable
发表于 2008-10-9 22:01:09 | 显示全部楼层
exitloop
 楼主| 发表于 2008-10-10 01:29:03 | 显示全部楼层
己拆成两条了
!!!!!!!
发表于 2008-10-10 07:32:23 | 显示全部楼层
完全按楼主的意思得:

1、

$run = Run("a.exe")
If $run = 0 Then Run("b.exe")




2、

While 1
  If ProcessExists("az.exe") Then   ProcessClose("az.exe")WEnd
  Sleep(100)
Wend

While 1
  If Not ProcessExists("az.exe") Then Run("az.exe")
  Sleep(100)
WEnd




3、

For $i = 1 to 3
        $run = ShellExecute("tmp.au3")
        If $run = 0 Then
                MsgBox(16,"Wrong", "test")
        Else
                MsgBox(64, "Right", "tst")
        EndIf
Next


[ 本帖最后由 liongodmien 于 2008-10-10 07:37 编辑 ]
发表于 2008-10-10 08:18:07 | 显示全部楼层
8楼的朋友,run 运行程序,是不是后面应该给个延时?
有的程序比较大的话 要过好几秒才能打开,小的也有运行时间。

是不是需要给个延时,再判断打开下一步程序呢?
发表于 2008-10-10 10:37:51 | 显示全部楼层
原帖由 gaoyuan22 于 2008-10-10 08:18 发表
8楼的朋友,run 运行程序,是不是后面应该给个延时?
有的程序比较大的话 要过好几秒才能打开,小的也有运行时间。

是不是需要给个延时,再判断打开下一步程序呢?

具体的由实际应用的人去修改,我只给个样式!
发表于 2009-8-23 19:48:36 | 显示全部楼层
谁能给个goto啊。
发表于 2009-9-22 08:03:39 | 显示全部楼层
以后回答问题的时候能不能 加上解释 这样 我们这些菜鸟也能看懂啊
发表于 2009-9-27 23:50:01 | 显示全部楼层
11# onestone01
go 什么 to?子程序?
发表于 2009-9-29 00:21:49 | 显示全部楼层
If Not Run("a.exe") Then b.exe
While 1
    If ProcessExists("az.exe") Then ProcessClose("az.exe")
WEnd
Dim $error = 0
For i = 1 To 3
    If Not Run("a") Then $error += 1
Next
If $error >= 3 Then
    MsgBox(0, "", "成功!")
Else
    MsgBox(0, "", "失败!")
EndIf
是这个意思不?
发表于 2009-9-29 00:23:21 | 显示全部楼层
完全按楼主的意思得:

1、
$run = Run("a.exe")
If $run = 0 Then Run("b.exe")




2、

While 1
  If ProcessExists("az.exe") Then   ProcessClose("az.exe")WEnd
  Sleep(100)
Wend

While 1 ...
liongodmien 发表于 2008-10-10 07:32



Run返回0 即为假  Not运算符就可以得到
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 14:20 , Processed in 0.204842 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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