Шаг 21 - Пользовательские типы
В общей части Вы должны описать структуру и объявить переменную типа этой структуры. Смотрите картинку.
Итак мы создадим тип с элементами x,y, типа Integer и с с типом Variant. Ох уж этот Variant, он позволяет нам в структуру помещать все, что угодно. Хоть массив. Мы то сделаем. Но разве Вас не впечатляет простота и мощь. Ведь так можно создать структуры любой сложности очень просто. Нет OLE, нет указателей. После C++ это просто сказка.
' Описание Private Type MyType x As Integer y As Integer c As Variant End Type Sub Test() '-------------------------- ' Область функции Sub Test() Dim a(2) As MyType Dim arrays(2) As String arrays(1) = "Hello" arrays(2) = "Cool" a(1).x = 1 a(1).y = 2 a(1).c = arrays a(2).x = 10 a(2).y = 20 arrays(1) = "Hello 2" arrays(2) = "Cool !!!" a(2).c = arrays Debug.Print "a1" Debug.Print a(1).c(1) Debug.Print a(1).c(2) Debug.Print "a2" Debug.Print a(2).c(1) Debug.Print a(2).c(2) End Sub
Во всем этом есть и подводный камень. Создавать структуры можно только на уровне модуля. Не зря она у нас Private. Но можно создавать классы, которые умеют с ними работать :-) Это несколько радует.
Для просмотра результата Вам необходимо открыть окно отладки. Это можно сделать в меню Вид - Окно отладки (CTRL-G).
Вот такой результат вы должны увидеть:
a1 Hello Cool a2 Hello 2 Cool !!!
Предыдущий Шаг | Следующий Шаг
Автор Каев Артем.