Чтение данных из файла произвольного доступа
Данные из файла произвольного доступа, как правило, считываются записями. Для этого используется оператор Get #, который имеет следующий синтаксис:
Get #номер_файла, [номер_записи], имя_переменной
где:
номер_файла— номер файла;
номер_записи — номер записи в файле;
имя_переменной — переменная, в которую считывается нужная запись.
Если параметр номер_записи в функции Get не указан, считывается текущая запись, на которой позиционирован указатель.
Пусть, например, в телефонном справочнике имеется информация о фамилии, имени и номере телефон. Опишем программный код добавления записи в телефонную книгу и чтение записи (все записи будут хранится в файле с расширением .dat). Данные для записи будут считываться из текстовых полей.
Private Type abonent
Soname As String*20
Name As String*15
Tel As String*6
End Type
Dim a as abonent
Dim k As Integer
Private Sub Form_Load()
k = 1
End Sub
‘новая запись
Private Sub New
n=FreeFile
a.soname=Text1.Text
a.name=Text2.Text
a.tel=Text3.Text
Open «C:\справочник.dat» As #n Len=Len(a)
Put #n, k, a
k=k+1
Close #n
End Sub
‘чтение данных из файла и вывод их в диалоговом окне
Private Sub Reading
n=FreeFile
Open «C:\справочник.dat» As #n Len=Len(a)
Get #n, k, a
k=k+1
Close #n
MsgBox (a.soname + a.name + a.tel)
End Sub
Для позиционирования указателя можно использовать функцию Seek. Синтаксис этого оператора такой же, как для файлов последовательного доступа, но имеет другой смысл. Если для последовательных файлов позиционирование выполняется по символам, то для файлов произвольного доступа — по номеру записи:
- Лабораторная работа №13.
- Тема: Файлы в Visual Basic.
- Теоретическая часть.
- Традиционный подход при работе с файлами
- Открытие файлов
- Input #номер_файла, имя_переменной1, имя_переменной2, …
- Переход на заданную позицию в файле
- Запись данных
- Работа с файлами произвольного доступа
- Чтение данных из файла произвольного доступа
- Seek #номер_файла, позиция
- Запись в файл произвольного доступа
- Изменение данных в файле произвольного доступа
- Работа с двоичными файлами
- Пример двоичного файла
- Замечание