logo
Лабораторная работа №13

Открытие файлов

Как было указано выше, работа с каждым из типов файлов имеет свои особенности. Однако есть два действия, общие для всех типов файлов — их открытие и закрытие.

Понятно, что перед тем как записать данные в файл или прочитать данные из файла, необходимо сначала открыть этот файл. Открытие файла выполняется оператором open:

Open имя_файла For режим_доступа [access тип_доступа] [lock] As [#]номер_файла [Len=длина]

где:

При работе оператора Open создается специальный счетчик номеров (идентификаторов) открытых файлов (в операторе это параметр номер_файла) для однозначного определения файла, с которым программа работает в текущий момент.

Если указанный в операторе Open файл не найден по заданному пути или не существует, он будет создан этим оператором для режимов доступа Append, Binary, Output или Random. Для режима доступа Input новый файл не создается.

Важной особенностью режимов доступа является возможность многократного открытия файла для режимов Binary, Input и Random, то есть файл можно открыть несколько раз с разными номерами. Но для режимов доступа Output и Append, используемых для записи данных, это недопустимо.

При использовании оператора Open необходимо, чтобы режим доступа соответствовал типу открываемого файла.

Если номер открываемого файла специально не контролируется и не задается программой, его можно узнать с помощью функции FreeFile, возвращающей последний свободный номер открываемого файла.

 

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

Закрытие файлов выполняется очень просто. Для этого необходимо использовать оператор Close, имеющий следующий синтаксис:

Close [номер_файла1, номер_файла2, …]

где номер_файла1, номер_файла2, … — список закрываемых файлов, представленных номерами файлов. При этом номер файла аналогичен номеру файла в функции Open.

Если список файлов не указан, оператор Close закрывает все открытые файлы.

Работа с файлами последовательного доступа

Файлы последовательного доступа — это, как правило, текстовые файлы, то есть последовательности ASCII-символов, организованные в строки.

При открытии файлов последовательного доступа возможны три режима доступа:

Рис. 1. Пример файла последовательного доступа

Чтение данных

Чтение данных из файла последовательного доступа выполняется с помощью функции Input и операторов Input # и Line Input #. Рассмотрим эти функции и операторы.

Функция Input имеет следующий синтаксис:

Input(количество_символов, #номер_файла)

где:

Функция Input считывает из файла заданное количество символов и обычно используется для чтения данных, записанных в файл оператором Print #.

Следует иметь в виду, что функция Input требует знания количества считываемых символов. Поэтому для чтения данных из файла необходимо предварительно вычислить его длину с помощью функции FileLen.

Если в программе требуется прочитать данные из файла, в котором информация в строках имеет структуру с разделителями (в качестве разделителей используются запятые), необходимо применить оператор Input #: