Удаление файлов

Закрытие файла

Запись данных в файл прямого доступа и бинарный файл оператором 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