Открывать можно как существующие на диске, так и новые файлы. Каждый файл идентифицируется в программе определенным номером, который присваивается ему в момент открытия. Свободный номер файла можно определить с помощью встроенной функции FileFree, которая возвращает очередной свободный номер для открытия файла (номер изменяется в диапазоне 1-511).
Файл открывают в определенном режиме работы:
Open <путь_имя_файла> [For <режимы>] [Access <направление_потока>]
[<блокировка>] As [#]номер [Lеn=<длина_записи>]
где <путь_имя_файла> - строка символов, задающая местоположение и имя дискового файла;
<режимы> - режимы работы с файлом:
Append добавление записей
Binary двоичный файл
Input файл для чтения
Output файл для записи
Random файл произвольного доступа;
<направление_потока> - задает тип потока данных по отношению к файлу:
Read только чтение
Write только запись
Read Write чтение и запись одновременно;
<блокировка> - определяет возможность работы с файлом других приложений:
Shared распределенный доступ
Lock Read блокировка файла для чтения
Lock Write блокировка файла для записи
Lock Read Write блокировка файла для чтения и записи;
номер - условный идентификатор файла;
<длина_записи> - указывается для записей фиксированной длины, максимум – 32767
байт. Оптимальная длина записи кратна размеру дискового сектора (512
байт).
Для файлов произвольного доступа объявляется структура записи с помощью оператора Туре; указываются типы и длина компонентов структуры. В режимах Binary, Input, Random под разными номерами можно открыть один и тот же файл, не закрывая ранее открытых; в режимах Append, Output требуется предварительно закрыть ранее открытые файлы.
Пример 19.27. Открытие файлов
Текст программы | Комментарий |
Open "FILE" For Input As #1 Open "FILE" For Binary Access Write As #1 Type Record Define userdefined type ID As Integer Name As String * 20 End Type Dim MyRecord As Record Open "FILE" For Random As #1 Len = Len(MyRecord) Open "FILE" For Output Shared As #1 Open "FILE" For Binary Access Read Lock Read As #1 | Открытие последовательного файла для чтения Открытие двоичного файла только для записи Объявление пользовательского типа данных Открытие файла произвольного доступа. Длина записи файла определяется встроенной функцией Len Открытие последовательного файла с распределенным доступом (любые приложения могут читать и писать в файл) Открытие двоичного файла для чтения, чтение файла другим приложениям запрещено |