【ExitLoop】 参数(等级)详解
本帖最后由 lixiaolong 于 2012-3-14 21:07 编辑大家也知道【ExitLoop】是终止 While 或 Do 或 For 循环.
ExitLoop是非常有用的,但是一般使用ExitLoop都不用参数.
帮助文档里也没有详细说明,我想很多朋友都不知道这个参数是干什么的.
所以在这里给大家介绍一下,留个记录.
ExitLoop
--------------------------------------------------------------------------------
终止 While 或 Do 或 For 循环.
ExitLoop [等级]
[等级]
0 = 不会有任何效果.
1 = 默认为 1(表示当前循环).
2以上 = 退出多个循环.
这个等级是使用多个循环时候非常有用,如果代码中检查出错时可以退出多个循环.
例子:
For $s = 0 To 99; 第一个循环
For $i = 0 To 99; 第二个循环
$file = FileOpen('lixiaolong') ;指定不存在的文件试试.
;~ If $file = -1 Then ExitLoop ;退出当前循环,相当于 ExitLoop 1,继续实行第一个循环.
If $file = -1 Then ExitLoop 2 ;退出2个循环,不再实行第一个循环.
Next
MsgBox(0, '', '如果For $i 没有出错实行这个')
Next
If $s <> 100 Then MsgBox(0,0,'发生错误')
Exit
例子2 请看ConsoleWrite输出的循环动作:
$a = 0
While 1
ConsoleWrite('Loop 1' & @CRLF)
While 2
ConsoleWrite('Loop 2' & @CRLF)
While 3
ConsoleWrite('Loop 3' & @CRLF)
While 4
$a += 1
ConsoleWrite('Loop 4' & @CRLF)
If $a = 5 Then
MsgBox(0, 0, 'ExitLoop 0')
ConsoleWrite('===ExitLoop 0===' & @CRLF)
ExitLoop 0 ;没有任何效果
ElseIf $a = 10 Then
MsgBox(0, 0, 'ExitLoop 1')
ConsoleWrite('===ExitLoop 1===' & @CRLF)
ExitLoop 1 ; 退出While 4
ElseIf $a = 30 Then
MsgBox(0, 0, 'ExitLoop 2')
ConsoleWrite('===ExitLoop 2===' & @CRLF)
ExitLoop 2 ; 退出While 3,While 4
ElseIf $a = 50 Then
MsgBox(0, 0, 'ExitLoop 3')
ConsoleWrite('===ExitLoop 3===' & @CRLF)
ExitLoop 3 ; 退出While 2,While 3,While 4
ElseIf $a = 70 Then
MsgBox(0, 0, 'ExitLoop 4')
ConsoleWrite('===ExitLoop 4===' & @CRLF)
ExitLoop 4 ; 退出While 1,While 2,While 3,While 4
EndIf
WEnd
WEnd
WEnd
WEnd
MsgBox(0, 0, '退出了所有循环')
*ContinueLoop 的循环等级也一样.
For $i = 0 To 100
MsgBox(0,$i,'我是第一个循环')
For $s = 1 To 10
If $s = 7 Then ContinueLoop 2
MsgBox(0, "$i 的当前值为: ", $i)
Next
Next
Exit
用了这个等级有什么好处那?大家用了就明白. 记下了!多谢分享! LZ辛苦了,感谢分享 我知道差距来自哪了,原来是学习方法的问题 这些帮助上面没有的资料的确是宝贵的。 ExitLoop 不是函数,函数的调用语法是XXX(param1, param2, param3, ...),即,函数名(参数1, 参数2, 参数3, ...)。判断是不是函数,看能否不带括号就行了,能够不带括号就能引用/调用的,都不叫函数,叫“语句”。 回复 6# pusofalse
谢谢指点,非常感谢!一直以为是函数。。。{:face (207):} 呵呵,ExitLoop是属于关键字/语句范围!!!
我也来一段代码:看LZ的代码是否成立?For $s = 0 To 2; 第一个循环
For $i = 0 To 3; 第二个循环
$file = FileOpen('lixiaolong') ;指定不存在的文件试试.
If $file = -1 Then ExitLoop ;退出当前循环,相当于 ExitLoop 1,继续实行第一个循环.
;If $file = -1 Then ExitLoop 2 ;退出2个循环,不再实行第一个循环.
Next
MsgBox(0, '', '如果For $i 没有出错实行这个')
Next
If $s <> 4 Then MsgBox(0,0,'发生错误')
Exit 向小龙学习了,总结的很好! 这些帮助上面没有的资料的确是宝贵的。 回复 1# lixiaolong
小龙的东西,就是精彩!
页:
[1]