■主に関連するコマンド
■書式
分岐 〈名札名〉 あるいは 分岐(〈条件式〉),〈名札名〉
機能キー (〈開始行〉,〈開始桁〉),プロンプト=〈文字列〉,カソール=|オンorオフ|,文字キー=|無効or有効|
,入力待ち=|するorしない|,バッファクリア=|するoしない|,〈変数名〉
確認 〈表示文字列〉,〈変数名〉
条件 (〈条件式〉),〈一括処理コマンド〉
■機能
分岐 : 指定した名札から一括処理コマンドを実行する。
機能キー入力 :ENT(RET)キーやESCキーなど押された機能キーに対応する番号を返す。
確認 : エラーメッセージに〈表示文字列〉を表示して、確認キーが入力されるのを待つ。
〈変数名〉には確認キーがENT(RET)キーを押したときに1、ESCキーを押したときに0が代入される。
条件 : 条件に一致するときだけ一括処理コマンドを実行する。
テクニック1【機能キー入力コマンドでの分岐の使用例】
機能キーの割り当て番号
入力なし;0 ROLL UP;1 ROLL DOWN;2 INS;3 DEl;4 HOMECLR;5 HELP;6 XFER;7 BS;8 TAB;9 ENT;13 ESC;27 →;28 ←;29 ↑;30 ↓;31 文字;JIS文字符号(10進数) |
1行目 | 画面表示 (10,14),"年度の年間行事予定表を作成します。(ENT:作成する ESC:しない)",白 |
2行目 | 名札 ミス1 |
3行目 | 機能キー入力 (9,10),カーソル=オフ,&確認 |
4行目 | 分岐 (&確認=13) , 処理1 |
5行目 | 分岐 (&確認<>27 .AND &確認<>13) , ミス1 |
6行目 | 分岐 (&確認=27) , 処理5 |
7行目 | 名札 処理1 |
【解説】
1行目;画面には 年度の年間行事予定表を作成します。(ENT:作成する ESC:しない) と表示されています。
3行目;押された機能キーに応じて変数&確認に『機能キーの割り当て番号』が代入されます。
4行目;&確認=13 すなわちENTキー(NECではRETキー以後ENTキーで統一)を押したときに
名札 処理1すなわち7行目に分岐します。それ以外のキーを押したときは5行目に分岐します。
5行目;&確認<>27 .AND &確認<>13 すなわちENTキーでもESCキーでもないキーを押してしまったときには
名札 ミス1すなわち2行目に分岐してやり直しとなります。
6行目;&確認=27 すなわちECSキーを押したときに"名札 処理5”に分岐します。
【応用】
機能キーは数多く存在しますので、その種類だけ分岐をさせることが可能になります。ですから、多くの分岐が必要な場合の1つの方法として使用するとよいでしょう。
【参考】
■関連コマンド
機能キー入力 :ENT(RET)キーやESCキーなど押された機能キーに対応する番号を返す。
【リスト1】を確認コマンドを使って書き換えてみましょう。
【リスト2】
1行目 | 確認 "年度の年間行事予定表を作成します。(ENT:作成する ESC:しない)",&確認 |
2行目 | 分岐 (&確認=1) , 処理1 |
3行目 | 分岐 (&確認=0) , 処理5 |
4行目 | 名札 処理1 |
なんと7行必要だった一括処理が4行で済みました。しかも、確認コマンドでは機能キーコマンドで必要としたミスの処理を必要としません。
【リスト1】でミスの処理が必要なのは、機能キーコマンドでENTまたはESC以外を押してしまった場合でもENTキーを入力したときと同じ処理をしてしまうからです。
それは、
★分岐コマンドでは条件に合わないキーを入力した場合には分岐せずに次行の処理へと進む
という性質のために起ります。それに対して、
★確認コマンドではENT(RET)キーとESCキー以外のキーを入力しても次行の処理へ進まない
ので、分岐が2つか、或いは3つでもミス回避のための分岐がその中の1つであるような場合であれば、確認コマンドで十分です。但し、確認コマンドのメッセージの位置は必ず画面最下行の5桁目から出てきます。また、表示できる文字の長さも半角で70桁までなので、メッセージの文字数や表示位置を色々と変えたいときは、1行目を以下のように画面表示コマンドを追加して2行に増やせばクリアできます。
1行目 | 確認 "年度の年間行事予定表を作成します。(ENT:作成する ESC:しない)",&確認 |
1行目 | 画面表示 (10,14),"年度の年間行事予定表を作成します。(ENT:作成する ESC:しない)",白 |
2行目 | 確認 ,&確認 |
【ポイント】2行目の確認コマンドでは、表示文字列を指定していませんが変数&確認の前に,(コンマ)が必要です。
【補足】
【分岐コマンドと条件コマンド】
【リスト1】の分岐コマンドを条件コマンドを使って書き換えてみましょう。
1行目 | 画面表示 (10,14),"年度の年間行事予定表を作成します。(ENT:作成する ESC:しない)",白 |
2行目 | 名札 ミス1 |
3行目 | 機能キー入力 (9,10),カーソル=オフ,&確認 |
4行目 | 条件 (&確認=13) 分岐 処理1 |
5行目 | 条件 (&確認<>27 .AND &確認<>13) 分岐 ミス1 |
6行目 | 条件 (&確認=27) 分岐 処理5 |
7行目 | 名札 処理1 |
実際には【リスト3】のような使い方はあまりしないと思います。分岐コマンドは指定した名札へと移動するのに対して、条件コマンドは指定したコマンドを実行するということお分かり頂くために敢えて書き換えてみました。
★分岐コマンドはある条件のときに、ある処理を迂回したいときに使用する。
★条件コマンドはある条件のときに、ある処理を1つ行いたいときに使用する。
と考えればよいでしょう。以上のことをポイントに分岐コマンドと条件コマンドを使い分けて下さい。
【他の入力コマンド】
キー入力コマンド | 画面上から入力したデータを変数に格納する。 |
文字入力コマンド | 画面上から半角1文字を入力する。 |
以上の2つのコマンドの書き換えについては省略させて頂きます。
このように、入力コマンドを変更することで一括処理プログラムを書き換えることが可能ですが、実際には『自分の一番理解し易い処理系』を発見し、それをいつでも使えるようにすれば一括処理もどんどん上達していくと思います。