回答箱 No.101: DRL/Pで参照列にキーとなる文字のないページのエラーを回避したい
No.101-1 |
DRL/Pで参照列にキーとなる文字のないページのエラーを回避したい |
回答者 早瀬 壮一 |
1999年10月 213号 P29 |
◆ No.101(1999年 9月号)の回答-1
「押してだめなら引いてみよ」
The PIPSは、「IUSE」は何回やってもエラーにならないとか、削除する行データがなくても「DR;A;」がエラーなく進むとか、いろいろ融通が利く仕様になっているところもありますが,参照行、参照列のチェックは厳しくされています。
私は或るバインダーの列をチェックし、項目のない列、或いは100番台の数字のある列を削除する処理をするとき、
LET X4=CN(";@";);LET X5=CN(";@=1??";);
と列番号を調べ、「0」であれば列がないものと判断する処理をします。
しかし行の場合はそれが出来ません。
FOR・・・NEXTで該当行を探り、なければDRL処理をスキップする方法もありますがあまりスマートではありません。
私はスーパーPIPSの時に特定の文字を1列目に持った行を削除する処理を行ったことがありますが、そのときは予備行を1行持つバインダーにし、削除する処理をする前にその文字を先頭に入れた行を挿入し、「DR;@文字」で削除したことがあります。
「押してだめなら引いてみよ」のPIPS、「削除するなら挿入しろ」を見つけ嬉しかったものです。
質問者の事例のように「DRL」で行挿入の余裕がある時は、コマンドを実行する前に「IR」で空白行を「H」に挿入、「LET[H,@N]="1"」などと「DRL;R」の対象にしたいデータを書き込み、DRL処理が終了したらその行とその上に引かれた罫線行(H,H+1)を削除するようにすればよいのではないでしょうか。
|
| |
戻る