13.2.1 画面入出力機能特殊レジスタ
画面入出力機能特殊レジスタ(WINDOW-STATUS,WINDOW-KEY,WINDOW-CURSORおよびWINDOW-KEYCODE)は,画面節(WINDOW SECTION)があるプログラムごと(プログラム単位,利用者定義関数単位,ファクトリ単位およびオブジェクト単位)に生成する。
画面入出力機能特殊レジスタは大域属性を持つ静的データである。
- 〈この項の構成〉
(1) WINDOW-STATUS特殊レジスタ(WINDOW SECTION)
WINDOW-STATUS(終了状態)は画面節に対して作成する特殊レジスタの名前であり,暗に次の記述を持つ。
01 WINDOW-STATUS PIC 9(2).
WINDOW-STATUSには,ACCEPT文などの画面入出力文の終了状態が入る。
次に終了状態の値とその意味を示す。
値 |
意味 |
---|---|
00 |
画面入出力文の実行は正常終了した。 |
01 |
フィールド状態表示子(STATUS-n)がオンになる条件が発生した。 |
- (注意)
-
フィールド状態表示子は,入出力を実行した各フィールドの特別な状態を示すものであり,入力データエラーなどを検出した場合にオンになる。この表示子はフィールド状態条件を指定したIF文で判定できる。ただし,このシステムでは常に00になる。フィールド状態条件の詳細については,「13.5.1 フィールド状態条件(WINDOW SECTION)」を参照のこと。
(2) WINDOW-KEY特殊レジスタ(WINDOW SECTION)
WINDOW-KEY(終了キー)は,画面節に対して作成する特殊レジスタの名前であり,暗に次の記述を持つ。
01 WINDOW-KEY PIC 9(2).
WINDOW-KEYには,ACCEPTまたはREPLY文を実行してデータを入力したときに,オペレータが押した終了キーの種類を示す値が入る。
次に終了キーの値とその意味を示す。
値 |
意味 |
---|---|
00 |
[Enter] [実行] |
01 |
[PF1] |
: |
: |
24 |
[PF24] |
25 |
未使用 |
: |
: |
99 |
未使用 |
- 注1
-
SET文でバックカーソルキーに設定したファンクションキーPFnは,終了キーとして使用できない。
- 注2
-
ユーザポップアップHELP動作中は,ヘルプキーに設定したファンクションキーPFnは,終了キーとして使用できない。
- (例)WINDOW-KEYの参照
ACCEPT GAMEN FROM WINDOW. EVALUATE WINDOW-KEY WHEN 1 THRU 5 PERFORM SHORI WHEN 6 THRU 9 PERFORM HYOJI WHEN 10 PERFORM TOKUI WHEN OTHER PERFORM OWARI END-EVALUATE.
(3) WINDOW-KEYCODE特殊レジスタ(WINDOW SECTION)
UNIX COBOL2002では,WINDOW-KEYCODE特殊レジスタ(WINDOW SECTION)は使用できない。
WINDOW-KEYCODE(終了キーコード)は,画面節に対して作成される特殊レジスタの名前であり,暗に次の記述を持つ。
01 WINDOW-KEYCODE PIC X(2).
WINDOW-KEYCODEには,WINDOW SECTIONのACCEPT文およびREPLY文を実行してデータを入力したときにオペレータが押した終了キーのコードが入る。
通常は[Enter]キー,[実行]キーおよび[PF]キーを終了キーとして使用できるが,CBLADTRMサービスルーチンを使用すると任意のキーを終了キーとして追加できる。追加された終了キーを押した場合は,押した終了キーに対応するコードが設定される。終了キーのコードが1バイトコードの場合は,WINDOW-KEYCODE特殊レジスタの前1バイトに終了キーのコードが設定され,後ろの1バイトには0(X'00')が設定される。
CBLADTRMサービスルーチンの詳細については,マニュアル「COBOL2002 ユーザーズガイド」を参照のこと。