このセッションでは、マップフィールドの処理ルールを定義します。
処理ルールを定義するには
[Edit Map]メニューの[Code]フィールドに「E
」を入力し、[Name]フィールドに「MAP001
」を入力します。
マップ編集画面が画面分割モードで開き、マップ MAP001 が編集エリアに表示されます。
次に示すように、フィールドコマンド「.P
」を入力します。
Ob _ Ob D CLS ATT DEL CLS ATT DEL . . T D Blnk T I ? . . A D _ A I ) . . A N ¬ M D & . . M I : O D + . . O I ( . . 001 --010---+----+----+---030---+----+----+---050---+----+----+---070---+---- ******************************************************************************* (XXXXXXXX PERSONNEL INFORMATION (XXXXXXXX PLEASE ENTER NAME:.PXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PLEASE ENTER CITY::XXXXXXXXXXXXXXXXXXXX Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test Edit -- - + Full < > Let |
Enter キーを押します。
コマンドが入力されたフィールドの処理ルールエディタが表示されます。
Variables used in current map Mod #001(A40) #002(A20) Rule ________________________________ Field #001 > > + Rank 0 S L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70. 0010 0020 0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
次の処理ルールを入力します。
Rule ________________________________ Field #001 > > + Rank 0 S L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70. 0010 * 0020 IF & = ' ' REINPUT 'PLEASE TYPE IN A NAME' 0030 MARK *& 0040 END-IF 0050 * 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
処理ルール内のアンパサンド(&)は、処理ルールが付加されるフィールドの名前でダイナミックに置き換えられます。
Enter キーを押し、続いて PF3 キーを押します。
マップ編集画面が表示されます。
PF4 キーを押して、マップをテストします。
テスト画面が表示されます。
Enter キーを押して、処理ルールをテストします。
処理ルールが実行され、ルールに入力されたテストが表示されます。
******************************************************************************* 07-12-14 PERSONNEL INFORMATION 16:04:15 PLEASE ENTER NAME: ________________________________________ PLEASE ENTER CITY: ____________________ ******************************************************************************* PLEASE TYPE IN A NAME |
注意:
テキスト PLEASE TYPE IN A NAME
が(上記のように)、画面の最下部にではなく別の行に表示される場合があります。その位置は、Natural 管理者が設定したメッセージ行の位置によって決まります。
[PLEASE ENTER NAME:]
の横の入力フィールドの 1 桁目に任意の文字を入力し、Enter キーを押します。
テストが終了し、マップ編集画面が表示されます。
前と同じ位置にフィールドコマンド「.P
」を入力し、Enter キーを押します。
コマンドが入力されたフィールドのランク(プライオリティ)0 の処理ルールが再度表示されます。
次に示すように、コマンド「P=5
」を入力します。
Rule ________________________________ Field #001 > P=5 > + Rank 0 S 5 L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70. 0010 * 0020 IF & = ' ' REINPUT 'PLEASE TYPE IN A NAME' 0030 MARK *& 0040 END-IF 0050 * 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
Enter キーを押します。
それまでランク 0 が割り当てられていた処理ルールにランク 5 が割り当てられます(処理ルールは、ランク 0 から始まり、ランクの昇順に処理されます)。
次に示すように、コマンド「P0
」を入力します。
Rule ________________________________ Field #001 > P0 > + Rank 5 S 5 L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.. 0010 * 0020 IF & = ' ' REINPUT 'PLEASE TYPE IN A NAME' 0030 MARK *& 0040 END-IF 0050 * 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
Enter キーを押します。
ランク 0 に割り当てた処理ルールがなくなったため、空の処理ルールエディタ画面が表示されます。
Rule ________________________________ Field #001 > > + Rank 0 S L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70. 0010 0020 0030 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
次の処理ルールを入力します。
Rule ________________________________ Field #001 > > + Rank 0 S 0 L 1 Struct Mode ALL ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.. 0010 * 0020 IF & = MASK ('.') STOP 0030 END-IF 0040 * 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0180 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Mset Exit Test -- - + Full Sc= Let |
Enter キーを押し、続いて PF3 キーを押します。
マップ編集画面が表示されます。
「フィールドの命名とマップの保存/カタログ」に進みます。