找回密码
 加入
搜索
查看: 3985|回复: 11

[AU3基础] while循环的问题(已解决)

  [复制链接]
发表于 2010-10-9 15:08:59 | 显示全部楼层 |阅读模式
本帖最后由 bfm13142 于 2010-10-10 15:17 编辑
While 1
        $var = Ping("www.AutoItScript.com", 500)
        If $var And $bj = 0 Then
                TrayTip("状态-成功", "收发时间间隔:" & $var & "毫秒", 10, 1)
                $bj = 1
        ElseIf $var = 0 And $bj = 1 Then
                TrayTip("状态-失败", "错误代码:" & @error, 10, 1)
                $bj = 0
        EndIf
WEnd
我想问几个问题,懂的别笑我。。
1. while 1 是一个无限循环,那 if$var and $bj = 0 then 这里的bj=0为什么要定义=0或者有什么用?
2.当$var And $bj = 0 Then 时 $bj = 1 这个有什么用?
3.如果我想当$bj = 0时怎么样让他还继续检查是否ping得通www.AutoItScript.com

第一次发帖,找了几个资料多没能理解,能不能指点一下?

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-9 15:58:42 | 显示全部楼层
本帖最后由 liufenglg 于 2010-10-9 15:59 编辑
HotKeySet("{ESC}", "Terminate")

Local $bj
      $bj=0;
While $bj=0
        $var = Ping("www.AutoItScript.com", 500)
        If $var  Then
                TrayTip("状态-成功", "收发时间间隔:" & $var & "毫秒", 10, 1)
                EndIf
                $bj=0
        
WEnd

Func terminate()
        Exit
EndFunc
按esc退出
 楼主| 发表于 2010-10-9 16:42:32 | 显示全部楼层
回复 2# liufenglg


    感谢你的回答,但我想知道的是提的那几个问题怎么理解或解释,谢谢·
发表于 2010-10-9 17:22:47 | 显示全部楼层
If $var And $bj = 0 Then  这里的$bj其实是一个人为设置的开关值,设为什么都可,$var如果为真,则$var>0,说明网络是通的,这时把$bj设为1,此时If $var And $bj = 0 不成立,ElseIf $var = 0 And $bj = 1 也不成立,不再循环继续PING下去。

评分

参与人数 1金钱 +10 收起 理由
bfm13142 + 10

查看全部评分

发表于 2010-10-10 00:19:09 | 显示全部楼层
本帖最后由 t87564833 于 2010-10-10 00:21 编辑

$bj 在你循环之前都没有赋值,看不出有什么用,如果单判断PING是否正常的话
用返回值判断吧
成功: 返回收发时间间隔(大于0).  
失败: 如果远程主机ping不通或者有其它网络错误则返回0,同时设置 @error 的值(请看下面的部分).
$var = Ping("www.AutoItScript.com", 500)
成功则$var>0     后面执行什么自己写了
失败则$var=0     后面执行什么自己写了
发表于 2010-10-10 01:06:57 | 显示全部楼层
关于while后不接受其他指令的问题
http://www.5idiy.org/forum.php?mod=viewthread&tid=171
本坛我也有发表,这个问题在实际脚本中会经常遇到
 楼主| 发表于 2010-10-10 15:13:09 | 显示全部楼层
回复 5# t87564833


    其实$bj是赋值为0,但没贴上来。。。而已。
  返回值@error也想过,不过好像代码没有那么有效。。还得多研究才得
 楼主| 发表于 2010-10-10 15:14:48 | 显示全部楼层
回复 6# caodongchun


    你的代码有一定的用处,不过还得细细研究一下才得
 楼主| 发表于 2010-10-10 15:15:41 | 显示全部楼层
看了四楼的回答还不错,研究了一个晚上想明白了,谢谢你们的回答
发表于 2010-10-10 18:30:01 | 显示全部楼层
非常感谢,也学习了。
发表于 2010-10-10 19:19:24 | 显示全部楼层
条件循环需要对条件赋值,如果判断条件=那么继续循环,如果<>则不再循环。
 楼主| 发表于 2010-10-11 13:42:03 | 显示全部楼层
回复 11# 51ak


    这个是比较好理解的。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 04:44 , Processed in 0.114951 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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