Compartir a través de


Variables de estructura (Visual Basic)

Una vez creada una estructura, puede declarar variables de nivel de procedimiento y de nivel de módulo como ese tipo. Por ejemplo, puede crear una estructura que registre información sobre un sistema informático. En el siguiente ejemplo se muestra cómo hacerlo.

Public Structure systemInfo
    Public cPU As String
    Public memory As Long
    Public purchaseDate As Date
End Structure

Ahora puede declarar variables de ese tipo. La siguiente declaración ilustra esto.

Dim mySystem, yourSystem As systemInfo

Nota:

En clases y módulos, las estructuras declaradas mediante la instrucción Dim tienen como valor predeterminado el acceso público. Si piensa que una estructura sea privada, asegúrese de declararla mediante la palabra clave Private .

Acceso a valores de estructura

Para asignar y recuperar valores de los elementos de una variable de estructura, use la misma sintaxis que se usa para establecer y obtener propiedades en un objeto. Coloca el operador de acceso a miembros (.) entre el nombre de la variable de estructura y el nombre del elemento. En el ejemplo siguiente se accede a los elementos de las variables declaradas anteriormente como tipo systemInfo.

mySystem.cPU = "486"
Dim tooOld As Boolean
If yourSystem.purchaseDate < #1/1/1992# Then tooOld = True

Asignar variables de estructura

También puede asignar una variable a otra si ambas son del mismo tipo de estructura. Esto copia todos los elementos de una estructura a los elementos correspondientes de la otra. La siguiente declaración ilustra esto.

yourSystem = mySystem

Si un elemento de estructura es un tipo de referencia, como un String, Object o una matriz, el puntero a los datos se copia. En el ejemplo anterior, si systemInfo hubiera incluido una variable de objeto, el ejemplo anterior habría copiado el puntero de mySystem a yourSystemy un cambio en los datos del objeto a través de una estructura estaría en vigor cuando se obtiene acceso a través de la otra estructura.

Consulte también