Whileループ

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

Whileループ [v1.0.48+][編集]

を評価した結果が真である間、一連の処理を繰り返し実行する。

While Expression
  Statement
While Expression {
  Statements
}

Parameters[編集]

項目 説明
Expression 任意の

Remarks[編集]

まず Expression が評価され、空文字列や「0」以外として評価された場合、Statement(s) が実行される。
直後が「{」であった場合は、対応する「}」までが実行される。
{」は Expression の後に改行せずに書いてもよい。

Statements が最後まで実行されるか、Continue 文が実行された場合、再び Expression の評価が行われ、真であれば Statement(s) の実行に進む。
Statement(s)中で Break 文が実行されるか、Expression の評価結果が空文字列や 0 であった場合、繰り返しは打ち切られ、後続の処理に実行が移る。

組み込み変数「A_Index」には、繰り返しの実行された回数が格納される。
これは最初の Expression の評価前に「1」になり、以降の Expression の評価前に1ずつ増加する。
While や Loop が入れ子になっている場合は、一番内側の反復の回数が格納される。

「While, Expression」のようにカンマを挟んでもよい。

Related[編集]

Break, Continue, Blocks, Loop, Loop (ファイル検索), Loop (レジストリ), Loop,Read, Loop,Parse, If (式)

Example(s)[編集]

; As the user drags the left mouse button, a ToolTip displays the size of the region inside the drag-area.
CoordMode, Mouse, Screen
~LButton::
    MouseGetPos, begin_x, begin_y
    While GetKeyState("LButton")
    {
        MouseGetPos, x, y
        ToolTip, % begin_x ", " begin_y "`n" Abs(begin_x-x) " x " Abs(begin_y-y)
        Sleep, 10
    }
    ToolTip
Return