lark
发表于 2012-12-11 21:33:00
你把While 语句的表达式改成true就可以呀!
不知道AdlibRegister你在用什么来着!
cfs43210
发表于 2012-12-11 21:34:57
本帖最后由 cfs43210 于 2012-12-11 21:38 编辑
回复 13# lark
true 跟1有分别吗?
AdlibRegister 这是另二个循环
lark
发表于 2012-12-11 21:41:54
应该有,你用两次循环的话会出现你的进程CPU使用率是一直25%的,你试一下,我以前发的一个帖子因为CPU使用高所以没用!
http://www.autoitx.com/forum.php?mod=viewthread&tid=35747&highlight=
cfs43210
发表于 2012-12-11 21:44:58
本帖最后由 cfs43210 于 2012-12-11 21:47 编辑
AdlibRegister("detect2", 1000 * 60 * 30) ;30分钟
AdlibRegister("detect3", 1000 * 60 * 60) ;60分钟
While 1
While 1
If ....Then
;代码
Sleep(1000 * 60 * 3)
ContinueLoop
ElseIf ... Then
;代码
Sleep(1000 * 60 * 2)
ContinueLoop
ElseIf ... Then
;代码
Sleep(1000 * 60 * 30)
ContinueLoop
Else
Sleep(1000 * 60 * 5)
ExitLoop
EndIf
WEnd
WEnd
这样行吗,我觉得是一样的
lark
发表于 2012-12-11 21:49:27
我到现在还没搞清楚你要实现什么样的东东?
cfs43210
发表于 2012-12-11 21:49:40
回复 18# lark
你这个我试过了,还是不行因为我循环还要延时等待
lark
发表于 2012-12-11 21:56:06
你现在提供代码里条件也多,你里面的小循环退出时间也最少5分钟是嘛~ 小循环结束就开始那个大循环了!
还是找找别的办法吧!
netegg
发表于 2012-12-11 22:01:42
本帖最后由 netegg 于 2012-12-11 22:06 编辑
lz,你先说明下continueloop是干什么的,再说别的,这个continueloop是继续循环,麻烦你说说这么放着,代码知道你要继续进行哪个循环吗,还有exitloop也一样,退出哪个循环
另外,lz如果提问的话,最好说明到底要实现什么效果,光说没用的,就算把错误代码放上也没用。
cfs43210
发表于 2012-12-11 22:10:20
本帖最后由 cfs43210 于 2012-12-11 22:11 编辑
回复 23# netegg
continueloop不合条件等待返回一直继续循环到合条件退出
cfs43210
发表于 2012-12-11 22:18:03
回复 24# cfs43210
我意思是PING 网络,网络不通等待3分钟继续循环,当网络通时,检查文件上否存在,文件存在时等待2分钟继续循环 ,直到没件不存在,当条件都符合时exitloop。等待15分钟重复
cfs43210
发表于 2012-12-11 22:18:30
本帖最后由 cfs43210 于 2012-12-11 22:31 编辑
回复 23# netegg
我意思是PING 网络,网络不通等待3分钟继续循环,当网络通时,检查文件上否存在,文件存在时等待2分钟继续循环 ,直到没件不存在,当条件都符合时exitloop。等待15分钟重复
AdlibRegister("detect2", 1000 * 60 * 30) ;30分钟
AdlibRegister("detect3", 1000 * 60 * 60) ;60分钟
While 1
Sleep(1000 * 60 * 5)
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
ExitLoop
EndIf
WEnd
WEnd
netegg
发表于 2012-12-11 22:40:12
回复 24# cfs43210
如果你这么解释,那么两层loop,继续哪一层?
cfs43210
发表于 2012-12-11 22:47:02
本帖最后由 cfs43210 于 2012-12-11 22:53 编辑
回复 27# netegg
第二层里还有一个IF 之后都合条件时ExitLoop
等待15分钟又重来 我重新表达了我的代码,这样你比较知道我的意思
netegg
发表于 2012-12-11 22:52:15
本帖最后由 netegg 于 2012-12-11 23:15 编辑
main()
Func main()
Do
Sleep(180000)
Until Not (Ping('127.0.0.1'))
While 1
If FileExists($file) Then
Sleep(120000)
Else
main()
EndIf
WEnd
EndFunc
cfs43210
发表于 2012-12-11 23:11:34
本帖最后由 cfs43210 于 2012-12-11 23:17 编辑
回复 29# netegg
你这样可以做我要做事吗,我第1步是PING IP 不通时拨号等待3分钟ContinueLoop返回循环,直拨号到通;第二步是检查我要上传的文件是否还有,如果还有没发送的,就检查我要发送的服务器,如果服务器通的话我要运行另一个程序,等待2分钟ContinueLoop返回循环,如服务器不通时等待30分钟ContinueLoop返回循环,直到文件全总部发送完。这些都做完了就退出当前循环ExitLoop。这就完成了一个过程。。现在等待15分钟就重复。谢谢!我头都大了。。。。