Пользовательский тип данных

Файлы произвольного доступа хранят структурированные данные и состоят из записей.

Запись – это некоторая порция данных, которая имеет строго определенный размер и свой номер в файле.

Доступ к данным произвольного доступа осуществляется по номеру записи. Чтение данных или запись данных в файл произвольного доступа также выполняется записями. Запись файла должна иметь определенную структуру.

Для определения переменных, которые могли бы хранить структуру в VISUAL BASIC, нет встроенных типов таких как, например Integer, String и т.д. Однако VISUAL BASIC позволяет создавать на основе встроенных типов так называемые пользовательские типы. К пользовательским типам относиться тип запись. Запись позволяет хранить совокупность данных разного типа и представляет собой структуру, компоненты которой являются полями записи.

Все пользовательские типы необходимо объявлять. Это делается следующим образом:

{ Private| Public} Type ИмяТипаДанных

Элемент1 As ТипЭлемента1

...

ЭлементN As ТипЭлементаN

End Type

Где: ИмяТипаДанных - это имя, которое присваивается определяемому типу данных;

Элемент1- ЭлементN – имена полей записи;

ТипЭлемента – любой встоенный или объявленный ранее пользовательский тип.

Примечание: все данные String должны иметь фиксированную длину.

Пользовательский тип запись следует объявлять как Public в секции General стандартного модуля, если необходимо чтобы он был доступен из всех процедур всех модулей.

Например, определим следующий пользовательский тип данных:

‘(General)(Declarations)

Public Type ДанныеСтудент

Фамилия As String*15

Имя As String*10

Группа As String*4

ОцМатем As Integer

ОцИнфор As Integer

ОцФилос As Integer

End Type

После определения пользовательского типа данных необходимо объявить переменные, которые будут иметь этот тип.

Объявим переменную Студент, имеющую пользовательский тип ДанныеСтудент и найдем длину записи, которой будет являться любое значение этой переменной:

Dim Студент As ДанныеСтудент, x AsInteger

x= Len (Студент)

Переменные пользовательского типа могут быть локальными, глобальными и переменными контейнера


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: