COBOL2002 言語 拡張仕様編
画面入出力機能特殊レジスタ(WINDOW-STATUS,WINDOW-KEY,WINDOW-CURSORおよびWINDOW-KEYCODE)は,画面節(WINDOW SECTION)があるプログラムごと(プログラム単位,利用者定義関数単位,ファクトリ単位およびオブジェクト単位)に生成する。
画面入出力機能特殊レジスタは大域属性を持つ静的データである。
WINDOW-STATUS(終了状態)は画面節に対して作成する特殊レジスタの名前であり,暗に次の記述を持つ。
01 WINDOW-STATUS PIC 9(2).
WINDOW-STATUSには,ACCEPT文などの画面入出力文の終了状態が入る。
次に終了状態の値とその意味を示す。
表13-1 終了状態の値とその意味
値 | 意味 |
---|---|
00 | 画面入出力文の実行は正常終了した。 |
01 | フィールド状態表示子(STATUS-n)がオンになる条件が発生した。 |
WINDOW-KEY(終了キー)は,画面節に対して作成する特殊レジスタの名前であり,暗に次の記述を持つ。
01 WINDOW-KEY PIC 9(2).
WINDOW-KEYには,ACCEPTまたはREPLY文を実行してデータを入力したときに,オペレータが押した終了キーの種類を示す値が入る。
次に終了キーの値とその意味を示す。
表13-2 終了キーの値とその意味
値 | 意味 |
---|---|
00 | [Enter] [実行] |
01 | [PF1] |
: | : |
24 | [PF24] |
25 | 未使用 |
: | : |
99 | 未使用 |
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.
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 ユーザーズガイド」を参照のこと。
WINDOW-CURSOR(終了カーソル位置)は画面節に対して作成される特殊レジスタの名前であり,次の記述を持つ。
01 WINDOW-CURSOR PIC 9(5).
WINDOW-CURSORには,ACCEPTまたはREPLY文を実行したときに,入力操作を終了した時点の画面上カーソル位置(0〜19,199)を設定する。
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.