Для извлечения записи из файла произвольного доступа применяется оператор:
Get # ДескрипторФайла[, НомерЗаписи], ИмяПеременной
Где:
НомерЗаписи - это номер извлекаемой из файла записи. Если номер не указан, считывается текущая запись.
ИмяПеременной - это имя переменной пользовательского типа, значением которой является запись, извлекаемая из файла.
Вид экрана с текстами процедур создания и обработки файла прямого доступа и формой с результатом показаны на рис. 7.19.
Пример решения задачи создания и обработки файла прямого доступа:
Private Type ДанныеСтудент
Фамилия As String * 15
Имя As String * 10
Группа As String * 4
ОцМатем As Integer
ОцИнфор As Integer
ОцФилос As Integer
End Type
Private Sub Command1_Click()
Dim Студент As ДанныеСтудент, i As Integer
Open "danst" For Random As #1 Len = Len(Студент)
For i = 1 To 5
Студент.Фамилия = InputBox("Фамилия")
Студент.Имя = InputBox("Имя")
Студент.Группа = InputBox("Группа")
Студент.ОцМатем = Val(InputBox("Оценка по _ математике"))
Студент.ОцИнфор = Val(InputBox("Оценка по _ информатике"))
Студент.ОцФилос = Val(InputBox("Оценка по _ философии"))
Put #1, i, Студент
Next
Close 1
End Sub
Private Sub Command2_Click()
Dim Студент As ДанныеСтудент, i As Integer
Open "danst" For Random As #1 Len = Len(Студент)
For i = 1 To LOF(1)/Len(Студент)
Get #1, i, Студент
Print " " & Trim(Студент.Фамилия) & " " & _
Trim(Студент.Имя) & " " & Trim(Студент.Группа)
Next i
Close #1
End Sub