Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB_6.doc
Скачиваний:
134
Добавлен:
01.12.2018
Размер:
3.77 Mб
Скачать

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

С помощью рассматриваемых ранее стандартных типов данных VB невозможно отобразить всё их многообразие. Например, строка некоторой таблицы, содержащая в разных колонках данные разных типов, не может быть задана как единое данное стандартного типа. Для описания таких данных в VB предусмотрена возможность создания пользовательского типа данных.

8.1. Записи.

Для создания пользовательского типа данных необходимо написать блок, начинающийся с оператора Type и заканчивающийся оператором End Type. Такой тип данных называется записью и размещается либо в разделе General формы, либо в стандартном модуле. Его синтаксис:

[Private][Public] Type имя <типа>

<поле_1> As <имя типа данных в поле 1>

<поле_2> As <имя типа данных в поле 2>

. . . . . . . . . . . . . . . . . . .

<поле_N> As <имя типа данных в поле N>

End Type

Запись – это фактически описание строки таблицы. Все элементы отдельного поля записи содержат данные одного и того же типа, но разные поля могут иметь разные типы данных. В качестве данных в полях записи могут быть любые стандартные данные VB, однако, если какое либо поле должно содержать данные типа String, то это должна быть строка фиксированной длины, если массив – то статический. После объявления записи можно объявить переменные такого типа с помощью оператора Dim, который в программы должен располагаться ниже объявления типа записи

Пример:

Private Type Referee

State As String * 30

FIO As String * 20

Category As Byte

Ball (1 To 10) As Single

End Type

Тип переменных в полях записи должен объявляться явно, т.е. с

использованием ключевого слова As. Специальные символы при

объявлении типов переменных в полях записи использовать нельзя.

Теперь мы можем в программе объявить переменную такого типа:

Dim Judge As Referee

Обратиться к данному, содержащемуся в некотором поле записи, можно, указав имя объявленной переменной, имеющий тип запись, поставив точку и указав за точкой имя требуемого поля. Например, чтобы вывести в текстовое окно название страны и ФИО судьи нужно записать следующий код:

Dim Judge As Referee

Text1.Text = Judge.State & vbCrLf & Judge.FIO

Таким образом, запись описывает одну строку некоторой таблицы. Чтобы задать всю таблицу, используют массив записей. Так, например, чтобы описать таблицу, содержащую данные о судьях разных стран, нужно объявить массив записей:

Dim m( ) As Referee

n = Inputbox(“Введите количество записей”)

ReDim m (1 To n)

For i To n

m (i).State = Inputbox(“Введите название страны”)

m (i).FIO = Inputbox(“Введите ФИО судьи”)

m (i).Category = Inputbox(“Введите ранг судьи”)

For j To n

m(i).Ball(j) = Inputbox(“Введите оценку “ & i & “- го судьи ” _

& j & ”-му спортсмену”)

Next j, i

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]