找回密码
 加入
搜索
楼主: cfs43210

[AU3基础] 循环代码求解?循环里面里又循环和延时!(已解决)

 火... [复制链接]
发表于 2012-12-12 21:31:17 | 显示全部楼层
回复 45# cfs43210


    AdlibRegister("detect2", 1000 * 60 * 30) ;30分钟
AdlibRegister("detect3", 1000 * 60 * 60) ;60分钟
这两个改到 While 下永远都不会执行吧,30分钟、60分钟… 估计每次时间还未到执行的时间就又被重置了…
另外,你的两层主循环完全可以用一个循环吧
While 1
        If "ping=False" Then
                ;代码
                Sleep(1000 * 60 * 3)
                ContinueLoop
        ElseIf "文件<>0" Then
                If "服务器网络通" Then
                        ;代码
                        Sleep(1000 * 60 * 2)
                        ContinueLoop
                Else
                        ;代码
                        Sleep(1000 * 60 * 30)
                        ContinueLoop     
                EndIf     
        Else
                Sleep(1000 * 60 * 5)
        EndIf
WEnd
再 p.s, Sleep 太久会睡死……
 楼主| 发表于 2012-12-12 21:45:26 | 显示全部楼层
本帖最后由 cfs43210 于 2012-12-12 21:48 编辑

回复 46# afan
高手出手果然是不同,怎么我会想到用2层循环。另外我不是放 AdlibRegister放到While下,而是放detect2()放到While 最后去。谢谢你,你太厉害了!
不知道放在While 下延时30分钟,工作一段时间后会不会出现不循环,象是卡死一样。
 楼主| 发表于 2012-12-12 21:59:08 | 显示全部楼层
回复 46# afan
高手出手果然是不同,怎么我会想到用2层循环。另外我不是放 AdlibRegister放到While下,而是放detect2()放到While 最后去。谢谢你,你太厉害了!
不知道放在While 下延时30分钟,工作一段时间后会不会出现不循环,象是卡死一样。出现这现象问题可能会现在哪呢?谢谢!能给个回复!
发表于 2012-12-12 22:02:05 | 显示全部楼层
回复 48# cfs43210


    当然,光 Sleep() 是不会有什么问题的,问题在于你的工作代码可能会导致循环 Sleep() ,这需要你自己在工作代码中排查。
 楼主| 发表于 2012-12-12 22:16:35 | 显示全部楼层
回复 49# afan
我的工作代码没有其它循环,只有下载和一个时钟前置窗口。其它都是IF较多。先出掉一层循环用用看。谢谢啦!
发表于 2012-12-15 20:53:57 | 显示全部楼层
学习学习...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 02:52 , Processed in 0.068449 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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