Hitachi

JP1 Version 12 JP1/Script(Windows(R)用)


7.1.2 Do...Loop

機能

指定した条件が真(True)である間,または条件が真(True)になるまで,一連のステートメントを繰り返し実行するフロー制御ステートメントです。

形式
DoStatements〕
〔Exit Do〕
〔StatementsLoop〔{While | UntilCondition
指定項目
Statements

Conditoinが真(True)である間,またはConditoinが真(True)になるまで繰り返し実行される一つ,または複数のステートメントを指定します。複数のステートメントを記述する場合は,ステートメントごとに改行します。

Condition

真(True),または偽(False)を評価する条件式を指定します。

説明

キーワードWhileが記述されている間はConditionが真(True)である間,一連のステートメントが繰り返し実行され,キーワードUntilが記述されている場合はConditionが真(True)になるまで,一連のステートメントが繰り返し実行されます。

Exit Doステートメントは,制御構造Do ...Loop内だけで使われ,Conditionで指定した以外の条件でDo ...Loopを終了させることができます。Exit Doステートメントは,Do ...Loop内の任意の場所に何回でも指定できます。Exit Doは条件の評価(例えばIf...Thenステートメントなど)とともに使われることが多く,Loopステートメントの直後のステートメントに制御を渡します。

Do ...Loopステートメントはネスト(入れ子)構造にできます。つまり,Do ...Loopの内部に別のDo ...Loopを記述できます。ネスト構造の場合にExit Doが実行されると,そのExit Doを囲んでいる最も内側のループから抜け出します。

Do ...Loopステートメントは後判定の制御構造で,While...Endステートメントとは異なり,一連のステートメントが必ず一度は実行されます。一連のステートメントが実行される前に条件の判定を行いたい場合は, While...Endステートメントを使用してください。

' Reverseは文字列を反転した値を返す。
' resultには"EDCBA"が格納される。
result = Reverse ( "ABCDE" )
MessageBox ( result )
 
Function  Reverse ( chrValue )
  Dim  chrString ,chrLength
  cnt = 0
  chrLength = Len ( chrValue )
  Do
      chrString = chrString + Mid ( chrValue ,chrLength - cnt , 1 )
      cnt = cnt + 1
  Loop While ( cnt < chrLength )
  Reverse = chrString
End Function
対象バージョン

JP1/Script 05-10以降