Strukturvariablen (Visual Basic)
Nachdem Sie eine Struktur erstellt haben, können Sie Variablen auf Prozedur- und Modulebene als diesen Typ deklarieren. Sie können beispielsweise eine Struktur erstellen, die Informationen zu einem Computersystem aufzeichnet. Dies wird im folgenden Beispiel veranschaulicht:
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public purchaseDate As Date
End Structure
Sie können jetzt Variablen dieses Typs deklarieren. Die folgende Deklaration veranschaulicht dies.
Dim mySystem, yourSystem As systemInfo
Hinweis
In Klassen und Modulen werden Strukturen, die mithilfe der Dim-Anweisung standardmäßig für den öffentlichen Zugriff deklariert wurden, deklariert. Wenn Sie möchten, dass eine Struktur privat ist, deklarieren Sie sie mithilfe des privaten Schlüsselwort (keyword).
Zugriff auf Strukturwerte
Zum Zuweisen und Abrufen von Werten aus den Elementen einer Strukturvariablen verwenden Sie dieselbe Syntax wie zum Festlegen und Abrufen von Eigenschaften für ein Objekt. Sie platzieren den Memberzugriffsoperator (.
) zwischen dem Namen der Strukturvariablen und dem Elementnamen. Im folgenden Beispiel wird auf Elemente der Variablen zugegriffen, die zuvor als Typ systemInfo
deklariert wurden.
mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True
Zuweisen von Strukturvariablen
Sie können auch eine Variable einer anderen zuweisen, wenn beide vom gleichen Strukturtyp sind. Dadurch werden alle Elemente einer Struktur in die entsprechenden Elemente in der anderen kopiert. Die folgende Deklaration veranschaulicht dies.
yourSystem = mySystem
Wenn ein Strukturelement ein Verweistyp ist, z. B. ein String
, Object
oder ein Array, wird der Zeiger auf die Daten kopiert. Wenn im vorherigen Beispiel systemInfo
eine Objektvariable enthalten wäre, hätte das vorherige Beispiel den Zeiger von mySystem
auf yourSystem
kopiert, und eine Änderung der Daten des Objekts über eine Struktur wäre wirksam, wenn über die andere Struktur darauf zugegriffen wird.