Синтаксическая ошибка, отсутствует символ в Basic
Привет каждый раз, когда я пытаюсь запустить следующую программу:
L=-1
OPEN "tty.usbserial-FTG7QLFS:300,N,8,1,CS0,DS" FOR OUTPUT AS #1
WHILE L
J=63
MENU: PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT "WAITING FOR KEYSTROKE COMMAND"
PRINT "TYPE:"
PRINT " C-CLOSE SHUTTER"
PRINT " O-OPEN SHUTTER"
PRINT " R-RESET CONTROL"
PRINT " Q-TERMINATE PROGRAM"
PRINT
PRINT
START:
A$ = INKEY$
IF A$ = "O" THEN
PRINT #1,CHR$(J+1);
PRINT "SHUTTER OPEN COMMAND SENT"
GOSUB TIMEOUT
GOTO MENU
ELSEIF A$ = "C" THEN
PRINT #1,CHR$(J+2);
PRINT "SHUTTER CLOSE COMMAND SENT"
GOSUB TIMEOUT
GOTO MENU
ELSEIF A$ = "R" THE
PRINT #1,CHR$(J+3);
PRINT "CONTROL RESET COMMAND SENT"
GOSUB TIMEOUT
GOTO MENU
ELSEIF A$ = "Q" THEN
L = 0
PRINT "PROGRAM TERMINATED"
ELSE GOTO START
END IF
WEND
END
TIMEOUT: FOR I=1 TO 100:NEXT I
CLS 0
RETURN
Я получаю следующую ошибку "синтаксическая ошибка, пропущенный символ в строке 6", но в строке 6 есть только оператор print, поэтому я не могу понять, что мне не хватает. Я запускаю программу через Chipmunk Basic на Mac OS X.
Спасибо
1 ответ
Похоже
OPEN "tty.usbserial-FTG7QLFS:300,N,8,1,CS0,DS" AS#1
отсутствует режим доступа к файлу. Возможно, компилятор безуспешно ищет такие токены и сдается в следующих строках.
В основных документах Бурундука говорится:
open STRINGEXPR for { input|output|append } as # FNUM
-- or --
open STRINGEXPR for random as # FNUM len = VAL
Смотрите http://anoved.net/cbasdox/statements.html
Я действительно не знаю бейсик Бурундук, но и на других диалектах бейсика (QBasic, FreeBASIC, VisualBASIC Classic, ...) вы должны указать, какие действия вы хотите открыть свой файл.
Примеры FreeBASIC:
OPEN SomeFile FOR INPUT AS #1 ' input (read-only)
OPEN OtherFile FOR OUTPUT AS #2 ' write (replace existing file)
OPEN FooFile FOR BINARY AS #3 ' binary (read + write)
Это как указание "r", "r+", ... при использовании fopen
на китайских языках.