Наряду с массивами, представляющими нумерованный набор элементов одного типа, существует ещё один способ создания структурного типа — тип, определенный пользователем, или в привычной терминологии для программистов запись. Запись — это совокупность нескольких элементов, каждый из которых может иметь свой тип. Элемент записи называется полем. Запись является частным случаем класса, в котором не определены свойства и методы.
Синтаксис:
[Private | Public] Туре ИмяПеременной
ИмяЭлемекта [([Индексы])] As тип
[ИмяЭлемента [([Индексы])] из тип]
…
End Type
Аргументы:
Public
Используется для описания определяемых пользователем типов, которые доступны для всех процедур во всех модулях всех проектов
Private
Используется для описания определяемых пользователем типов, которые доступны только в модуле, в котором выполняется описание
ИмяКонстанты
Имя типа, определяемого пользователем
ИмяЭлемента
Имя элемента, определяемого пользователем типа
Индексы
Размерности элемента, являющегося массивом. Для задания массива, размеры которого могут изменяться, указываются только скобки. Аргумент Индексы использует следующий синтаксис:
[Нижний То] Верхний [,[Нижний То] Верхний] . .
Тип
Тип данных элемента; поддерживаются типы: Byte,
Boolean, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String*
длина (для строк фиксированной длины), Object, Variant и другой, определяемый пользователем тип
В данном примере инструкция туре используется для определения типа данных (только на уровне модуля). При появлении в модуле класса инструкции Туре должно предшествовать ключевое слово Private.
‘
‘ Тип, определенный пользователем
‘
Туре Студент i
‘
' Элементы типа данных i
‘
Фамилия As String * 20 Имя As String * 20
Отчество As String * 20
НомерЗачетки As Integer Группа As String * 10 Курс As Long ДатаРождения As Date End Type
Sub ВводДанных()
‘
‘ Описание переменной Экономист
‘
Dim Экономист As Студент
‘
‘Присвоение значений элементам переменной Экономист i
‘
With Экономист
.НомерЗачетки = 12003
.Группа = "Менеджмент"
End With
End Sub
Можно создавать массив, содержащий элементы собственного типа. Например, следующий массив состоит из сведений о 20 студентах.
Dim СтудентЭкономист(1 to 20) As Студент
‘Присваивает значения элементам первой компоненты массива t