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

 

Открывать можно как существующие на диске, так и новые файлы. Каждый файл идентифицируется в программе определенным номером, который присваивается ему в момент открытия. Свободный номер файла можно определить с помощью встроенной функции 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 Открытие последовательного файла с распределенным доступом (любые приложения могут читать и писать в файл) Открытие двоичного файла для чтения, чтение файла другим приложениям запрещено


?>