Шаг 21 - Пользовательские типы

В общей части Вы должны описать структуру и объявить переменную типа этой структуры. Смотрите картинку.

21_1.gif (3903 b)

Итак мы создадим тип с элементами 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).

21_2.gif (12319 b)

Вот такой результат вы должны увидеть:

a1
Hello
Cool
a2
Hello 2
Cool !!!

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.