回答箱 No.97-3:  「?」を使った入力で、回数が不確定な場合の自動化方法は?

  ◆ 質問箱 No.97  質問者:  藤原 良允  1999年06月 209号 P.29
      ◆ 質問箱 目次へ
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月号に内海さんと、入川さんからも、ご回答頂き感謝しております。本当に有難うございました。

戻る