このドキュメントでは、次のトピックについて説明します。
| フォーマット/長さ: | P3 |
| 内容変更の可否: | ○(負の値を割り当ててはいけません) |
このシステム変数には、現在カーソルが位置付けられている列番号が格納されます。
画面上の物理的な位置に関係なく、カーソル位置は現在アクティブなウィンドウ内で定義され、位置は論理ページの左上の角(1/1)から開始します。
*CURS-COL の値が負の場合、カーソルはアクティブなウィンドウの外側にあることを示します。*CURS-COL が負の場合、*CURS-LINE も負の値です。この場合、両方のシステム変数の絶対値は、物理画面上のカーソルの位置を示しています。
注意:
メッセージ行、ファンクションキー行、および情報行/統計行は、画面上のデータ行とは見なされません。
『プログラミングガイド』の「ダイアログ設計」の「列に基づいた処理」も参照してください。
| フォーマット/長さ: | I4 |
| 内容変更の可否: | 不可 |
このシステム変数は、カーソルが現在位置付けられているフィールドの ID を返します。返される値は、フィールドアドレスの内部表現です。
*CURS-FIELD は単独では使用できません。POS 関数とともに使用します。これらを使用して、現在カーソルが特定のフィールドに置かれているかどうかを確認し、その状況に応じて処理を実行できます。詳細については、POS 関数を参照してください。
カーソルがフィールド内にない場合、または REINPUT を使用できない場合、*CURS-FIELD の値は 0 です。
Natural for Ajax アプリケーションの場合、入力にフォーカスがあるコントロールの値を表すオペランドが、*CURS-FIELD によって識別されます。*CURS-FIELD を POS 関数と併せて使用することにより、入力にフォーカスがあり、その条件に応じて処理を実行するコントロールをチェックできます。
注意:*CURS-FIELD は、同じ格納場所で開始する 2 つの異なる変数(REDEFINE 変数)を区別することはできません。これは、*CURS-FIELD によって返される内部フィールドのアドレスが両方とも同じであるためです。
*CURS-FIELD の値はフィールドの内部 ID を提供するのみであり、算術演算には使用できません。*CURS-FIELD によって X-array(少なくとも 1 次元の、少なくとも 1 つの境界が拡張可能として指定される配列)のオカレンスが識別される場合は、配列の次元のオカレンス数が EXPAND、RESIZE、または REDUCE ステートメントを使用して変更された後、*CURS-FIELD の値が変わることがあります。
『プログラミングガイド』の「ダイアログ設計」の「フィールドに基づいた処理」も参照してください。
| フォーマット/長さ: | P3 |
| 内容変更の可否: | ○(負の値や 0 を割り当ててはいけません) |
このシステム変数には、現在カーソルが位置付けられている行番号が格納されます。
カーソルの位置は画面上の物理的な位置に関係なく、現在アクティブなウィンドウ内で定義され、位置は論理ページの左上の角(1/1)から開始します。
注意:
メッセージ行、ファンクションキー行、および情報行/統計行は、画面上のデータ行とは見なされません。
*CURS-LINE の値は以下のいずれかです。
| 値 | カーソル位置 |
|---|---|
| 0 | カーソルはウィンドウの上または下の水平フレーム行上に位置付けられています。 |
| -1 | カーソルは Natural メッセージ行上に位置付けられています。 |
| -2 | カーソルは Natural 情報行/統計行上に位置付けられています。 |
| -3 | カーソルはファンクションキーの上段(番号)の行に位置付けられています。 |
| -4 | カーソルはファンクションキーの下段(名前)の行に位置付けられています。 |
*CURS-COL の値が負の場合、カーソルはアクティブなウィンドウの外側にあることを示し、*CURS-LINE も負の値を持ちます。この場合、両方のシステム変数の絶対値は、物理画面上のカーソルの位置を示しています。
『プログラミングガイド』の「ダイアログ設計」の「行に基づいた処理」も参照してください。
| フォーマット/長さ: | N6 |
| 内容変更の可否: | 不可 |
このシステム変数には、ENTER キーやファンクションキーが押されたときの入力画面のカーソルの位置が格納されます。
注意:*CURSOR ではなく、システム変数 *CURS-LINE および *CURS-COL を使用してください。*CURSOR は、以前の Natural バージョンとの互換性のためにのみ有効になっています。
| フォーマット/長さ: | P5 |
| 内容変更の可否: | 不可 |
このシステム変数には、現在のページの現在の行番号が格納されます。
この変数は Natural がレポート内の次行の行番号を決定するために使用します。
*LINE-COUNT の値は常に出力行に対して 1 ずつ増加します。この値は WRITE、SKIP、DISPLAY、PRINT、INPUT ステートメントの実行中に更新され、そのページに出力された最後の行の行番号を持ちます。
EJECT ステートメントまたは NEWPAGE ステートメントは *LINE-COUNT を 1 にリセットします(NEWPAGE WITH TITLE の場合、*LINE-COUNT の値はタイトルとして出力する行数によって異なるため、この場合は例外です)。
最大行番号は 250 です。
プログラムで複数のレポートを作成する場合、(rep) を *LINE-COUNT の後に指定し、現在の行番号を要求するレポート番号を指定します。
| フォーマット/長さ: | N7 |
| 内容変更の可否: | 不可 |
このシステム変数には、Natural が呼び出された I/O デバイスの物理的な行サイズ(TP システムでこの情報を提供できる場合)が格納されます。
| フォーマット/長さ: | N3 |
| 内容変更の可否: | 不可 |
このシステム変数には、プライマリレポートで出力される論理ページの行サイズが格納されます。
*LOG-LS はプライマリレポートにのみ適用され、追加レポートには適用されません。
| フォーマット/長さ: | N3 |
| 内容変更の可否: | 不可 |
このシステム変数には、プライマリレポートで出力される論理ページのページサイズが格納されます。
*LOG-PS はプライマリレポートにのみ適用され、追加レポートには適用されません。
| フォーマット/長さ: | P5 |
| 内容変更の可否: | 可 |
このシステム変数には、出力レポートの現在のページ番号が格納されます。
プログラムで複数のレポートを作成する場合、(rep) を *PAGE-NUMBER の後に指定し、現在のページ番号を要求するレポート番号を指定します。
この変数は、レポートのフォーマッティング開始時に Natural が定義します。したがって、レポートで最初の FORMAT、WRITE、または DISPLAY ステートメントが出されるまでは、パラメータは意味を持ちません。この変数は Natural プログラムで変更できます。
この変数で Natural は、レポートの次のページのページ番号を判断します。WRITE、DISPLAY、SKIP、または NEWPAGE ステートメントで開始される次のページのために値は常に 1 増加します。EJECT では *PAGE-NUMBER は増加しません。
| フォーマット/長さ: | N7 |
| 内容変更の可否: | 不可 |
TP サブシステムでこの情報を提供できる場合、このシステム変数には、Natural が呼び出された I/O デバイスの物理ページサイズが格納されます。
| フォーマット/長さ: | 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 が入っています。
注意:
*PF-KEY が ENTR に変更されます。これは、すべての環境(端末または端末以外)に適用されます。
*PF-KEY で値の範囲を比較する場合、*PF-KEY の内容は英数字の値であることに注意する必要があります。
参考情報
SET KEY ステートメント(*PF-KEY の内容への影響について)。
『プログラミングガイド』の「ファンクションキーに基づいた処理」。
| フォーマット/長さ: | A10 |
| 内容変更の可否: | 不可 |
このシステム変数には、最後に押されたファンクションキー名(SET
KEY ステートメントの NAMED 節でキーに割り当てた名前)が格納されます。
これにより、特定のキーではなく、特定のファンクション名に依存する処理を実行できます。例えば、PF1 キーまたは PF13 キーを押すとヘルプが呼び出されるようにする場合は、PF1 キーと PF13 キーに名前として HELP を割り当て、*PF-NAME='HELP' によってヘルプを呼び出すことができます。これで PF1 キーまたは PF13 キーのいずれを押しても、ヘルプが呼び出されます。
『プログラミングガイド』の「ダイアログ設計」の「ファンクションキー名に基づいた処理」も参照してください。
| フォーマット/長さ: | N3 |
| 内容変更の可否: | 不可 |
このシステム変数には、論理ウィンドウ(フレームなし)の行サイズが格納されます。DEFINE
WINDOW ステートメントの説明も参照してください。
| フォーマット/長さ: | N6 |
| 内容変更の可否: | 不可 |
このシステム変数には、ウィンドウの左上角の位置が格納されます。DEFINE WINDOW ステートメントの説明も参照してください。
位置は、0(左上角)から始めて複数行に渡る文字列を数えます。
| フォーマット/長さ: | N3 |
| 内容変更の可否: | 不可 |
このシステム変数には、論理ウィンドウ(フレームなし)のページサイズが格納されます。DEFINE
WINDOW ステートメントの説明も参照してください。