ConsoleForm パーツは、主にコンソール・フィールドのセットです。
したがって、一種のレコード・パーツになります。
またメイン・パーツでもあるため、次の考慮事項が当てはまります。
- ファイルあたり 1 つの ConsoleForm だけを指定できます。
- ConsoleForm がファイル内の唯一のメイン・パーツでなければなりません。
- ファイル名は ConsoleForm 名と同じでなければならず、大/小文字が区別されます。
ConsoleForm は、ConsoleForm ステレオタイプを備えたレコード・パーツであり、コンソール・フィールドだけでなく、あらゆる EGL レコードで有効なフィールドをすべて含むことができます。
コンソール書式をアクティブにするには、
consoleLib.displayForm() システム関数を呼び出します。
例えば、読み取り専用コンソール書式を表示する手順は、以下のようになります。
- consoleLib.displayForm() システム関数を呼び出します。
- consoleLib.getKey() システム関数を呼び出してユーザーのキー・ストロークを待機します。
ユーザーがコンソール・フィールドに書き込めるようにするには、次のアクションを代わりに実行します。
- consoleLib.displayForm() システム関数を呼び出します。
- 表示されるコンソール書式、またはコンソール書式の特定のコンソール・フィールドのいずれかを参照する openUI 文を発行します。
ユーザーがコンソール・フィールドに表示されたテーブルと対話できるようにするには、以下のアクションを実行します。
- ConsoleForm パーツで、arrayDictionary を宣言します。arrayDictionary は、コンソール・フィールド配列 (これも ConsoleForm で宣言されています) を順番に参照します。
- openUI 文で arrayDictionary を使用します。
ユーザーがコンソール書式のコンソール・フィールドのサブセットのみと対話できるようにするには、明示的に、または辞書を参照することによって、openUI 文でコンソール・フィールドをリスト表示します。
arrayDictionary 同様、辞書は、ConsoleForm で宣言されており、またコンソール・フィールド (これも ConsoleForm で宣言されています) を参照します。
EGL は、ConsoleForm で宣言したいずれのプリミティブ変数も表示しません。
コンソール・フィールドをバインドする変数を使用するか、あるいは ConsoleForm 外で宣言したプリミティブ変数を使用することができます。
一般に、以下の 2 つの方法でコンソール書式のバインディングを作成します。
- コンソール書式を宣言する際にデフォルトのバインディングを設定する
- openUI 文をコードする際に、バインディングを設定する
openUI 文で指定されるすべてのバインディングはすべてのデフォルトのバインディングをオーバーライドし、コンソール書式の宣言バインディングは残りません。
変数をバインドするために
openUI 文を使用する場合、1 つのオプションが
isConstruct 文のプロパティーを使用することで、次をアクションを実行します。
- SQL WHERE 文節に適切なストリングにユーザー入力をフォーマットする
- ストリングを単一変数に置くことによって、EGL prepare 文をコード化する場合に、リレーショナル・データベースからユーザー要求データを検索する SQL SELECT 文を簡単にコード化することができる
isConstruct プロパティーの詳細については、openUIを参照してください。
タブ順序 は、ユーザーがあるコンソール・フィールドから別のコンソール・フィールドにタブで移動する順序です。
デフォルトでは、タブ順序はコンソール書式宣言のコンソール・フィールドの順序になります。
openUI 文にコンソール・フィールドのリストを指定する場合、
タブ順序はその文のコンソール・フィールドの順序になります。
同様に openUI 文に辞書や ArrayDictionary を指定する場合、
タブ順序は辞書や arrayDictionary の宣言におけるコンソール・フィールドの順序になります。
デフォルトでは、ユーザーは Esc キーを押して、コンソール書式関連の openUI 文を終了します。