Реферат: Все о Turbo Basic
PRINT ST$
CLOSE #1
END
3.2. Файлы прямого доступа
Файл прямого доступа состоит из записей, доступ к которым возможен в произвольном порядке по номеру записи.
Создание файла прямого доступа включает следующие шаги: открытие файла (оператор OPEN); задание структуры записи файла, или разметка буфера (оператор FIELD); передача записи в буфер (операторы LSETили RSET); пересылка содержимого буфера в файл (оператор PUT), при этом если номер записи в операторе PUTне указан явно, буфер помещается на место текущей записи, при открытии файла указатель текущей записи равен 1, после каждой операции ввода или вывода указатель сдвигается на следующую запись; закрытие файла (оператор CLOSE).
Записи передаются в виде строк символов. Поэтому необходимо использовать соответствующие функции преобразования данных в строку символов и обратно.
Ниже перечислены функции и осуществляемые ими преобразования.
MKI$ (MKL$) - целое (длинное целое) в 2-х (4-х) байтовую строку;
MKS$ (MKD$) - вещественное (вещественное двойной точности) в 4-х (8-ми) байтовую строку.
CVI(CVL) - 2-х (4-х) байтовую строку в целое (длинное целое);
CVS(CVD) - 4-x (8-ми) байтовую строку в вещественное (вещественное двойной точности).
Считывание из файла прямого доступа включает также пять шагов: открытие файла; разметка буфера; передача записи из файла в буфер (оператор GET); обработка данных буфера (переменные буфера доступны из программы); закрытие файла.
Если вывод в файл и ввод из файла осуществляются в одной программе, то открытие и закрытие файла осуществляется один раз перед началом и после окончания всех операций с файлом.
Оператор OPEN имеет вид
OPENимя файла AS #номер файла LEN= длина записи (отсутствие указания режима ввода или вывода означает, что файл прямого доступа).
Оператор FIELD имеет вид
FIELD #номер файла ,n1ASимя1 [, n2ASимя2 ,...],
где n1, n2, ... - длина поля в байтах под переменные имя1 , имя2 ,
... (имя1 , имя2 , - символьные переменные ).
Операторы LSET, RSET имеют вид
LSETимя =символьное выражение
RSETимя =символьное выражение
Оператор LSET (RSET) заполняет одно поле записи в буфере (оператор LSET - с начала, RSET - с конца, оставшиеся позиции заполняются пробелами).
Оператор PUT имеет вид
PUT#номер файла [, номер записи ]
Этот оператор передает содержимое буфера в файл на место записи с указанным номером (или текущей, если номер не указан).
Оператор GET имеет вид
GET#номер файла [,номер записи и ]