Удаление файлов
Закрытие файла
Запись данных в файл прямого доступа и бинарный файл оператором PUT
PUT записывает содержимое переменной в файл прямого доступа или бинарный файл.
Синтаксис:
PUT #номер_файла[,[номер_записи][, переменная]] ,
Где
<номер_записи> - номер записи (для файлов прямого доступа) или позиция байта (для двоичных файлов), куда будут записаны данные из переменной,
<переменная> - переменная, содержащая данные для записи в файл (обычно определенного пользователем типа данных).
Запись данных в файл последовательного доступа оператором PRINT или WRITE
Синтаксис:
PRINT # <номер_файла>, <выражения>
WRITE # <номер_файла>,< выражении>я ,
где
< выражения> - список констант и/или переменных, значения которых записываются в файл.
Результаты работы операторов одни и те же. Операторы записывают данные в таком виде, чтобы они могли быть считаны оператором INPUT.
Пример:
CLS
INPUT "Введите имя файла: ", n$
OPEN n$ FOR OUTPUT AS #1
PRINT #1, "Это хранится в файле"
После окончания работы с файлом - чтения или записи его необходимо закрыть. Закрытие фала осуществляется операторомCLOSE.
Синтаксис: CLOSE {# номер_файла}
Оператор закрывает файл с указанным номером. Если номер опустить, то оператор закроет все файлы, открытые в данный момент в программе. При отсутствии оператора CLOSE все открытые файлы закрываются оператором END.
Пример. Открытие файла прямого доступа, запись в него и закрытие файла:
‘Определение пользовательского типа данных – содержит две переменных разных типов
TYPE TestRecord
Student AS STRING * 20
Score AS SINGLE
END TYPE
‘резервируем в памяти переменную заданного выше типа
DIM MyClass AS TestRecord
OPEN "FINAL.DAT" FOR RANDOM AS #1 LEN = LEN(MyClass)
MyClass.Student = "Олег Дворченко"
MyClass.Score = 99
PUT #1, 1, MyClass
CLOSE #1
OPEN "FINAL.DAT" FOR RANDOM AS 1 LEN = LEN(MyClass)
GET #1, 1, MyClass
PRINT "СТУДЕНТ:", MyClass.Student
PRINT "СЧЕТ:", MyClass.Score
CLOSE #1
KILL "FINAL.DAT"
Проверка достижения конца файла.
Достижение конца файла можно определить при помощи функции EOF. При достижении конца файла она возвращает "истинно" (не ноль).
Синтаксис функции: EOF <#номер_файла > ,
где #номер_файла - номер открытого файла.
Пример:
CLS
OPEN "ТЕСТ.ДАН" FOR OUTPUT AS #1
FOR i% = 1 TO 10
WRITE #1, i%, 2 * i%, 5 * i%
NEXT i%
CLOSE #1
OPEN "ТЕСТ.ДАН" FOR INPUT AS #1
DO
LINE INPUT #1, a$
PRINT a$
LOOP UNTIL (EOF(1))
Удалить файл или группу файлов можно оператором KILL.
Синтаксис оператора: KILL<список файлов>
В списке файлов могут быть полные имена файлов. Допустимо применять символы-заменители ? и * для выделения группы файлов.
CLOSE
OPEN n$ FOR INPUT AS #1
INPUT #1, a$
PRINT "Чтение из файла: "; a$
CLOSE