ID : 126
Do...Loop
機能
指定した条件が真(True)である間、または条件が真(True)になるまで、一連のステートメントを繰返し実行します。
構文
Do [{While | Until} 条件]
'Statements
Loop
または
Do
'Statements
Loop [{While | Until} 条件]
指定項目
- While | Until
- "While"は指定した条件が真(True)である間、一連のステートメントを繰返し実行します。"Until"は指定した条件が真(True)になるまで、一連のステートメントを繰返し実行します。
- 条件
- 条件式で指定します。
解説
条件がTrue(真)になるまで,またはTrue(真)の間、[statements]を繰返し実行します。
"While"は指定した条件がTrue(真)である間は処理を繰返し、False(偽)になるとLoop以降の行に移行します。
"Until"は指定した条件がFalse(偽)である間は処理を繰返し、True(真)になるとLoop以降の行に移行します。
{While | Until} 条件を省略すると無限ループになります。
Doに条件を指定すると前条件、Loopに条件を指定すると後条件です。
[statements]内に"Exit Do"を実行するとDo Loop処理を抜けます。
処理時間の短いコマンドを繰返し処理する場合は、CPUを占領してしまうためマルチタスクで動作している他のタスクが処理されにくくなります。これを無くすためには繰返し処理の間にDelayまたはWaitコマンドを入れてください。Delay、Waitコマンドが実行されている間にCPUの占有から解放され、他のタスクが処理されやすくなります。
注意事項
-
用例
'!TITLE "判定反復(繰返し)の実行"
' aaaが10より大きくなるまで処理を繰返し実行
Sub Sample_DoLoop
Dim aaa As Integer
Dim bbb As Integer
aaa = 1
bbb = 0
' 1から10までの加算処理
Do
bbb = bbb + aaa
aaa = aaa + 1
' aaaが10より大きくなるまでループ
Loop Until aaa > 10
' メッセージ出力ウィンドウに"55"を表示
PrintDbg bbb
End Sub
ID : 126