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

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

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

При открытии файлов произвольного доступа возможен только один режим доступа — Random. Кстати, этот режим является режимом по умолчанию для функции Open.

Используя возможности Visual Basic, можно создать файл произвольного доступа пользовательской, то есть своей собственной структуры. Продемонстрируем это на небольшом примере. С помощью оператора Type объявим тип переменной, имеющей заданную структуру записи:

Type Person

Soname As String*20

Name As String * 15

End Type

В данном примере объявлена структура в виде записи из двух полей. Первым полем является фамилия, а вторым — имя.

Замечание

Объявление пользовательского типа данных можно осуществить двумя способами:

  1. В новом программном модуле. Для добавления программного модуля в проект следует выполнить команду Add Module (Добавить модуль) из меню Project (Проект) и на вкладке New (Новый) появившегося диалогового окна Add Module выбрать значок с названием Module (Модуль).

  2. В окне программного кода, где описаны все процедуры. Для этого перед служебным словом Type в описании пользовательского типа нужно указать служебное слово Private.

 

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

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

Open имя_файла [For Random] As номер_файла Len=длина

где:

При использовании оператора Open для открытия файла произвольного доступа атрибут For не обязателен, так как в Visual Basic 6 этот параметр устанавливается по умолчанию. Как видно из синтаксиса, в отличие от файла с последовательным доступом, при открытии файла с произвольным доступом необходимо обязательно указывать длину записи.