1

次のコードは、私が作成したプログラムを呼び出します。このプログラムは、特定の長さで両側に角かっこがある入力フィールドを自動的に作成します。

C$ビジネスのすべてのプログラムで使用する標準変数です。長さは10; Age:ラベルです。x 座標は1; y 座標は1IN$入力ステートメントの変数です。

3020 CALL "SCOINPUT",C$,10,"AGE:   ",1,1,IN$

次のプログラムは、入力行を作成します。

0100 REM 100 - SCOINPUT - CREATES AN INPUT LINE WITH BRACKETS AND TO A CERTAIN
0100: SIZE
0150 SETERR 15000
0155 ENTER C$,INSIZE,LABEL$,X,Y,IN$
0160 LET LABEL$=CVS(LABEL$,7)
0170 LET EBRAK=X+LEN(LABEL$)+SIZE+2
0300 IF INSIZE<>0 THEN GOTO 0400 ELSE GOTO 0500
0400 PRINT @(X,Y),LABEL$+" [",@(EBRAK,Y),"]",
0410 INPUT (0,SIZ=INSIZE)@(X+LEN(LABEL$)+2,Y),"",IN$
15000 SETERR 15010; EXIT
15010 END

行が印刷されると、すべてが正しい場所に配置されますが、長さが本来あるべき 10 に制限されていません...誰か提案はありますか?

4

1 に答える 1

2

入力を制限するのLENではなく、オプションを使用してくださいSIZ

0410 INPUT (0,LEN=INSIZE)@(X+LEN(LABEL$)+2,Y),"",IN$
于 2011-09-21T13:23:01.750 に答える