ページの先頭行へ戻る
Kシリーズ端末エミュレータ V7.1 L40 使用手引書

19.2 制御文

制御文としては、以下のものがあります。

説明

IF

処理の分岐

WHILE

ループ

GOTO

ジャンプ

IF文

IF文は条件文によって処理の流れを変える制御文です。条件文の演算結果がTRUE(真)、FALSE(偽)によって処理が分岐されます。

[構文]

構文1

:

基本形

IF(条件文)

文・・・条件文がTRUE(真)のときに実行されます

ENDIF


構文2

:

条件文によって処理がそれぞれに分岐する場合

IF(条件文)

文・・・条件文がTRUE(真)のときに実行されます

ELSE

文・・・条件文がFALSE(偽)のときに実行されます

ENDIF


構文3

:

複数の条件文によって処理が分岐する場合

IF(条件文1)

文・・・条件文1がTRUE(真)のときに実行されます

ELSEIF(条件文2)

文・・・条件文2がTRUE(真)のときに実行されます

ELSEIF(条件文3)

文・・・条件文3がTRUE(真)のときに実行されます

ENDIF


[補足]

・文は複数の文を記述することができます。

・IF文の中にIF文を入れ子にすることができます。

・条件文は1つだけ記述することができます。

(条件文どうしの演算結果を条件文とすることはできません)

[使用例]

次の例は"TSSX"という文字列を検索してその結果をMsgBox関数で表示しています。

IF(Scan("TSSX"))

MsgBox("ログオンが完了しました")

ELSE

MsgBox("ログオンは完了していません")

ENDIF

WHILE文

WHILE文は条件文がTRUE(真)である間、処理を繰り返します。

[構文]

WHILE(条件文)

文1

文2

:

ENDWHILE

[補足]

・文は複数の文を記述することができます。

・WHILE文の中にIF文やWHILE文を記述することができます。

・条件文は1つだけ記述することができます。

(条件文どうしの演算結果を条件文とすることはできません)

・WHILE文から強制的に抜けるときはBREAKWHILE文を使います。

・WHILE文の先頭へ強制的に処理を移すときはCONTINUE文を使います。

[使用例]

次の例はWHILE文で無限ループを行い"TSSX"という文字列が見つかるとWHILEから抜けます。見つからなかったらキー入力可能になるのを待ってWHILE文の先頭に戻ります。

WHILE(TRUE)

IF(Scan("TSSX"))

MsgBox("ログオンが完了しました")

BREAKWHILE

ELSE

Wait()

CONTINUE

ENDIF

ENDWHILE

IF(Scan("TSSX"))

GOTO文

GOTO文は指定ラベル位置の処理へジャンプします。

[構文]

GOTO(ラベル)

文1

文2

:

ラベル:

文x1

文x2

:

[補足]

・ラベルには任意の文字列を記述することができます。

・ラベルはGOTO文の前後いずれにも記述することができます。

・マクロ内に同一文字列のラベルを複数記述することはできません。

・DLGTEMPLATEからENDDLGTEMPLATEの範囲を超えてGOTO文は使用できません。

[使用例]

次の例では、現在キーボードロック状態の場合ERR_KEYLOCKラベルへジャンプします。

IF(IsKeyboardLock())

GOTO(ERR_KEYLOCK)

ENDIF

[その他の処理]

ERR_KEYLOCK:

MsgBox("キー入力できない状態です.")