Файлы двоичного доступа

 

Для открытия двоичного файла применяется оператор:

Open ИмяФайла For Binary As # ДескрипторФайла

Как и в файл произвольного доступа в двоичный файл можно помещать записи с полями различного типа. Однако этот файл может содержать записи различной длины. Поэтому при объявлении типа данных у строковых полей длина может быть не фиксирована.

Запись данных в файл происходит при помощи оператора:

Put # ДескрипторФайла, НомерБайта, ИмяПеременной

Где:

НомерБайта - номер байта в файле, т.е. то место в файле, куда надо поместить данные.

Чтение данных из двоичного файла осуществляется оператором:

Get # ДескрипторФайла, НомерБайта, ИмяПеременной

Где:

НомерБайта - номер байта в файле, т.е. то место в файле, откуда надо прочитать данные.

Найти этот номер байта бывает очень трудно. В этом заключается недостаток двоичного доступа.

Пример:

Private Type ФамИм

Фамилия As String

Имя As String

End Type

Dim фаим As ФамИм

Dim mas() As String * 1

Private Sub Command1_Click()

Open "Faim.bin" For Binary As #1

L% = 1

For i = 1 To 2

фаим.Фамилия = InputBox("Фамилия")

Lf% = Len(фаим.Фамилия)

фаим.Имя = InputBox("Имя")

Li% = Len(фаим.Имя)

Put #1, L, фаим.Фамилия

Put #1, L + Lf, фаим.Имя

L = L + Li + Lf

Next

Close 1

End Sub

 

Private Sub Command2_Click()

Open " Faim.bin" For Binary As #1

k = LOF(1)

ReDim mas(k)

For i = 1 To k

Get #1, i, mas(i)

Print mas(i);

Next

Close #1

End Sub