Curso de programación con Microsoft Visual Basic 6.0 (IV)

Creación de tipos definidos por el usuario

Hasta ahora hemos conocido los fundamentos de la parte gráfica de Visual Basic (definición de interfaces de usuario) y cada vez nos estamos metiendo más en los fundamentos del lenguaje propiamente dicho. En el número anterior conocimos los tipos de datos que podemos manejar. En este veremos cómo definir nuestros propios datos, cuál es el ámbito de las variables y procedimientos, y también aprenderemos algunas estructuras de control.

Número:162 Sección:PC World Práctico Página:312

José Manuel Alarcón Aguín

[email protected]

[Módulos de código y ámbito de las variables]

[Verificando Condiciones][En resumen]

Los diferentes tipos de datos que hemos estudiado nos permiten guardar casi cualquier tipo de información sencilla. Sin embargo existen ocasiones en las que el poder guardar simplemente un número o un texto no es suficiente. Imaginemos, por ejemplo, que para un programa queremos mantener temporalmente en la memoria información referente a ciertas personas, como por ejemplo su nombre, cumpleaños y su dirección de correo electrónico. Podríamos guardar cada uno de estos datos en una variable, pero sería mucho más cómodo poder agrupar esa información y acceder a ella como un todo. Esto se hace más importante cuando necesitamos almacenar esa misma información para muchas personas a la vez (eso es tema para otra entrega del curso: las matrices).

En este caso nos vendría muy bien disponer de un tipo de datos especial, hecho a medida para poder contener este tipo de información. A esta clase de datos se les denomina Tipos Definidos por el Usuario (o TDU) y en Visual Basic se declaran con la palabra clave Type. Así, para definir un TDU que albergue los datos del ejemplo comentado habría que escribir:

Type tduPersona

Nombre As String

Cumple As Date

eMail As String

End Type

Tras la palabra claveTypese escribe el nombre de nuestro tipo especial de datos. Todo lo que se escriba entre esta declaración yEnd Typeson los miembros del tipo definido por el usuario. Cada uno de estos miembros se define simplemente dándole un nombre y un tipo, casi como si declarásemos la variable de forma independiente (ver capítulo anterior). Nótese que, siguiendo la notación húngara, se suele preceder a los nombres de los tipos propios con las siglas 'tdu', de forma que cuando los veamos en el código sepamos que se trata de eso precisamente y no de variables normales.

Una vez que tenemos definido nuestro TDU para usarlo sólo debemos declarar una variable de ese nuevo tipo para poder usarlo. Para acceder a cada uno de sus miembros debemos especificar su nombre separándolo mediante un punto del nombre de la variable que declaremos, por ejemplo:

Dim Yo As tduPersona

Yo.Nombre = "Jose Alarcón Aguín"

Yo.Cumple = "23-Mayo"

Yo.eMail = "[email protected]"

De esta manera, con una sola variable puedo almacenar varios tipos de datos que están relacionados, y acceder a ellos congruentemente.

Por supuesto, una estructura puede formar parte de otra, actuando como miembro suyo. Por ejemplo, supongamos que en el caso anterior deseamos distinguir los apellidos del nombre. Podríamos definir una estructura llamadatduNombrey luego usarla dentro detduPersonapara atomizar más aún la información, sería algo así:

Type tduNombre

Nombre As String

Apellidos As String

End Type