1

下面的代码调用了我编写的一个程序,该程序自动创建一个输入字段,两边各有一定长度的括号。

C$是我们在业务中的所有程序中使用的标准变量;长度是10; Age:是标签;x坐标为1;y 坐标是1并且 IN$是输入语句的变量

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 回答