回答箱 No.97-3: 「?」を使った入力で、回数が不確定な場合の自動化方法は?
No.97-03 |
「?」を使った入力で、回数が不確定な場合の自動化方法は? |
回答者 藤原 良允 |
1999年08月 211号 P.15 |
◆ No.97(1999 06月号)の回答-03 (自問自答)P-4G
■ この質問原稿を投稿する前後に、元山さんに電話で同じ質問をしましたところ、その解決方法は、以前、鈴木貞治さんが発表しているよ、と教えてくださいました。そして、ご親切に、元山さんの会社で実行しているプログラム例をFAXで送信してくださったのです。ありがたいですね。
質問箱へ出した原稿は、舌足らずのところがありましたから、誤解されたかも分かりません。FOR〜NEXT で簡単にできるじゃないかと。確かに、H行からT行までならFOR〜NEXT でOKなのです。
<ところが、実務上では、カーソルを、上の行に戻したりするため、FOR〜NEXT ではうまくいかないのです。例えば、4行目に入力してカーソルが5行目に移ったとき、4行目の入力間違いに気付き、矢印キーでカーソルを4行目に戻すと?を1個使ったと同じことになり、T−1行目で入力が終わってしまうのです。
■ <そこで、元山さんからご教示頂いたプログラム例を参考に、下記のプログラムを作成し実行しました。問題は見事解決です。有難うございました。
1 G;DATA/1;
2 DISP CLOSE;
3 LET X4=3; LET X5=H;
4 $入力: WC;%X4;%X5; /* X4=列 X5=行 */
5 $入?: ?;
6 IF ROW=-2 THEN GOTO 入?; /* 矢印キー */
7 IF ROW=-1 THEN GOTO ツギ; /* HOMEキー */
8 LET X4=COLUMN; LET X5=ROW; HOME;
9 IF X5>=T THEN LET X5=H-1;
10 LET X5=X5+1; GOTO 入力;
11 $ツギ: DISP OPEN,SVLR,CLR;
12 RETURN;
|
■ なお、7月号に内海さんと、入川さんからも、ご回答頂き感謝しております。本当に有難うございました。
□
|
|
| |
戻る