Передача переменных в Business Basic не работает - PullRequest
1 голос
/ 20 сентября 2011

Следующий код вызывает созданную мной программу, которая автоматически создает поле ввода с квадратными скобками с любой стороны определенной длины.

C$ - это стандартная переменная, которую мы используем во всех наших программах в бизнесе;длина 10;Age: - метка;координата х 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, как и должно быть ... у кого-нибудь есть предложения?

1 Ответ

2 голосов
/ 21 сентября 2011

Используйте параметр LEN вместо SIZ для ограничения ввода

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