入力/出力関連システム変数

このドキュメントでは、次のトピックについて説明します。


*CURS-COL

フォーマット/長さ: P3
内容変更の可否: ○(負の値を割り当ててはいけません)

このシステム変数には、現在カーソルが位置付けられている列番号が格納されます。

画面上の物理的な位置に関係なく、カーソル位置は現在アクティブなウィンドウ内で定義され、位置は論理ページの左上の角(1/1)から開始します。

*CURS-COL の値が負の場合、カーソルはアクティブなウィンドウの外側にあることを示します。*CURS-COL が負の場合、*CURS-LINE も負の値です。この場合、両方のシステム変数の絶対値は、物理画面上のカーソルの位置を示しています。

注意:
メッセージ行、ファンクションキー行、および情報行/統計行は、画面上のデータ行とは見なされません。

プログラミングガイド』の「ダイアログ設計」の「列に基づいた処理」も参照してください。

*CURS-FIELD

フォーマット/長さ: I4
内容変更の可否: 不可

このシステム変数は、カーソルが現在位置付けられているフィールドの ID を返します。返される値は、フィールドアドレスの内部表現です。

*CURS-FIELD は単独では使用できません。POS 関数とともに使用します。これらを使用して、現在カーソルが特定のフィールドに置かれているかどうかを確認し、その状況に応じて処理を実行できます。詳細については、POS 関数を参照してください。

カーソルがフィールド内にない場合、または REINPUT を使用できない場合、*CURS-FIELD の値は 0 です。

Natural for Ajax アプリケーションの場合、入力にフォーカスがあるコントロールの値を表すオペランドが、*CURS-FIELD によって識別されます。*CURS-FIELDPOS 関数と併せて使用することにより、入力にフォーカスがあり、その条件に応じて処理を実行するコントロールをチェックできます。

注意:
*CURS-FIELD は、同じ格納場所で開始する 2 つの異なる変数(REDEFINE 変数)を区別することはできません。これは、*CURS-FIELD によって返される内部フィールドのアドレスが両方とも同じであるためです。

*CURS-FIELD の値はフィールドの内部 ID を提供するのみであり、算術演算には使用できません。*CURS-FIELD によって X-array(少なくとも 1 次元の、少なくとも 1 つの境界が拡張可能として指定される配列)のオカレンスが識別される場合は、配列の次元のオカレンス数が EXPANDRESIZE、または REDUCE ステートメントを使用して変更された後、*CURS-FIELD の値が変わることがあります。

プログラミングガイド』の「ダイアログ設計」の「フィールドに基づいた処理」も参照してください。

*CURS-LINE

フォーマット/長さ: P3
内容変更の可否: ○(負の値や 0 を割り当ててはいけません)

このシステム変数には、現在カーソルが位置付けられている行番号が格納されます。

カーソルの位置は画面上の物理的な位置に関係なく、現在アクティブなウィンドウ内で定義され、位置は論理ページの左上の角(1/1)から開始します。

注意:
メッセージ行、ファンクションキー行、および情報行/統計行は、画面上のデータ行とは見なされません。

*CURS-LINE の値は以下のいずれかです。

カーソル位置
0 カーソルはウィンドウの上または下の水平フレーム行上に位置付けられています。
-1 カーソルは Natural メッセージ行上に位置付けられています。
-2 カーソルは Natural 情報行/統計行上に位置付けられています。
-3 カーソルはファンクションキーの上段(番号)の行に位置付けられています。
-4 カーソルはファンクションキーの下段(名前)の行に位置付けられています。

*CURS-COL の値が負の場合、カーソルはアクティブなウィンドウの外側にあることを示し、*CURS-LINE も負の値を持ちます。この場合、両方のシステム変数の絶対値は、物理画面上のカーソルの位置を示しています。

プログラミングガイド』の「ダイアログ設計」の「行に基づいた処理」も参照してください。

*CURSOR

フォーマット/長さ: N6
内容変更の可否: 不可

このシステム変数には、ENTER キーやファンクションキーが押されたときの入力画面のカーソルの位置が格納されます。

注意:
*CURSOR ではなく、システム変数 *CURS-LINE および *CURS-COL を使用してください。*CURSOR は、以前の Natural バージョンとの互換性のためにのみ有効になっています。

*LINE-COUNT

フォーマット/長さ: P5
内容変更の可否: 不可

このシステム変数には、現在のページの現在の行番号が格納されます。

この変数は Natural がレポート内の次行の行番号を決定するために使用します。

*LINE-COUNT の値は常に出力行に対して 1 ずつ増加します。この値は WRITESKIPDISPLAYPRINTINPUT ステートメントの実行中に更新され、そのページに出力された最後の行の行番号を持ちます。

