Функции работы с файлами

OPEN
OPEN File name FOR [ READ ] [ WRITE ] [ CREATE | APPEND ]
[ DIRECT] [ WATCH ] [ BIG | LITTLE ] AS # Variable


Открывает файл для чтения, записи, создания или присоединения данных. Файл должен существовать, если не задано ключевое слово CREATE .
Если ключевое слово CREATE задано, тогда файл создается или очищается, если уже существует.
Если задано ключевое слово APPEND , тогда указатель файла перемещается к концу файла сразу после открывания файла.
Если задано ключевое слово DIRECT , ввод-вывод не буферизуются.
Если задано ключевое слово WATCH , файл наблюдается интерпретатором :
Если хотя бы один байт может быть прочитан из файла, тогда вызывается поддержка события File_Read().
Если хотя бы один байт может быть записан в файл, тогда вызывается поддержка события File_Write().
Если заданы ключевые слова BIG или LITTLE , тогда вся подпоследовательность READ и WRITE операций на этом файле будет использовать big-endian или little-endian представление данных.

Переменная получает объект, который представляет открытый поток.

Пример:

' Watching a serial port
DIM hFile AS File
OPEN "/dev/ttyS0" FOR READ WRITE WATCH AS #hFile
...
PUBLIC SUB File_Read()
DIM iByte AS Byte
READ #hFile, iByte
PRINT "Got one byte: "; iByte
END
' Reading data from a BMP file, known to use little-endian format:
DIM hFile AS File
DIM iData AS Integer
OPEN "./image.bmp" FOR READ LITTLE AS #hFile
...
READ #hFile, iData

CLOSE
CLOSE # File

Закрывает открытый файл.

INPUT
INPUT Variable [ , Variable ... ]

Читает стандартный ввод и конвертирует элементы, разделенные пробелами или символами новой строки, с помощью функции Val() , прежде чем положить их в переменные.

INPUT # File , Variable [ , Variable ... ]

То же, что выше, исключая то, что данные читаются из потока File.

LINE INPUT
LINE INPUT Variable
Читает введенную строку текста в стандартном вводе.
LINE INPUT # File , Variable
То же, что и выше, за исключением того, что данные читаются из потока File.

Пример:

' Print a file to standard output
OPEN FileName FOR READ AS #hFile
WHILE NOT Eof(hFile)
LINE INPUT #hFile, OneLine
PRINT OneLine
WEND
CLOSE #hFile

Подсказка: Не используйте LINE INPUT для чтения двоичных файлов, поскольку вы потеряете символы прехода на новую строку. Вместо этого используйте READ:
READ #hFile, OneLine, -256
где "-256" - это максимальное число байт, которые вам нужны, со знаком минус перед ним.

READ
READ Variable [ , Length ]

Читает стандартный вывод, как двоичные данные, чей тип задается типом переменной. Двоичное представление - одно из используемых инструкцией WRITE .
Есди Variable - это строка, вы можете задать длину, которая покажет число байт для чтения. Если длина отрицательна, тогда (- Length) байт прочитается до конца потока.
Если длина не задана для строки, она читается из потока. Строка затем должна быть записана инструкцией WRITE .

READ # File , Variable [ , Length ]

Так же, как выше, исключая то, что данные читаются из потока File.

WRITE
WRITE Expression [ , Length ]

Записывает выражения в стандартный вывод, используя их двоичное представление.
Если Expression - это строка, вы можете задать длину, что показывает количество байт для записи. Если длина не задана для строки, она непосредственно записывается в поток сразу перед данными строки.

WRITE # File , Expression [ , Length ]

То же, что и выше, исключая то, что выражения посылаются в поток File.