トップへ戻る

Autoitプログラミング

ExitLoop パラメータ

 

ExitLoopは While/Do/For ループを終了する際に使用します。
このExitLoopは、複数のループを使用する際に非常に有用です。

 

今回紹介するのは、ExitLoopのパラメータの使用方法です。

 

簡単なサンプルを書いてみましたので、参考にしてみてください。

 

 

 

For $s = 0 To 99; 1つ目のループ
    For $i = 0 To 99; 2つ目のループ
        $file = FileOpen('Auto yamada') ;存在しないファイルを指定

 

;~      If $file = -1 Then ExitLoop ;現在のループを抜ける。 ExitLoop 1 と同じ。
        If $file = -1 Then ExitLoop 2 ;2つのループを抜ける。1つ目のループは実行されません。
    Next
    MsgBox(0, '', 'FileOpen でエラーが出なければメッセージボックスを表示します。')
Next

 

If $s <> 100 Then MsgBox(0, 0, "エラーあり")
Exit

 

 

 

 

$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 ; すべてのループを抜けます。
                EndIf
            WEnd
        WEnd
    WEnd
WEnd

 

MsgBox(0, 0, 'すべてのループを抜けました。')