В вашем коде второе объявление FIELD
заменяет первое объявление FIELD
. В BASIC переменные, объявленные в операторе FIELD
, должны отличаться.
Если вы воспользуетесь приведенным ниже кодом, вы увидите интересный результат:
Файл testfile.000 будет содержать 1212 (только первое LSET
задает поле x $ файла # 1)
Файл testfile.001 будет содержать 1488 (оба LSET
устанавливают поле x $ файла # 2).
file1$ = "testfile.000"
file2$ = "testfile.001"
OPEN file1$ FOR RANDOM AS #1 LEN = 2
FIELD #1, 2 AS x$
LSET x$ = "12"
OPEN file2$ FOR RANDOM AS #2 LEN = 2
FIELD #2, 2 AS x$
LSET x$ = "14"
PUT #1, 1: REM This puts 12 into the 1st file#1 record.
PUT #2, 1
LSET x$ = "88"
PUT #1, 2: REM this puts 12 into the 2nd file#1 record
PUT #2, 2
CLOSE #1
CLOSE #2
END
В QB вы можете использовать двоичные файлы, как показано в коде ниже. Этот режим позволяет записывать одну и ту же переменную в несколько файлов.
При использовании файлов такого типа вы будете иметь полный контроль над размером и положением данных в файле.
file1$ = "testfile.000"
file2$ = "testfile.001"
OPEN file1$ FOR BINARY AS #1
OPEN file2$ FOR BINARY AS #2
x$ = "29"
PUT #1, 1, x$
PUT #2, 1, x$
CLOSE #1
CLOSE #2
END