2011-09-20 75 views
1

以下代码调用我自己创建的程序,该程序会自动创建一个输入字段,并在两侧以一定的长度包围括号。在Business Basic中传递变量似乎不工作

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个,应该是......任何人都有任何建议?

回答

2

使用LEN选项而非SIZ限制输入

0410 INPUT (0,LEN=INSIZE)@(X+LEN(LABEL$)+2,Y),"",IN$