EJECT ステートメントまたは NEWPAGE ステートメントは *LINE-COUNT1 にリセットします(NEWPAGE WITH TITLE の場合、*LINE-COUNT の値はタイトルとして出力する行数によって異なるため、この場合は例外です)。

最大行番号は 250 です。

プログラムで複数のレポートを作成する場合、(rep)*LINE-COUNT の後に指定し、現在の行番号を要求するレポート番号を指定します。

*LINESIZE

フォーマット/長さ: N7
内容変更の可否: 不可

このシステム変数には、Natural が呼び出された I/O デバイスの物理的な行サイズ(TP システムでこの情報を提供できる場合)が格納されます。

*LOG-LS

フォーマット/長さ: N3
内容変更の可否: 不可

このシステム変数には、プライマリレポートで出力される論理ページの行サイズが格納されます。

*LOG-LS はプライマリレポートにのみ適用され、追加レポートには適用されません。

*LOG-PS

フォーマット/長さ: N3
内容変更の可否: 不可

このシステム変数には、プライマリレポートで出力される論理ページのページサイズが格納されます。

*LOG-PS はプライマリレポートにのみ適用され、追加レポートには適用されません。

*PAGE-NUMBER

フォーマット/長さ: P5
内容変更の可否:

このシステム変数には、出力レポートの現在のページ番号が格納されます。

プログラムで複数のレポートを作成する場合、(rep)*PAGE-NUMBER の後に指定し、現在のページ番号を要求するレポート番号を指定します。

この変数は、レポートのフォーマッティング開始時に Natural が定義します。したがって、レポートで最初の FORMATWRITE、または DISPLAY ステートメントが出されるまでは、パラメータは意味を持ちません。この変数は Natural プログラムで変更できます。

この変数で Natural は、レポートの次のページのページ番号を判断します。WRITEDISPLAYSKIP、または NEWPAGE ステートメントで開始される次のページのために値は常に 1 増加します。EJECT では *PAGE-NUMBER は増加しません。

*PAGESIZE

フォーマット/長さ: N7
内容変更の可否: 不可

TP サブシステムでこの情報を提供できる場合、このシステム変数には、Natural が呼び出された I/O デバイスの物理ページサイズが格納されます。

*PF-KEY

フォーマット/長さ: A4
内容変更の可否: 不可

このシステム変数には、最後に押されたキーの ID が格納されます。

*PF-KEY は次の値のいずれかを含むことができます。

説明
PA1~PA3 プログラムアテンションキー 1~3。
PF1~PF48 プログラムファンクションキー 1~48。
ENTR ENTER キー。
CLR CLEAR キー。
PEN ライトペン。
PGDN PAGE DOWN キー。
PGUP PAGE UP キー。

*PF-KEY にキー ID が入るのは、そのレベルでそのキーが察知可能にされた場合だけです。それ以外では、*PF-KEY には ENTR が入っています。

注意:

  1. 改ページが発生すると、*PF-KEYENTR に変更されます。これは、すべての環境(端末または端末以外)に適用されます。
  2. *PF-KEY で値の範囲を比較する場合、*PF-KEY の内容は英数字の値であることに注意する必要があります。

参考情報

*PF-NAME

フォーマット/長さ: A10
内容変更の可否: 不可

このシステム変数には、最後に押されたファンクションキー名(SET KEY ステートメントの NAMED 節でキーに割り当てた名前)が格納されます。

これにより、特定のキーではなく、特定のファンクション名に依存する処理を実行できます。例えば、PF1 キーまたは PF13 キーを押すとヘルプが呼び出されるようにする場合は、PF1 キーと PF13 キーに名前として HELP を割り当て、*PF-NAME='HELP' によってヘルプを呼び出すことができます。これで PF1 キーまたは PF13 キーのいずれを押しても、ヘルプが呼び出されます。

プログラミングガイド』の「ダイアログ設計」の「ファンクションキー名に基づいた処理」も参照してください。

*WINDOW-LS

フォーマット/長さ: N3
内容変更の可否: 不可

このシステム変数には、論理ウィンドウ(フレームなし)の行サイズが格納されます。DEFINE WINDOW ステートメントの説明も参照してください。

*WINDOW-POS

フォーマット/長さ: N6
内容変更の可否: 不可

このシステム変数には、ウィンドウの左上角の位置が格納されます。DEFINE WINDOW ステートメントの説明も参照してください。

位置は、0(左上角)から始めて複数行に渡る文字列を数えます。

*WINDOW-PS

フォーマット/長さ: N3
内容変更の可否: 不可

このシステム変数には、論理ウィンドウ(フレームなし)のページサイズが格納されます。DEFINE WINDOW ステートメントの説明も参照してください。