Structuurvariabelen (Visual Basic)
Zodra u een structuur hebt gemaakt, kunt u variabelen op procedureniveau en moduleniveau declareren als dat type. U kunt bijvoorbeeld een structuur maken waarmee informatie over een computersysteem wordt vastgelegd. In het volgende voorbeeld ziet u dit.
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public purchaseDate As Date
End Structure
U kunt nu variabelen van dat type declareren. De volgende verklaring illustreert dit.
Dim mySystem, yourSystem As systemInfo
Notitie
In klassen en modules zijn structuren die zijn gedeclareerd met behulp van de Dim-instructie , standaard ingesteld op openbare toegang. Als u van plan bent een structuur privé te maken, moet u deze declareren met behulp van het trefwoord Privé .
Toegang tot structuurwaarden
Als u waarden wilt toewijzen en ophalen uit de elementen van een structuurvariabele, gebruikt u dezelfde syntaxis als voor het instellen en ophalen van eigenschappen voor een object. U plaatst de operator voor lidtoegang (.
) tussen de naam van de structuurvariabele en de elementnaam. In het volgende voorbeeld worden elementen van de variabelen geopend die eerder zijn gedeclareerd als type systemInfo
.
mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True
Structuurvariabelen toewijzen
U kunt ook één variabele aan een andere variabele toewijzen als beide van hetzelfde structuurtype zijn. Hiermee worden alle elementen van de ene structuur gekopieerd naar de bijbehorende elementen in de andere. De volgende verklaring illustreert dit.
yourSystem = mySystem
Als een structuurelement een verwijzingstype is, zoals een String
, Object
of matrix, wordt de aanwijzer naar de gegevens gekopieerd. Als u in het vorige voorbeeld een objectvariabele had opgenomen, zou de aanwijzer in het voorgaande voorbeeld systemInfo
zijn gekopieerd van mySystem
naar yourSystem
, en zou een wijziging in de gegevens van het object door de ene structuur van kracht zijn wanneer deze via de andere structuur wordt geopend.