書式パーツは、EGL ソース形式 で記述された EGL ファイル内に宣言します。書式パーツが 1 つの書式グループだけからアクセスされる場合は、書式パーツを formGroup パーツに埋め込むことをお勧めします。 書式パーツが複数の書式グループからアクセスされる場合は、EGL ファイルのトップレベルに書式パーツを指定する必要があります。
Form myTextForm type textForm { formsize= [24, 80], position= [1, 1], validationBypassKeys=[pf3, pf4], helpKey="pf1", helpForm="myHelpForm", msgField="myMsg", alias = "form1" } * { position=[1, 31], value="Sample Menu" } ; * { position=[3, 18], value="Activity:" } ; * { position=[3, 61], value="Command Code:" } ; activity char(42)[5] { position=[4,18], protect=skip } ; commandCode char(10)[5] { position=[4,61], protect=skip } ; * { position=[10, 1], value="Response:" } ; response char(228) { position=[10, 12], protect=skip } ; * { position=[13, 1], value="Command:" } ; myCommand char(70) { position=[13,10] } ; * { position=[14, 1], value="Enter=Run F3=Exit"} ; myMsg char(70) { position=[20,4] }; end
Form myPrintForm type printForm { formsize= [48, 80], position= [1, 1], msgField="myMsg", alias = "form2" } * { position=[1, 10], value="Your ID: " } ; ID char(70) { position=[1, 30] }; myMsg char(70) { position=[20, 4] }; end
列値は、表示領域に水平に表示できる 1 バイト文字の数に相当します。
validationBypassKeys = [pf3, pf4]
列値は、表示領域に水平に表示できる 1 バイト文字の数に相当します。
書式定義と同じ列を印刷書式に使用するには、各 SO または SI 文字の代わりにスペースを印刷するプリンターに対しては no を指定し、印刷行から SO または SI 文字を削除するプリンターに対しては yes を指定します。
書式フィールドのダイアグラムは、次のとおりです。
ユーザーのコードは名前付きフィールドの値にアクセスできます。名前付きフィールドは変数フィールドとも呼ばれます。
ある行で始まり、別の行で終了する変数フィールドがテキスト書式に含まれる場合、テキスト書式は画面幅が書式幅と等しい画面上にのみ表示できます。
DBCHAR 型のフィールドを含む書式は、2 バイト文字セットをサポートするシステムおよびデバイスでのみ使用できます。 同様に、MBCHAR 型のフィールドを含む書式は、マルチバイト文字セットをサポートするシステムおよびデバイスでのみ使用できます。
プリミティブ・タイプ FLOAT、SMALLFLOAT、および UNICODE は、テキスト書式または印刷書式ではサポートされていません。
この節では、書式フィールドでのみ使用できるプロパティーについて説明します。 その他のプロパティーについては、『フィールド表示プロパティー』、 『フォーマット設定プロパティー』、および『検証プロパティー』で説明しています。
このプロパティーは、dataItem パーツの宣言内など、 任意の項目に対して指定できます。
数値フィールドに対する fieldLen の値は、フィールドに格納可能な最大の数値を表示できる長さに、 (数値に小数点以下の桁がある場合は) 小数点を足した大きさでなければなりません。 CHAR、DBCHAR、MBCHAR、または UNICODE 型のフィールドに対する fieldLen の値は、2バイト文字と SI/SO 文字を考慮した大きさでなければなりません。
デフォルトの fieldLen は、すべてのフォーマット設定文字を含めて、可能な最大のプリミティブ型の数字を表示するために必要なバイト数です。
detectable プロパティーは、COBOL プログラムでのみ使用でき、テキスト書式フィールドで intensity プロパティーが invisible 以外の場合にのみ有効です。
変数フィールドの指定文字をユーザーが変更できないようにするには、protect プロパティーを yes または skip に設定します。
IBM 3278 および 3279 端末は、いずれのタイプの検出もサポートします。IBM 3277 端末では、遅延検出のみをサポートします。 どの場合も、サポートする端末またはエミュレーターの文書を読むことをお勧めします。
デフォルトは no です。
myArray char(1)[3];
配列エレメントは、配列の最初の要素に対して指定された配置を基準にして配置されます。 デフォルトの振る舞いでは、要素を縦方向の連続行に配置します。
myArray char(10)[5] {position=[4,61], protect=skip, myArray[2] { cursor = yes} };