Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После создания структуры можно объявить переменные уровня процедуры и уровня модуля в качестве этого типа. Например, можно создать структуру, которая записывает сведения о компьютерной системе. Это продемонстрировано в следующем примере.
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public purchaseDate As Date
End Structure
Теперь можно объявить переменные этого типа. Это иллюстрируется в следующем объявлении.
Dim mySystem, yourSystem As systemInfo
Замечание
В классах и модулях структуры, объявленные с помощью оператора Dim, по умолчанию имеют публичный доступ. Если вы планируете, что структура будет частной, убедитесь, что вы объявите ее с помощью закрытого ключевого слова.
Доступ к значениям структуры
Чтобы назначить и извлечь значения из элементов переменной структуры, используйте тот же синтаксис, что и для задания и получения свойств объекта. Вы размещаете оператор доступа к члену (.
) между именем переменной структуры и именем элемента. В следующем примере выполняется доступ к элементам переменных, объявленных ранее как тип systemInfo
.
mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True
Назначение переменных структуры
Можно также назначить одну переменную другой, если оба имеют одинаковый тип структуры. Это копирует все элементы одной структуры на соответствующие элементы в другой структуре. Это иллюстрируется в следующем объявлении.
yourSystem = mySystem
Если элемент структуры является ссылочным типом, например String
, Object
, или массивом, указатель на данные копируется. В предыдущем примере, если systemInfo
включал переменную объекта, то предыдущий пример копировал бы указатель из mySystem
в yourSystem
, а изменение данных объекта через одну структуру вступило бы в силу при доступе через другую структуру.