You are on page 1of 49

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS, FÍSICAS Y MATEMÁTICA


CARRERA DE INGENIERIA CIVIL
PROGRAMACION 1

ASIGNATURA: Programación 1
SEMESTRE – PARALELO:
1ero – 3ro
PROFESOR: Ing. José Ramiro Pilaluisa Q.
M.Sc.
PERÍODO ACADÉMICO: Octubre 2017- Marzo 2018
GRUPO: 6
NOMBRE: Flores Olmedo Daysi Alejandra

MANUAL DEL USUARIO


VISUAL BASIC 6.0
ÍNDICE
1. Bienvenido a Visual Basic® 6.0 .............................................................................. 5
1.1 ¿Qué es Visual Basic? ........................................................................................... 5
2. Definición de Visual Basic ...................................................................................... 6
3. Descripción del Entorno .......................................................................................... 7
4. Iniciar el IDE de Visual Basic ................................................................................ 8
4.1 Para iniciar Visual Basic desde Windows .......................................................... 8
5. Elementos del entorno integrado de desarrollo (IDE) ........................................... 9
5.1 Barra de título. .................................................................................................... 10
5.2 Botones de Control. (minimizar, maximizar, restaurar, cerrar) ................... 10
5.3 Barra de menús ................................................................................................... 10
5.4 Menús contextuales ............................................................................................ 10
5.5 Barras de herramientas ..................................................................................... 11
5.6 Cuadro de herramientas .................................................................................... 11
5.7 Ventana Explorador de proyectos..................................................................... 12
5.8 Ventana Propiedades.......................................................................................... 12
5.9 Examinador de objetos....................................................................................... 12
5.10 Diseñador de formularios ................................................................................ 13
5.11 Ventana Editor de código ................................................................................ 13
5.12 Ventana Posición del formulario ..................................................................... 14
5.13 Ventanas Inmediato, Locales e Inspección ..................................................... 14
6. Hola, Visual Basic ................................................................................................. 14
6.1 Crear la interfaz.................................................................................................. 15
6.1.1 Para dibujar un control mediante el cuadro de herramientas ................ 15
6.1.2 Cambiar el tamaño, movimiento y bloqueo de controles ......................... 16
6.1.3 Para cambiar el tamaño de un control ...................................................... 16
6.1.4Para mover un control ................................................................................. 17
6.1.5 Para bloquear la posición de todos los controles ...................................... 17
6.1.6Para ajustar la posición de controles bloqueados ...................................... 17
6.2 Establecer propiedades ...................................................................................... 18
6.2.1 Para establecer propiedades desde la ventana Propiedades .................... 18
6.2.2 Establecer la propiedad Icon ...................................................................... 19
6.3 Escribir código .................................................................................................... 19
6.3.1 Para abrir la ventana Código ..................................................................... 20
6.3.2 Para presentar todos los procedimientos en la misma ventana Código . 20
6.3.3 Para presentar un procedimiento cada vez en la ventana Código .......... 20
6.3.4 Crear procedimientos de evento ................................................................. 21

2
6.3.5 Para crear un procedimiento de evento ..................................................... 21
6.4 Ejecutar la aplicación ......................................................................................... 22
7. Variables ................................................................................................................ 22
7.1 Almacenar y recuperar datos en variables ...................................................... 23
7.2 Declarar variables............................................................................................... 23
7.3 Declaración implícita.......................................................................................... 24
7.4 Declaración explícita .......................................................................................... 25
7.4.1 Para declarar variables de forma explícita..................................................... 25
8. Constantes .............................................................................................................. 26
8.1 Crear constantes propias ................................................................................... 27
8.2 Alcance de las constantes definidas por el usuario .......................................... 28
8.3 Evitar referencias circulares.............................................................................. 28
9. Tipos de Datos ........................................................................................................ 28
9.1 Declarar variables con tipos de datos ............................................................... 29
9.2 Tipos de datos numéricos ................................................................................... 30
9.3 El tipo de dato Byte ............................................................................................ 30
9.4 El tipo de dato String ......................................................................................... 31
9.5 Intercambiar cadenas y números ...................................................................... 32
9.6 El tipo de dato Boolean ...................................................................................... 32
9.7 El tipo de dato Date ............................................................................................ 33
9.8 El tipo de dato Object ......................................................................................... 33
9.9 Convertir tipos de datos ..................................................................................... 34
9.10 El tipo de dato Variant ..................................................................................... 35
9.11 El valor Empty .................................................................................................. 35
9.12 El valor Null ...................................................................................................... 36
9.13 El valor Error ................................................................................................... 37
10. Seleccionar opciones individuales con casillas de verificación ....................... 37
10.1 La aplicación Check Box.................................................................................. 37
10.2 Eventos de la aplicación Check Box................................................................ 38
11. Agrupar opciones con botones de opción ......................................................... 39
11.1 Crear grupos de botones de opción ................................................................. 39
11.1.1 Para agrupar los controles en un marco ................................................. 39
11.2 Contenedores para controles ........................................................................... 40
11.3 Seleccionar o desactivar botones de opción .................................................... 40
11.4 La aplicación Opciones .................................................................................... 41
11.5 Eventos de la aplicación Opciones .................................................................. 42

3
12. Usar los cuadros de lista y los cuadros combinados ........................................ 42
13. Cuadro de herramientas de Visual Basic ......................................................... 44
14. Editor de menús (Cuadro de diálogo) ............................................................... 46
14.1 Opciones del cuadro de diálogo ....................................................................... 46
14.1.1 Título ........................................................................................................... 46
14.1.2 Nombre ....................................................................................................... 47
14.1.3 Índice .......................................................................................................... 47
14.1.4 Método abreviado ...................................................................................... 47
14.1.5 Id. de contexto de Ayuda........................................................................... 47
14.1.6 NegotiatePosition ....................................................................................... 47
14.1.7 Checked ...................................................................................................... 47
14.1.8 Enabled ....................................................................................................... 47
14.2.9 Visible ......................................................................................................... 47
14.2.10 WindowList .............................................................................................. 47
14.2.11 Flecha a la derecha .................................................................................. 48
14.2.12 Flecha a la izquierda................................................................................ 48
14.2.13 Flecha arriba ............................................................................................ 48
14.2.14 Flecha abajo ............................................................................................. 48
14.2.15 Lista Menús .............................................................................................. 48
14.2.16 Siguiente ................................................................................................... 48
14.2.17 Insertar ..................................................................................................... 48
14.2.18 Eliminar .................................................................................................... 48
14.2.20 Cancelar .................................................................................................... 49

4
1. Bienvenido a Visual Basic® 6.0
Bienvenido a Microsoft Visual Basic® 6.0, el lenguaje de programación más rápido y
sencillo para crear aplicaciones (programas) bajo el entorno de Microsoft Windows®.

1.1 ¿Qué es Visual Basic?

La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz gráfica
de usuario (GUI), que es lo que el usuario ve en pantalla cuando interactúa con una
aplicación.

En VB, el diseño de la GUI es muy sencillo, realmente vas viendo lo que creas mientras
lo creas. En lugar de escribir un montón de líneas de código, vas colocando los objetos
gráficamente, por lo que resulta mucho más fácil e intuitivo.

La palabra "Basic" hace referencia al lenguaje BASIC (Beginners All-Purpose Symbolic


Instruction Code), un lenguaje utilizado por más programadores que ningún otro lenguaje
en la historia de la informática o computación.

Visual Basic ha evolucionado a partir del lenguaje BASIC original y ahora contiene
centenares de instrucciones, funciones y palabras clave, muchas de las cuales están
directamente relacionadas con la interfaz gráfica de Windows.

Este lenguaje de programación no es exclusivo de Visual Basic. Microsoft Excel,


Microsoft Access y muchas otras aplicaciones Windows, utilizan el mismo lenguaje.
Scripting Edition (VBScript) es un lenguaje de secuencias de comandos ampliamente
difundido para para páginas Web y es un subconjunto del lenguaje Visual Basic. El
tiempo que emplees en el aprendizaje de Visual Basic te servirá en cualquiera de estas
otras aplicaciones.

Cuando terminas, VB genera un archivo del tipo .exe que puedes distribuir con entera
libertad.

5
2. Definición de Visual Basic
En el mundo de la programación informática, uno
de los lenguajes más populares y conocidos es el de
Visual Basic. Creado en 1991 por Alan Cooper
para Microsoft, este paquete permite programar
contenidos informáticos gráficos de manera simple
y accesible.

El Visual Basic ha sido desarrollado con el objetivo


de entregar a los usuarios de programación
informática un paquete de utilidades simples y
accesibles.

Es por esto que el Visual Basic puede ser usado y


fácilmente comprendido por expertos como también por usuarios principiantes.

La creación de interfaces gráficas para diferentes utilidades es una de las principales


funciones del Visual Basic y es por esto que es altamente usado en espacios profesionales
donde se requieren soportes gráficos para mayor organización de los contenidos y
materiales.

La programación gráfica se puede llevar a cabo directamente ya que el Visual Basic no


requerirá de los usuarios la escritura de los códigos de programación.

Ahí, el Visual Basic trabaja a partir de lenguajes RAD, en inglés Rapid Application
Development, o desarrollo rápido de aplicaciones específicas para cada necesidad y
función. Al mismo tiempo, el Visual Basic, gracias a su simple lenguaje, es perfectamente
adaptable a las plataformas de los sistemas Windows y es fácilmente transformable a
otros lenguajes más complejos.

Visual Basic 6.0, salido a mediados de 1998, muy mejorado, incrementó el número de
áreas e incluyó la posibilidad de crear aplicaciones basadas en Web. Microsoft retiró el
soporte de VB6 en marzo de 2008, pero a pesar de ello las aplicaciones que genera son
compatibles con plataformas más modernas, como Windows Vista, Windows Server
2008, Windows 7, Windows 8, Windows 10.

6
3. Descripción del Entorno

Para desarrollar el curso se utilizará Visual


Basic 6.0, y todas las referencias e imágenes
serán sobre esa versión.
Cuando ejecute VB, después de cargar el
entorno, nos aparece el siguiente cuadro:

Nos ofrece tres solapas:

Nuevo, con las diferentes opciones que nos


permite crear VB, en principio sólo
utilizaremos EXE estándar, que nos llevará
a un formulario vacío desde el cual
comenzaremos a desarrollar nuestra aplicación.

Existente, nos permite abrir proyectos que ya existen para continuar implementándolos.

Recientes, lo mismo, pero sobre los últimos proyectos que hayamos estado desarrollando.

Una vez que hayamos elegido EXE estándar, aceptamos y aparece la siguiente ventana
(salvo por las diferencias de tamaño, necesarias para que entre la imagen), en la cual
vemos que tenemos un proyecto abierto que en principio cuenta con un formulario vacío.
Posteriormente, si los necesitamos podremos insertarle tantos formularios al proyecto
como queramos.

Descripción del entorno de Visual Basic

7
4. Iniciar el IDE de Visual Basic
Cuando ejecute el programa de instalación de Visual Basic, le permitirá colocar los
elementos del programa en un grupo de programas ya existente o crear un nuevo grupo
de programas y nuevos elementos de programa para Visual Basic en Windows. Entonces
estará preparado para iniciar Visual Basic desde Windows.

4.1 Para iniciar Visual Basic desde Windows


1.- Haga clic en Inicio en la barra de tareas.
2.-Seleccione Programas y luego Microsoft Visual Basic 6.0.
– o bien –
Haga clic en Inicio en la barra de tareas.
Seleccione Programas.
Utilice el Explorador de Windows para encontrar el archivo ejecutable de Visual
Basic.
3.- Haga doble clic en el icono de Visual Basic.

4.- También puede crear un acceso directo a Visual Basic y hacer doble clic en él.

Cuando inicie Visual Basic por primera vez, verá el entorno integrado de desarrollo, como
se muestra en la figura

Entorno Integrado de Desarrollo (IDE) de Visual Basic

8
Partes del Entorno Integrado de Desarrollo (IDE) de Visual Basic

Sintaxis y nombres de la Barra de Herramientas de Visual Basic

5. Elementos del entorno integrado de desarrollo


(IDE)
El entorno integrado de desarrollo de Visual Basic (IDE) consta de los siguientes
elementos.

9
5.1 Barra de título

La barra de título a más de ser estándar para todas las ventanas de Windows contiene el
nombre del proyecto y del formulario que se está diseñando actualmente.

5.2 Botones de Control. (minimizar, maximizar, restaurar, cerrar)

Se encuentran en todas las ventanas de Windows y son:


- Minimizar: Reduce la ventana a un botón que se ubica en la barra de tareas.
- Maximizar o Restaurar: Agranda o restaura la ventana a un estado anterior.
- Cerrar: Cierra la ventana, no sin antes presentar un mensaje para guardar los cambios
en un documento.

5.3 Barra de menús

Presenta los comandos que se usan para trabajar con Visual Basic. Además de los menús
estándar Archivo, Edición, Ver, Ventana y Ayuda, se proporcionan otros menús para
tener acceso a funciones específicas de programación como Proyecto, Formato o
Depuración.

5.4 Menús contextuales


Contienen accesos directos a acciones que se realizan con frecuencia. Para
abrir un menú contextual, haga clic con el botón secundario del mouse en
el objeto que está usando. La lista específica de opciones disponibles en
el menú contextual depende de la parte del entorno en la que se hace clic
con el botón secundario del mouse. Por ejemplo, el menú contextual que
aparece cuando hace clic con el botón secundario del mouse en el cuadro
de herramientas le permite mostrar el cuadro de diálogo Componentes,
ocultar el cuadro de herramientas, acoplar o desacoplar el cuadro de
herramientas, o agregar una ficha personalizada al cuadro de
herramientas.

10
5.5 Barras de herramientas

Proporcionan un rápido acceso a los comandos usados normalmente en el entorno de


programación. Haga clic en un botón de la barra de herramientas para llevar a cabo la
acción que representa ese botón. De forma predeterminada, al iniciar Visual Basic se
presenta la barra de herramientas Estándar. Es posible activar o desactivar otras barras de
herramientas adicionales para modificar, diseñar formularios desde el comando Barras
de herramientas del menú Ver.

Las barras de herramientas se pueden acoplar debajo de la barra de menús o pueden


"flotar" si selecciona la barra vertical del borde izquierdo y la arrastra fuera de la barra de
menús.

5.6 Cuadro de herramientas


Proporciona un conjunto de herramientas que puede usar durante el diseño
para colocar controles en un formulario. Además del diseño del cuadro de
herramientas predeterminado, puede crear su propio diseño personalizado si
selecciona Agregar ficha en el menú contextual y agrega controles a la ficha
resultante.

Para obtener más información Para aprender más acerca de los controles
específicos, vea "Formularios, controles y menús" y "Usar los controles
estándar de Visual Basic". Para obtener información acerca de cómo agregar
controles al cuadro de herramientas, vea "Agregar controles a un proyecto"
en "Administrar proyectos".

11
5.7 Ventana Explorador de proyectos

Enumera los formularios y módulos del proyecto actual.


Un proyecto es la colección de archivos que usa para
generar una aplicación.

Para obtener más información Para obtener


información acerca de proyectos, vea "Administrar
proyectos".

5.8 Ventana Propiedades

Enumera los valores de las propiedades del control o


formulario seleccionado. Una propiedad es una
característica de un objeto, como su tamaño, título o
color.

Para obtener más información Para obtener


información acerca de propiedades, vea "Descripción de
las propiedades, métodos y eventos" en "Formularios,
controles y menús".

5.9 Examinador de objetos

Enumera los objetos disponibles


que puede usar en su proyecto y le
proporciona una manera rápida de
desplazarse a través del código.
Puede usar el Examinador de
objetos para explorar objetos en
Visual Basic y otras aplicaciones,
ver qué métodos y propiedades
están disponibles para esos
objetos, y pegar código de
procedimientos en su aplicación.

Para obtener más


información Para obtener más
información acerca del uso del
Examinador de objetos para ver
procedimientos, vea "Descripción
de objetos" en "Programar con

12
objetos". Para obtener más información acerca del uso de complementos para ampliar el
entorno de programación de Visual Basic, vea "Usar asistentes y complementos" en
"Administrar proyectos".

5.10 Diseñador de formularios

Funciona como una ventana en la que


se personaliza el diseño de la interfaz
de su aplicación. Agregue controles,
gráficos e imágenes a un formulario
para crear la apariencia que desee.
Cada formulario de la aplicación tiene
su propia ventana diseñador de
formulario.

Para obtener más


información Para aprender a
agregar controles a una aplicación,
vea "Su primera aplicación con Visual
Basic", más adelante en este mismo capítulo. Para aprender más acerca del diseño de la
interfaz, vea "Crear la interfaz de usuario".

5.11 Ventana Editor de código

13
Funciona como un editor para escribir el código de la aplicación. Se crea una ventana
editor de código diferente para cada formulario o módulo del código de la aplicación.
Para obtener más información Para aprender más acerca de cómo escribir código y el
uso del editor de código, vea "Fundamentos de programación".

5.12 Ventana Posición del formulario

La ventana Posición del formulario le permite colocar los


formularios de su aplicación utilizando una pequeña
representación gráfica de la pantalla.

La ventana Posición del formulario

5.13 Ventanas Inmediato, Locales e Inspección

Estas ventanas adicionales se proporcionan para la depuración de la aplicación. Sólo están


disponibles cuando ejecuta la aplicación dentro del IDE.

Para obtener más información Para aprender más acerca de la depuración y el uso de
las ventanas de depuración, vea "Depurar el código y tratamiento de errores".

Nota También puede agregar características a la interfaz de Visual Basic mediante un


programa llamado complemento. Los complementos, disponibles en Microsoft y otros
desarrolladores, pueden proporcionar características como el control de código fuente,
que permite mantener proyectos de desarrollo en grupo

6. Hola, Visual Basic


Hay tres pasos principales para crear una aplicación en Visual Basic:

1. Crear la interfaz.

14
2. Establecer propiedades.

3. Escribir el código.

Para ver cómo se realiza esto, siga los pasos del siguiente procedimiento para crear una
aplicación sencilla que consiste en un cuadro de texto y un botón de comando. ¡Cuando
haga clic en el botón de comando aparecerá el mensaje “! ¡Hola, mundo!" en el cuadro
de texto.

6.1 Crear la interfaz

Los formularios son la base para crear la interfaz de una aplicación. Puede usar
formularios para agregar ventanas y cuadros de diálogo a la aplicación. También puede
usarlos como contenedores de elementos que no son parte visible de la interfaz de la
aplicación. Por ejemplo, puede tener un formulario en su aplicación que sirva como
contenedor para gráficos que quiera presentar en otros formularios.

El primer paso para generar una aplicación de Visual Basic consiste en crear los
formularios que van a ser la base de la interfaz de su aplicación. Después dibuje los
objetos que van a componer la interfaz en los formularios que ha creado. Para esta primera
aplicación, usaremos dos controles del cuadro de herramientas.

Controles del cuadro de herramientas

Botón Control

Cuadro de texto

Botón de comando

6.1.1 Para dibujar un control mediante el cuadro de herramientas

1. Haga clic en la herramienta del control que ha elegido dibujar; en este caso el
cuadro de texto.

2. Mueva el puntero dentro del formulario. El puntero adoptará la forma de cruz,


como se muestra en la figura

Dibujar un cuadro de texto con el cuadro de herramientas

15
3. Coloque la cruz donde quiera que aparezca la esquina superior izquierda del
control.

4. Arrastre la cruz hasta que el control tenga el tamaño deseado. (Arrastrar significa
mantener presionado el botón primario del mouse mientras mueve un objeto con
el mouse.)

5. Suelte el botón del mouse.

El control aparecerá en el formulario.

Otra forma sencilla de agregar un control a un formulario es hacer doble clic en el botón
de ese control en el cuadro de herramientas. Esto crea un control con un tamaño
predeterminado situado en el centro del formulario; ahora puede mover el control a otra
ubicación del formulario.

6.1.2 Cambiar el tamaño, movimiento y bloqueo de controles

Observe que en las esquinas del control aparece unos pequeños cuadros rectangulares
llamados controladores de tamaño; en el siguiente paso usará estos controladores para
cambiar el tamaño del control. También puede usar el mouse, el teclado y comandos de
menú para mover controles, bloquear y desbloquear la posición de los controles, y ajustar
sus posiciones.

6.1.3 Para cambiar el tamaño de un control

1. Seleccione el control que quiera cambiar el tamaño; para ello, haga clic en él con
el mouse.

Aparecerán en el control los controladores de tamaño.

2. Sitúe el puntero del mouse en un controlador de tamaño y arrástrelo hasta que el


control tenga el tamaño elegido.

16
Los controladores de las esquinas cambiarán el tamaño de controles horizontal y
verticalmente, mientras que los controladores de los lados cambiarán el tamaño
sólo en una dirección.

3. Suelte el botón del mouse –o bien– Use MAYÚS con las teclas de dirección para
cambiar el tamaño del control seleccionado.

6.1.4Para mover un control

 Use el mouse para arrastrar el control a otra ubicación del formulario –o bien–
Use la ventana Propiedades para cambiar las propiedades Top y Left.

Cuando seleccione un control, puede usar CTRL con las teclas de dirección para mover
el control una unidad de la cuadrícula cada vez. Si la cuadrícula está desactivada, el
control se mueve un píxel cada vez.

6.1.5 Para bloquear la posición de todos los controles

 En el menú Formato, elija Bloquear controles.

–o bien–Haga clic en el botón Alternar bloqueo de controles de la barra de


herramientas Editor de formularios.

Esto bloqueará todos los controles del formulario en sus posiciones actuales, de forma
que no los podrá mover accidentalmente una vez que estén en la ubicación deseada. Se
bloquearán los controles sólo en el formulario seleccionado; los controles de otros
formularios no se ven afectados. Es un comando de alternar, por lo que puede usarlo
también para desbloquear las posiciones de los controles.

6.1.6Para ajustar la posición de controles bloqueados

 Puede "arrastrar" el control que tiene el enfoque si presiona la tecla CTRL y la


tecla de dirección adecuada.

–o bien– Puede cambiar las propiedades Top y Left del control en la ventana
Propiedades.

Ya tiene la interfaz de la aplicación "¡Hola, mundo!", como se muestra en la figura

17
La interfaz de la aplicación "¡Hola, mundo!"

6.2 Establecer propiedades

El siguiente paso consiste en


establecer las propiedades de los
objetos que ha creado. La ventana Propiedades proporciona una manera fácil de establecer
las propiedades de todos los objetos de un formulario. Para abrir la ventana Propiedades,
elija el comando Ventana Propiedades del menú Ver, haga clic en el botón Ventana
Propiedades de la barra de herramientas o utilice el menú contextual del control.

La ventana Propiedades

La ventana Propiedades consta de los siguientes


elementos:

 Cuadro del objeto: presenta el nombre del objeto


para el que puede establecer propiedades. Haga clic en
la flecha situada a la derecha del cuadro Objeto para
presentar la lista de objetos del formulario actual.

 Fichas de orden: elija entre una lista alfabética de


propiedades o una vista jerárquica dividida en categorías
lógicas, como las que tratan de la apariencia, fuentes o
posición.

 Lista de propiedades: la columna de la izquierda


presenta todas las propiedades del objeto seleccionado.
Puede modificar y ver los valores en la columna de la
derecha.

6.2.1 Para establecer propiedades desde la ventana Propiedades

1. En el menú Ver, elija Propiedades o haga clic en el botón Propiedades de la


barra de herramientas.

18
La ventana Propiedades presenta los valores del formulario o control
seleccionado.

2. En la lista Propiedades, seleccione el nombre de una propiedad.

3. En la columna de la derecha, escriba o seleccione el nuevo valor de la propiedad.

Las propiedades enumeradas tienen una lista predefinida de valores. Puede


presentar la lista si hace clic en la flecha hacia abajo que hay a la derecha del
cuadro Valores o puede recorrer la lista haciendo doble clic en un elemento de la
lista.

En el ejemplo "¡Hola, mundo!" necesitará cambiar los valores de tres propiedades. Use
el valor predeterminado para las demás propiedades.

Establecer propiedades

Objeto Propiedad Valor

Form Caption ¡Hola, mundo!

TextBox Text (Vacío)

CommandButton Caption Aceptar

6.2.2 Establecer la propiedad Icon

Todos los formularios en Visual Basic tienen un icono genérico predeterminado que
aparece cuando minimiza ese formulario. Sin embargo, probablemente cambiará este
icono por uno que ilustre el uso del formulario en su aplicación. Para asignar un icono a
un formulario, establezca la propiedad Icon para ese formulario. Puede usar iconos de 32
x 32 píxeles que eran estándar en las versiones de Microsoft Windows de 16 bits y que se
utilizan también en Windows 95 y Windows NT, así como los iconos de 16 x 16 píxeles
empleados en Windows 95.

6.3 Escribir código

La ventana Editor de código es el lugar donde escribe el código de Visual Basic para su
aplicación. El código consta de instrucciones del lenguaje, constantes y declaraciones.
Mediante la ventana Editor de código puede ver y modificar rápidamente el código de su
aplicación.

19
6.3.1 Para abrir la ventana Código

 Haga doble clic en el formulario o el control para el que desea escribir código –o
bien– En la ventana Explorador de proyectos, seleccione el nombre de un
formulario o un módulo y elija Ver código.

La figura muestra la ventana Editor de código que aparece cuando hace doble clic en el
control botón de comando y los eventos de ese comando.

La ventana Editor de código

Puede elegir presentar todos los procedimientos en la misma ventana Código o presentar
un único procedimiento cada vez.

6.3.2 Para presentar todos los procedimientos en la misma ventana Código

1. En el menú Herramientas, seleccione Opciones.

2. En la ficha Editor del cuadro de diálogo Opciones, active la casilla de


verificación situada a la izquierda de Ver módulo completo de forma
predeterminada. La casilla de verificación a la izquierda de Separador de
procedimientos agrega o quita una línea separadora entre los procedimientos –o
bien– Haga clic en el botón Ver módulo completo en la esquina inferior izquierda
de la ventana Editor de código.

6.3.3 Para presentar un procedimiento cada vez en la ventana Código

1. En el menú Herramientas, seleccione Opciones.

2. En la ficha Editor del cuadro de diálogo Opciones, desactive la casilla de


verificación que hay a la izquierda de Ver módulo completo de forma
predeterminada –o bien– Haga clic en el botón Ver procedimiento en la esquina
inferior izquierda de la ventana Editor de código.

20
La ventana Código incluye los siguientes elementos:

 Cuadro de lista Objeto: presenta el nombre del objeto seleccionado. Haga clic en
la flecha de la derecha del cuadro de lista para presentar una lista de todos los
objetos asociados con el formulario.

 Cuadro de lista Procedimiento: enumera los procedimientos o eventos de un


objeto. El cuadro presenta el nombre del procedimiento seleccionado, en este caso
Click. Elija la flecha que hay a la derecha del cuadro para presentar todos los
procedimientos del objeto.

6.3.4 Crear procedimientos de evento

El código en una aplicación de Visual Basic se divide en bloques menores llamados


procedimientos. Un procedimiento de evento, como los que creará aquí, contiene código
que se ejecuta cuando se produce un evento (como cuando un usuario hace clic en un
botón). Un procedimiento de evento de un control combina el nombre real del control
(especificado en la propiedad Name), un carácter de subrayado (_) y el nombre del
evento. Por ejemplo, si quiere que un botón de comando llamado Command1 invoque un
procedimiento de evento cuando se haga clic en él, utilice el procedimiento
Command1_Click.

6.3.5 Para crear un procedimiento de evento

1. En el cuadro de lista Objeto, seleccione el nombre de un objeto del formulario


activo. (El formulario activo es el formulario que actualmente tiene el enfoque.)

Para este ejemplo, elija el botón de comando, Command1.

2. En el cuadro de lista Procedimiento, seleccione el nombre de un evento del objeto


seleccionado.

Aquí, el procedimiento Click ya está seleccionado puesto que es el procedimiento


predeterminado para un botón de comando. Observe que ahora se presenta en la
ventana Código una plantilla para el procedimiento de evento.

3. Escriba el siguiente código entre las instrucciones Sub y End Sub:

Text1.Text = "¡Hola, mundo!"

El procedimiento de evento debería parecerse a éste:

Private Sub Command1_Click ()


Text1.Text = "¡Hola, mundo!"
End Sub

21
Observará que aquí el código simplemente cambia la propiedad Text del control llamado
Text1 para que sea "¡Hola, mundo!". La sintaxis de este ejemplo tiene el formato
objeto.propiedad, donde Text1 es el objeto y Text la propiedad. Puede usar esta sintaxis
para cambiar los valores de las propiedades de cualquier formulario o control como
respuesta a los eventos que se producen mientras se ejecuta su aplicación.

Para obtener más información Para obtener información acerca de la creación de otros
tipos de procedimientos, vea "Introducción a los procedimientos" en "Fundamentos de
programación".

6.4 Ejecutar la aplicación

Para ejecutar la aplicación, elija Iniciar en el menú Ejecutar, haga clic en el botón
Iniciar de la barra de herramientas o presione F5. Haga clic en el botón de comando que
ha creado en el formulario y verá cómo aparece "¡Hola, mundo!" en el cuadro de texto.

7. Variables
En Visual Basic puede usar variables para almacenar valores temporalmente durante la
ejecución de una aplicación. Las variables tienen un nombre (la palabra que utiliza para
referirse al valor que contiene la variable) y un tipo de dato (que determina la clase de
datos que la variable puede almacenar).

Puede considerar una variable como un marcador de posición en memoria de un valor


desconocido. Por ejemplo, suponga que está creando un programa para una frutería que
haga un seguimiento del precio de las manzanas. No sabe el precio de una manzana o la
cantidad que se ha vendido hasta que no se produce realmente la venta. Puede usar dos
variables para almacenar los valores desconocidos (vamos a llamarlos PrecioManzanas y
ManzanasVendidas). Cada vez que se ejecuta el programa, el usuario especifica los
valores de las dos variables. Para calcular las ventas totales y mostrarlas en un cuadro de
texto llamado txtVentas, el código debería parecerse al siguiente:

txtVentas.txt = PrecioManzanas * ManzanasVendidas

La expresión devuelve un total distinto cada vez, dependiendo de los valores que indique
el usuario. Las variables le permiten realizar un cálculo sin tener que saber antes cuáles
son los valores especificados.

En este ejemplo, el tipo de dato de PrecioManzanas es Currency; el tipo de dato de


ManzanasVendidas es Integer. Las variables pueden representar otros muchos valores
como valores de texto, fechas, diversos tipos numéricos e incluso objetos.

22
7.1 Almacenar y recuperar datos en variables

Utilice instrucciones de asignación para realizar cálculos y asignar el resultado a una


variable:

ManzanasVendidas = 10 ' Se pasa el valor 10 a


' la variable.
ManzanasVendidas = ManzanasVendidas + 1 ' Se incrementa la variable.

Observe que el signo igual del ejemplo es un operador de asignación, no un operador de


igualdad; el valor (10) se asigna a la variable (ManzanasVendidas).

7.2 Declarar variables

Declarar una variable es decirle al programa algo de antemano. Se declara una variable
mediante la instrucción Dim, proporcionando un nombre a la variable:

Dim nombreVariable [As tipo]

Las variables que se declaran en un procedimiento mediante la instrucción Dim sólo


existen mientras se ejecuta el procedimiento. Cuando termina el procedimiento,
desaparece el valor de la variable. Además, el valor de una variable de un procedimiento
es local de dicho procedimiento; es decir, no puede tener acceso a una variable de un
procedimiento desde otro procedimiento. Estas características le permiten usar los
mismos nombres de variables en distintos procedimientos sin preocuparse por posibles
conflictos o modificaciones accidentales.

El nombre de una variable:

 Debe comenzar con una letra.

 No puede incluir un punto o un carácter de declaración de tipo.

 No debe exceder de 255 caracteres.

 Debe ser única en el mismo alcance, que es el intervalo desde el que se puede
hacer referencia a la variable: un procedimiento, formulario, etc.

La cláusula opcional As tipo de la instrucción Dim le permite definir el tipo de dato o de


objeto de la variable que va a declarar. Los tipos de datos definen el tipo de información
que almacena la variable. Algunos ejemplos de tipos de datos son String, Integer y
Currency. Las variables también pueden contener objetos de Visual Basic u otras
aplicaciones. Algunos ejemplos de tipos de objeto de Visual Basic, o clases, son Object,
Form1 y TextBox.

23
Para obtener más información Para obtener más información acerca de los objetos,
vea "Programar con objetos" y "Programar con componentes". Los tipos de datos se
explican con más detalle en "Tipos de datos", más adelante en este mismo capítulo.

Hay otras formas de declarar variables:

 Declarar una variable en la sección Declaraciones de un módulo de formulario,


estándar o de clase, en vez de en un procedimiento, hace que la variable esté
disponible para todos los procedimientos del módulo.

 Declarar una variable mediante la palabra clave Public hace que esté accesible
para toda la aplicación.

 Declarar una variable local mediante la palabra clave Static preserva su valor
aunque termine el procedimiento.

7.3 Declaración implícita

No tiene por qué declarar una variable antes de usarla. Por ejemplo, podría escribir una
función donde no hiciera falta declarar TempVal antes de usarla:

Function SafeSqr(num)
TempVal = Abs(num)
SafeSqr = Sqr(TempVal)
End Function

Visual Basic crea automáticamente una variable con ese nombre, que puede usar como si
la hubiera declarado explícitamente. Aunque es cómodo, puede provocar errores sutiles
en el código si se equivoca de nombre de variable. Por ejemplo, suponga que ha escrito
esta función:

Function SafeSqr(num)
TempVal = Abs(num)
SafeSqr = Sqr(TemVal)
End Function

A primera vista, parece igual. Pero como se ha escrito erróneamente la variable TempVal
en la tercera línea, la función devolverá siempre cero. Cuando Visual Basic encuentra un
nombre nuevo, no puede averiguar si realmente desea declarar una variable nueva o
simplemente ha escrito de forma errónea una variable existente, por lo que crea una
variable nueva con ese nombre.

24
7.4 Declaración explícita

Para evitar problemas al equivocarse de nombre en las variables, puede estipular que
Visual Basic le avise siempre que encuentre un nombre que no se haya declarado
explícitamente como una variable.

7.4.1 Para declarar variables de forma explícita

 Incluya esta instrucción en la sección Declaraciones del módulo de clase, de


formulario o estándar:

Option Explicit

–o bien–

En el menú Herramientas, elija Opciones, haga clic en la ficha Editor y active


la opción Requerir declaración de variables. Esto inserta automáticamente la
instrucción Option Explicit en los módulos nuevos, pero no en los ya creados,
por lo que tendrá que agregar manualmente Option Explicit a los módulos
existentes en el proyecto.

Si hubiera tenido efecto dicha instrucción en el módulo de formulario o estándar que


contiene la función SafeSqr, Visual Basic habría reconocido TempVal y TemVal como
variables no declaradas y habría generado errores para ambas. Debería, por tanto, declarar
explícitamente TempVal:

Function SafeSqr(num)
Dim TempVal
TempVal = Abs(num)
SafeSqr = Sqr(TemVal)
End Function

Ahora podrá comprender el problema inmediatamente porque Visual Basic habrá


mostrado un mensaje de error para la variable TemVal que se ha escrito de forma
incorrecta. Como la instrucción Option Explicit le ayuda a interceptar esta clase de
errores, es conveniente usarla en todo el código.

Nota La instrucción Option Explicit funciona sobre módulo a módulo; debe colocarse
en la sección Declaraciones de todos los módulos de formulario, estándar o de clase en
los que desee que Visual Basic obligue a declarar explícitamente las variables. Si activa
Requerir declaración de variables, Visual Basic insertará Option Explicit en todos los
módulos de formulario, estándares o de clase siguientes, pero no lo agregará en el código
existente. Deberá agregar manualmente Option Explicit a los módulos ya existentes en
el proyecto.

25
8. Constantes
A menudo verá que el código contiene valores constantes que reaparecen una y otra vez.
O puede que el código dependa de ciertos números que resulten difíciles de recordar
(números que, por sí mismos, no tienen un significado obvio).

En estos casos, puede mejorar mucho la legibilidad del código y facilitar su


mantenimiento si utiliza constantes. Una constante es un nombre significativo que
sustituye a un número o una cadena que no varía. Aunque una constante recuerda
ligeramente a una variable, no puede modificar una constante o asignarle un valor nuevo
como ocurre con una variable. Hay dos orígenes para las constantes:

 Constantes intrínsecas o definidas por el sistema proporcionadas por aplicaciones


y controles. Las constantes de Visual Basic se muestran en Visual Basic (VB) y
Visual Basic para aplicaciones (VBA) y las bibliotecas de objetos en el
Examinador de objetos. Otras aplicaciones que proporcionan bibliotecas de
objetos, como Microsoft Excel y Microsoft Project, también proporcionan una
lista de constantes que puede usar con sus objetos, métodos y propiedades.
También se definen constantes en la biblioteca de objetos de cada control
ActiveX. Para obtener más detalles acerca de la utilización del Examinador de
objetos, vea "Programar con objetos".

 Las constantes simbólicas o definidas por el usuario se declaran mediante la


instrucción Const. Las constantes definidas por el usuario se describen en la
próxima sección, "Crear sus propias constantes".

En Visual Basic, los nombres de constantes tienen un formato que combina mayúsculas
y minúsculas, con un prefijo que indica la biblioteca de objetos que define la constante.
Las constantes de las bibliotecas de objetos de Visual Basic y Visual Basic para
aplicaciones tienen el prefijo "vb"; por ejemplo, vbTileHorizontal.

Se ha diseñado el sistema de prefijos para evitar colisiones accidentales en casos donde


las constantes tienen nombres idénticos y representan valores diferentes. Incluso con
prefijos, es posible que dos bibliotecas de objetos puedan contener constantes idénticas
que representen valores diferentes. La constante a la que se hace referencia en cada caso
depende de la biblioteca de objetos que tenga mayor prioridad. Para obtener más
información acerca de la modificación de la prioridad de las bibliotecas de objetos, vea
"Cuadro de diálogo Referencias" en el capítulo 4.

Para estar totalmente seguro de evitar colisiones en los nombres de constantes, puede
calificar las referencias a constantes con la sintaxis siguiente:

[nombreBiblioteca.][nombreMódulo.]nombreConstante

26
nombreBiblioteca suele ser el nombre de clase del control o la biblioteca, nombreMódulo
es el nombre del módulo que define la constante y nombreConstante es el nombre de la
constante. Cada uno de estos elementos se define en la biblioteca de objetos y se puede
ver en el Examinador de objetos.

8.1 Crear constantes propias

La sintaxis para declarar una constante es la siguiente:

[Public|Private] Const nombreConstante[As tipo] = expresión

El argumento nombreConstante es un nombre simbólico válido (las reglas son las mismas
que para crear nombres de variable) y expresión está compuesta por constantes y
operadores de cadena o numéricos; sin embargo, no puede usar llamadas a funciones en
expresión.

Una instrucción Const puede representar una cantidad matemática o de fecha y hora:

Const conPi = 3.14159265358979


Public Const conMaxPlanetas As Integer = 9
Const conFechaSalida = #1/1/95#

Se puede usar también la instrucción Const para definir constantes de cadena:

Public Const conVersion = "07.10.A"


Const conNombreClave = "Enigma"

Puede colocar más de una declaración de constante en una única línea si las separa con
comas:

Public Const conPi = 3.14, conMaxPlanetas = 9, conPobMundial = 6E+09

A menudo, la expresión del lado derecho del signo igual ( = ) es un número o cadena
literal, pero también puede ser una expresión que dé como resultado un número o una
cadena (aunque la función no puede contener llamadas a funciones). Puede incluso definir
constantes en términos de constantes previamente definidas:

Const conPi2 = conPi * 2

Una vez que defina las constantes, puede colocarlas en el código para hacerlo más legible.
Por ejemplo:

Static SistemaSolar(1 To conMaxPlanetas)


If numPersonas > conPopMundial Then Exit Sub

27
8.2 Alcance de las constantes definidas por el usuario

Una instrucción Const tiene igual alcance que una declaración de variable y se le aplican
las mismas reglas:

 Para crear una constante que sólo exista en un procedimiento, declárela dentro del
procedimiento.

 Para crear una constante disponible para todos los procedimientos de un módulo,
pero no para el código que está fuera del módulo, declárela en la sección
Declaraciones del módulo.

 Para crear una constante disponible en toda la aplicación, declare la constante en


la sección Declaraciones de un módulo estándar y coloque delante de Const la
palabra clave Public. No se pueden declarar las constantes públicas en un módulo
de clase o de formulario.

Para obtener más información Para obtener más información acerca del alcance, vea
"Descripción del alcance de las variables", anteriormente en este mismo capítulo.

8.3 Evitar referencias circulares

Como es posible definir constantes en términos de otras constantes, deberá tener cuidado
para no establecer un ciclo o referencia circular entre dos o más constantes. Se produce
un ciclo cuando se tienen dos o más constantes públicas, cada una de las cuales está
definida en función de la otra.

Por ejemplo:

' En Module 1:
Public Const conA = conB * 2 ' Disponible en toda la
' aplicación.
' En Module 2:
Public Const conB = conA / 2 ' Disponible en toda la
' aplicación.

Si se produce un ciclo, Visual Basic generará un error cuando intente ejecutar la


aplicación. No puede ejecutar el código hasta que resuelva la referencia circular. Para
evitar la creación de un ciclo, restrinja todas las constantes públicas a un único módulo o,
al menos, al menor número posible de módulos.

9. Tipos de Datos

28
Las variables son marcadores de posición que se utilizan para almacenar valores; tienen
nombre y un tipo de dato. El tipo de dato de la variable determina cómo se almacenan los
bits que representan esos valores en la memoria del equipo. Cuando declare una variable,
también puede proporcionarle un tipo de dato. Todas las variables tienen un tipo de dato
que determina la clase de datos que pueden almacenar.

De forma predeterminada, si no proporciona un tipo de dato, la variable toma el tipo de


dato Variant. El tipo de dato Variant es como un camaleón; puede representar diferentes
tipos de datos en distintas situaciones. No tiene que convertir estos tipos de datos cuando
los asigne a una variable Variant: Visual Basic realiza automáticamente cualquier
conversión necesaria.

Sin embargo, si sabe que una variable almacenará siempre un tipo de dato determinado,
Visual Basic tratará de forma más eficiente los datos si declara la variable con ese tipo.
Por ejemplo, se representa mejor una variable que va almacenar nombres de personas
como el tipo de dato String, ya que un nombre está siempre compuesto de caracteres.

Los tipos de datos se aplican a otras cosas además de a las variables. Cuando asigna un
valor a una propiedad, dicho valor tiene un tipo de dato; los argumentos de las funciones
tienen también tipos de datos. De hecho, todo lo relacionado con datos en Visual Basic
tiene un tipo de dato.

También puede declarar matrices de cualquiera de los tipos fundamentales.

Para obtener más información Para obtener más información, vea la sección
"Matrices", más adelante en este capítulo. La selección de tipos de datos para mejorar el
rendimiento de la aplicación se explica en "Diseñar buscando el rendimiento y la
compatibilidad".

9.1 Declarar variables con tipos de datos

Antes de usar una variable que no sea Variant debe usar las instrucciones Private,
Public, Dim o Static para declararla As tipo. Por ejemplo, la siguiente instrucción declara
un tipo Integer, Double, String y Currency, respectivamente:

Private I As Integer
Dim Cantidad As Double
Static SuNombre As String
Public PagadoPorJuan As Currency

La instrucción de declaración puede combinar varias declaraciones, como en las


instrucciones siguientes:

Private I As Integer, Amt As Double


Private SuNombre As String, PagadoPorJuan As Currency
Private Prueba, Cantidad, J As Integer

29
Nota Si no proporciona un tipo de dato, se asigna a la variable el tipo predeterminado.
En el ejemplo anterior, las variables Prueba y Cantidad tienen un tipo de dato Variant. Esto
puede sorprenderle si su experiencia con otros lenguajes de programación le lleva a
esperar que todas las variables contenidas en la misma instrucción de declaración tengan
el mismo tipo que ha especificado (en este caso, Integer).

9.2 Tipos de datos numéricos

Visual Basic proporciona varios tipos de datos numéricos: Integer, Long (entero largo),
Single (signo flotante de simple precisión), Double (signo flotante de doble precisión) y
Currency. Usar un tipo de dato numérico emplea normalmente menos espacio de
almacenamiento que un tipo Variant.

Si sabe que una variable siempre va a almacenar números enteros (como 12) en vez de
números fraccionarios (como 3,57), declárela como un tipo Integer o Long. Las
operaciones con enteros son más rápidas y estos tipos consumen menos memoria que
otros tipos de datos. Resultan especialmente útiles como variables de contador en bucles
For...Next.

Para obtener más información Para obtener más información acerca de las estructuras
de control, vea "Introducción a las estructuras de control", más adelante en este mismo
capítulo.

Si la variable contiene una fracción, declárela como variable Single, Double o Currency.
El tipo de dato Currency acepta hasta cuatro dígitos a la derecha del separador decimal
y hasta quince dígitos a la izquierda; es un tipo de dato de signo fijo adecuado para
cálculos monetarios. Los números de signo flotante (Single y Double) tienen más
intervalo que Currency, pero pueden estar sujetos a pequeños errores de redondeo.

Nota Los valores de signo flotante se pueden expresar como mmmEeee o mmmDeee,
donde mmm es la mantisa y eee el exponente (potencia de 10). El valor positivo más alto
de un tipo de dato Single es 3,402823E+38 ó 3,4 veces 10 a la 38a potencia; el valor
positivo más alto de un tipo de dato Double es 1,79769313486232D+308 o alrededor de
1,8 veces 10 a la 308a potencia. Si utiliza D para separar la mantisa y el exponente en un
literal numérico, el valor se tratará como un tipo de dato Double. Igualmente, usar E de
la misma manera hace que el valor se trate como un tipo de dato Single.

9.3 El tipo de dato Byte

Si la variable contiene datos binarios, declárela como matriz de tipo Byte. (Las matrices
se describen en "Matrices", más adelante en este mismo capítulo). Usar variables Byte
para almacenar datos binarios los preserva durante las conversiones de formato. Cuando
se convierten las variables String entre los formatos ANSI y Unicode, los datos binarios

30
de la variable resultan dañados. Visual Basic puede convertir automáticamente entre
ANSI y Unicode al:

 Leer archivos

 Escribir archivos

 Llamar a archivos DLL

 Llamar a métodos y propiedades en objetos

Todos los operadores que funcionan con enteros funcionan con el tipo de dato Byte
excepto el de resta unaria. Puesto que Byte es un tipo sin signo con el intervalo 0-255, no
puede representar un valor negativo. Así, para la resta unaria, Visual Basic convierte antes
el tipo Byte en un entero con signo.

Es posible asignar todas las variables numéricas entre sí y a variables del tipo Variant.
Visual Basic redondea en vez de truncar la parte fraccionaria de un número de signo
flotante antes de asignarlo a un entero.

Para obtener más información Para obtener más detalles acerca de las conversiones
Unicode y ANSI, vea el capítulo 16 "Aspectos internacionales".

9.4 El tipo de dato String

Si tiene una variable que siempre contendrá una cadena y nunca un valor numérico, puede
declararla del tipo String:

Private S As String

Así podrá asignar cadenas a esta variable y manipularla mediante funciones de cadena:

S = "Base de datos"
S = Left(S, 4)

De forma predeterminada, una variable o argumento de cadena es una cadena de longitud


variable; la cadena crece o disminuye según le asigne nuevos datos. También puede
declarar cadenas de longitud fija. Especifique una cadena de longitud fija con esta
sintaxis:

String * tamaño

Por ejemplo, para declarar una cadena que tiene siempre 50 caracteres de longitud, utilice
un código como este:

Dim NombreEmp As String * 50

31
Si asigna una cadena con menos de 50 caracteres, NombreEmp se rellenará con espacios en
blanco hasta el total de 50 caracteres. Si asigna una cadena demasiado larga a una cadena
de longitud fija, Visual Basic simplemente truncará los caracteres.

Puesto que las cadenas de longitud fija se rellenan con espacios al final, verá que las
funciones Trim y RTrim, que quitan los espacios en blanco, resultan muy útiles cuando
se trabaja con ellas.

Las cadenas de longitud fija se pueden declarar en módulos estándar como Public o
Private. En módulos de clase y formulario, las cadenas de longitud fija deben declararse
como Private.

Para obtener más información Vea "Funciones LTrim, RTrim y Trim" en la


Referencia del lenguaje.

9.5 Intercambiar cadenas y números

Puede asignar una cadena a una variable numérica si la cadena representa un valor
numérico. También es posible asignar un valor numérico a una variable de cadena. Por
ejemplo, coloque un botón de comando, un cuadro de texto y un cuadro de lista en un
formulario. Escriba el código siguiente en el evento Click del botón de comando. Ejecute
la aplicación y haga clic en el botón de comando.

Private Sub Command1_Click()


Dim intX As Integer
Dim strY As String
strY = "100.23"
intX = strY ' Pasa la cadena a una variable numérica.
List1.AddItem Cos(strY) ' Agrega el coseno del número de la
' cadena al cuadro de lista.
strY = Cos(strY) ' Pasa el coseno a la variable de cadena.
Text1.Text = strY ' Se imprime la variable de cadena en el
' cuadro de texto.
End Sub

Visual Basic convertirá automáticamente las variables al tipo de dato apropiado. Debe
tener cuidado cuando intercambie números y cadenas, ya que pasar un valor no numérico
a una cadena producirá un error de tiempo de ejecución.

9.6 El tipo de dato Boolean

Si tiene una variable que siempre contendrá solamente información del tipo verdadero y
falso, sí y no o activado o desactivado, puede declararla del tipo Boolean. El valor
predeterminado de Boolean es False. En el siguiente ejemplo, blnEjecutando es una
variable Boolean que almacena un simple sí o no.

Dim blnEjecutando As Boolean

32
' Comprueba si la cinta está en marcha.
If Recorder.Direction = 1 Then
blnEjecutando = True
End if

9.7 El tipo de dato Date

Los valores de fecha y hora pueden almacenarse en el tipo de dato específico Date en
variables Variant. En ambos tipos se aplican las mismas características generales a las
fechas.

Para obtener más información Vea la sección "Valores de fecha y hora almacenados
en tipos Variant" en "Temas avanzados sobre Variant".

Cuando se convierten otros tipos de datos numéricos en Date, los valores que hay a la
izquierda del signo decimal representan la información de fecha, mientras que los valores
que hay a la derecha del signo decimal representan la hora. Medianoche es 0 y mediodía
es 0.5. Los números enteros negativos representan fechas anteriores al 30 de diciembre
de 1899.

9.8 El tipo de dato Object

Las variables Object se almacenan como direcciones de 32 bits (4 bytes) que hacen
referencia a objetos dentro de una aplicación o de cualquier otra aplicación. Una variable
declarada como Object es una variable que puede asignarse subsiguientemente (mediante
la instrucción Set) para referirse a cualquier objeto real reconocido por la aplicación.

Dim objDb As Object


Set objDb = OpenDatabase("c:\Vb5\biblio.mdb")

Cuando declare variables de objeto, intente usar clases específicas (como TextBox en vez
de Control o, en el caso anterior, Database en vez de Object) mejor que el tipo genérico
Object. Visual Basic puede resolver referencias a las propiedades y métodos de objetos
con tipos específicos antes de que ejecute una aplicación. Esto permite a la aplicación
funcionar más rápido en tiempo de ejecución. En el Examinador de objetos se muestran
las clases específicas.

Cuando trabaje con objetos de otras aplicaciones, en vez de usar Variant o el tipo
genérico Object, declare los objetos como se muestran en la lista Clases en el
Examinador de objetos. Esto asegura que Visual Basic reconozca el tipo específico de
objeto al que está haciendo referencia, lo que permite resolver la referencia en tiempo de
ejecución.

Para obtener más información Para obtener más información acerca de la creación y
asignación de objetos y variables de objetos, vea "Crear objetos" más adelante en este
mismo capítulo.

33
9.9 Convertir tipos de datos

Visual Basic proporciona varias funciones de conversión que puede usar para convertir
valores en tipos de datos específicos. Por ejemplo, para convertir un valor a Currency,
utilice la función CCur:

PagoPorSemana = CCur(horas * PagoPorHora)

Convertir tipos de datos

Funciones de conversión Convierten una expresión en

Cbool Boolean

Cbyte Byte

Ccur Currency

Cdate Date

CDbl Double

Cint Integer

CLng Long

CSng Single

CStr String

Cvar Variant

CVErr Error

Nota Los valores que se pasan a una función de conversión deben ser válidos para el
tipo de dato de destino o se producirá un error. Por ejemplo, si intenta convertir un tipo
Long en un Integer, el tipo Long debe estar en el intervalo válido del tipo de dato
Integer.

Para obtener más información Busque las funciones específicas de conversión en la


Referencia del lenguaje.

34
9.10 El tipo de dato Variant

Una variable Variant es capaz de almacenar todos los tipos de datos definidos en el
sistema. No tiene que convertir entre esos tipos de datos si los asigna a una variable
Variant; Visual Basic realiza automáticamente cualquier conversión necesaria. Por
ejemplo:

Dim AlgúnValor ' De forma predeterminada es un tipo Variant.


AlgúnValor = "17" ' AlgúnValor contiene "17" (cadena de dos
' caracteres).
AlgúnValor = AlgúnValor - 15 ' AlgúnValor ahora contiene
' el valor numérico 2.
AlgúnValor = "U" & AlgúnValor ' AlgúnValor ahora contiene
' "U2" (una cadena de dos
' caracteres).

Si bien puede realizar operaciones con variables Variant sin saber exactamente el tipo de
dato que contienen, hay algunas trampas que debe evitar.

 Si realiza operaciones aritméticas o funciones sobre un Variant, el Variant debe


contener un número. Para obtener más detalles, vea la sección "Valores numéricos
almacenados en tipos Variant" en "Temas avanzados sobre Variant".

 Si está concatenando cadenas, utilice el operador & en vez del operador +. Para
obtener más detalles, vea la sección "Cadenas almacenadas en tipos Variant" en
"Temas avanzados sobre Variant".

Además de poder actuar como otros tipos de datos estándar, los Variant también pueden
contener tres valores especiales: Empty, Null y Error.

9.11 El valor Empty

A veces necesitará saber si se ha asignado un valor a una variable existente. Una variable
Variant tiene el valor Empty antes de asignarle un valor. El valor Empty es un valor
especial distinto de 0, una cadena de longitud cero ("") o el valor Null. Puede probar el
valor Empty con la función IsEmpty:

If IsEmpty(Z) Then Z = 0

Cuando un Variant contiene el valor Empty, puede usarlo en expresiones; se trata como
un 0 o una cadena de longitud cero, dependiendo de la expresión.

El valor Empty desaparece tan pronto como se asigna cualquier valor (incluyendo 0, una
cadena de longitud cero o Null) a una variable Variant. Puede establecer una variable
Variant de nuevo como Empty si asigna la palabra clave Empty al Variant.

35
9.12 El valor Null

El tipo de dato Variant puede contener otro valor especial: Null. Null se utiliza
comúnmente en aplicaciones de bases de datos para indicar datos desconocidos o que
faltan. Debido a la forma en que se utiliza en las bases de datos, Null tiene algunas
características únicas:

 Las expresiones que utilizan Null dan como resultado siempre un Null. Así, se
dice que Null se "propaga" a través de expresiones; si cualquier parte de la
expresión da como resultado un Null, la expresión entera tiene el valor Null.

 Al pasar un Null, un Variant que contenga un Null o una expresión que dé como
resultado un Null como argumento de la mayoría de las funciones hace que la
función devuelva un Null.

 Los valores Null se propagan a través de funciones intrínsecas que devuelven


tipos de datos Variant.

También puede asignar un Null mediante la palabra clave Null:

Z = Null

Puede usar la función IsNull para probar si una variable Variant contiene un Null:

If IsNull(X) And IsNull(Y) Then


Z = Null
Else
Z=0
End If

Si asigna Null a una variable de un tipo que no sea Variant, se producirá un error
interceptable. Asignar Null a una variable Variant no provoca ningún error y el Null se
propagará a través de expresiones que contengan variables Variant (Null no se propaga
a través de determinadas funciones). Puede devolver Null desde cualquier procedimiento
Function con un valor de devolución de tipo Variant.

Null no se asigna a las variables a menos que se haga explícitamente, por lo que si no
utiliza Null en su aplicación, no tendrá que escribir código que compruebe su existencia
y lo trate.

Para obtener más información Para obtener más información acerca de cómo usar
Null en expresiones, vea "Null" en la Referencia del lenguaje.

36
9.13 El valor Error

En un Variant, Error es un valor especial que se utiliza para indicar que se ha producido
una condición de error en un procedimiento. Sin embargo, a diferencia de otros tipos de
error, no se produce el tratamiento de errores a nivel normal de aplicación. Esto le permite
a usted o a la propia aplicación elegir alternativas basadas en el valor del error. Los valores
de error se crean convirtiendo números reales en valores de error mediante la función
CVErr.

Para obtener más información Para obtener más información acerca de cómo usar el
valor Error en expresiones, vea "Función CVErr" en la Referencia del lenguaje. Para
obtener más información acerca del tratamiento de errores, vea el capítulo 13 "Depurar
el código y tratar errores". Para obtener más información acerca del tipo de dato Variant,
vea "Temas avanzados sobre Variant".

10. Seleccionar opciones individuales con


casillas de verificación
Una casilla de verificación indica si una condición determinada está activada o
desactivada. Se usan casillas de verificación en una aplicación para ofrecer a los usuarios
opciones de tipo verdadero y falso o sí y no. Como las casillas de verificación funcionan
independientemente una de otra, el usuario puede activar cualquier número de casillas de
verificación al mismo tiempo. Por ejemplo, en la figura pueden estar activadas Negrita y
Cursiva.

10.1 La aplicación Check Box

El ejemplo de casilla de verificación usa una casilla de verificación para determinar si el


texto se presenta en fuente normal o cursiva. Para ver una versión funcional de este
ejemplo, vea el archivo Check.frm en la aplicación de ejemplo Controls.vbp.

La aplicación tiene un cuadro de texto, una etiqueta, un botón de comando y dos casillas
de verificación, como muestra la figura

En la tabla siguiente se muestran los valores de las propiedades de los objetos de la


aplicación.

Propiedades de los objetos de la aplicación.

37
Objeto Propiedad Valor

Form Name frmCheck


Caption Ejemplo de casilla de
verificación

TextBox Name txtDisplay


Text Ejemplo de texto

Primera CheckBox Name chkBold


Caption &Negrita

Segunda CheckBox Name chkItalic


Caption C&ursiva

CommandButton Name cmdClose


Caption &Cerrar

Cuando activa Bold o Italic, la propiedad Value de la casilla de verificación es 1; cuando


no está activada, su propiedad Value es 0. El valor predeterminado de Value es 0. Por
eso, a menos que modifique Value, la casilla de verificación estará desactivada la primera
vez que se muestre. Puede usar las constantes vbChecked y vbUnchecked para
representar los valores 1 y 0.

10.2 Eventos de la aplicación Check Box

El evento Click de la casilla de verificación se produce en cuanto hace clic en la casilla.


Este procedimiento de evento comprueba si se ha activado la casilla de verificación (es
decir, si su propiedad Value = vbChecked). Si es así, el texto recibe el atributo de negrita
o cursiva estableciendo las propiedades Bold o Italic del objeto Font devuelto por la
propiedad Font del cuadro de texto.

Private Sub chkBold_Click ()


If ChkBold.Value = vbChecked Then ' Si está activada.
txtDisplay.Font.Bold = True
Else ' Si no está activada.
txtDisplay.Font.Bold = False
End If
End Sub

Private Sub chkItalic_Click ()


If ChkItalic.Value = vbChecked Then ' Si está activada.
txtDisplay.Font.Italic = True
Else ' Si no está activada.
txtDisplay.Font.Italic = False
End If

38
End Sub

11. Agrupar opciones con botones de opción


Los botones de opción presentan al usuario un conjunto de dos o más opciones. Pero, a
diferencia de las casillas de verificación, los botones de opción deben funcionar siempre
como parte de un grupo; al activar un botón de opción se desactivan inmediatamente todos
los demás botones del grupo. Al definir un botón de opción se indica al usuario "Aquí
tiene un conjunto de opciones entre las que puede elegir una y sólo una".

Por ejemplo, en el grupo de botones de opción que muestra la figura, el usuario puede
seleccionar uno de los tres botones de opción.

Seleccionar un botón de opción

11.1 Crear grupos de botones de opción

Todos los botones de opción que se colocan directamente en un formulario (es decir, no
en un marco o en un cuadro de imagen) constituyen un grupo. Si desea crear grupos
adicionales de botones de opción, debe colocarlos dentro de marcos o en cuadros de
imagen.

Todos los botones de opción que haya dentro de un marco dado constituyen un grupo
independiente, al igual que todos los botones de opción que haya dentro de un cuadro de
imagen. Cuando cree un grupo independiente de esta forma, dibuje siempre primero el
marco o el cuadro de imagen y, después, dibuje encima los botones de opción. La figura
muestra un formulario con dos grupos de botones de opción.

Cuando dibuja botones de opción dentro de un marco, el usuario sólo puede seleccionar
un botón de opción del grupo.

11.1.1 Para agrupar los controles en un marco

1. Seleccione el control Frame del cuadro de herramientas y dibuje el marco en el


formulario.

39
2. Seleccione el control OptionButton en el cuadro de herramientas y dibuje el
control dentro del marco.

3. Repita el paso 2 para cada botón de opción adicional que desee agregar al marco.

Dibujar el marco primero y dibujar después cada control en el marco permite mover el
marco y los controles juntos. Si intenta mover controles existentes a un marco, los
controles no se moverán con el marco.

Nota Si tiene controles que desea agrupar en un marco, puede seleccionarlos todos y
cortarlos y, a continuación, pegarlos en el control de marco o de imagen.

11.2 Contenedores para controles

Si bien los controles son objetos independientes, existe una cierta relación primaria y
secundaria entre los formularios y los controles. La figura demuestra cómo pueden estar
contenidos los botones de opción dentro de un formulario o dentro de un control de marco.

Para entender el concepto de contenedores, debe comprender que todos los controles son
secundarios del formulario en el que se dibujan. De hecho, la mayoría de los controles
admiten la propiedad de sólo lectura Parent, que devuelve el formulario en el que está
ubicado un control. Ser secundario afecta a la colocación de un control en el formulario
primario. Las propiedades Left y Top de un control son relativas al formulario primario
y no se pueden mover los controles fuera de los límites del formulario primario. Mover
un contenedor mueve también los controles, y la posición del control relativa a las
propiedades Left y Top del contenedor no cambia, ya que el control se mueve con el
contenedor.

11.3 Seleccionar o desactivar botones de opción

Hay varias formas de seleccionar un botón de opción:

 Hacer clic en él con el mouse en tiempo de ejecución.

 Ir al grupo de botones de opción con el tabulador y usar luego las teclas de


dirección para seleccionar un botón de opción del grupo.

 Asignar a la propiedad Value el valor True en el código:


 optOpción.Value = True
 Usar una tecla de método abreviado especificada en el título de la etiqueta.

Para hacer que un botón sea el predeterminado en un grupo de botones de opción, asigne
a su propiedad Value el valor True en tiempo de diseño. El botón permanecerá
seleccionado hasta que un usuario seleccione otro botón de opción diferente o hasta que
lo modifique el código.

40
Para desactivar un botón de opción, asigne a su propiedad Enabled el valor False.
Cuando se ejecute el programa aparecerá atenuado, lo que significa que no está
disponible.

11.4 La aplicación Opciones

El formulario que aparece en la figura usa botones de opción para determinar el tipo de
procesador y el sistema operativo de un equipo ficticio. Cuando el usuario selecciona un
botón de opción de cualquiera de los grupos, el título de la etiqueta cambia para reflejar
las opciones activas. Para ver una versión funcional de este ejemplo, vea el archivo
Options.frm de la aplicación de ejemplo Controls.vbp.

En la tabla siguiente se muestran los valores de las propiedades de los objetos de la


aplicación.

Propiedades de los objetos de la aplicación

Objeto Propiedad Valor

Label Name lblDisplay


Caption (Vacío)

CommandButton Name cmdClose


Caption &Cerrar

Primer OptionButton Name opt486


Caption &486

Segundo OptionButton Name opt586


Caption &Pentium

Value True

Tercer OptionButton Name opt686


Caption P&entium Pro

Frame Name fraSystem


Caption &Sistema operativo

Cuarto OptionButton Name optWin95


Caption &Windows 95

Quinto OptionButton Name optWinNT


Caption Windows &NT

41
Value True

11.5 Eventos de la aplicación Opciones

La aplicación Opciones responde a los eventos de la forma siguiente:

 El evento Click para los tres primeros botones de opción asigna una descripción
correspondiente a una variable de cadena de formulario, strComputer.

 El evento Click para los dos últimos botones de opción asigna una descripción
correspondiente a una segunda variable de formulario, strSystem.

La clave de este planteamiento es el uso de estas dos variables de formulario, strComputer


y strSystem. Estas variables contienen diferentes valores de cadena, dependiendo de qué
botones de opción se hayan seleccionado en último lugar.

Cada vez que se selecciona un nuevo botón de opción, el código de su evento Click
actualiza la variable apropiada:

Private Sub opt586_Click()


strComputer = "Pentium"
Call DisplayCaption
End Sub

Luego llama a un procedimiento Sub, denominado DisplayCaption, que concatena las dos
variables y actualiza la propiedad Caption de la etiqueta:

Sub DisplayCaption()
lblDisplay.Caption = "Ha seleccionado un " & _
strComputer & " que ejecuta " & strSystem
End Sub

Se usa un procedimiento Sub porque el procedimiento para actualizar la propiedad


Caption es esencialmente el mismo para los cinco botones de opción: sólo cambia el
valor de las variables de una instancia a la siguiente. Esto ahorra tener que repetir el
mismo código en cada uno de los eventos Click.

Para obtener más información Las variables y procedimientos Sub se explican con
más detalle en "Fundamentos de programación".

12. Usar los cuadros de lista y los cuadros


combinados

42
Los cuadros de lista y los cuadros combinados presentan al usuario una lista de opciones.
De forma predeterminada, las opciones se muestran verticalmente en una única columna,
aunque también puede establecer múltiples columnas. Si el número de elementos supera
a los que se pueden mostrar en el cuadro combinado o el cuadro de lista, aparecen
automáticamente barras de desplazamiento en el control. El usuario puede entonces
desplazarse por la lista hacia arriba o hacia abajo o de izquierda a derecha. La figura
muestra un cuadro de lista de una única columna.

Cuadro de lista de una única columna

Un cuadro combinado aúna las características de un cuadro de texto y un cuadro de lista.


Este control permite al usuario seleccionar opciones si escribe texto en el cuadro
combinado o selecciona un elemento de la lista. La figura muestra un cuadro combinado.

Cuadro combinado

A diferencia de otros controles que contienen un único valor, por ejemplo la propiedad
Caption de una etiqueta o la propiedad Text de un cuadro de texto, los cuadros de lista y
los cuadros combinados contienen múltiples valores o una colección de valores. Tienen
métodos integrados para agregar, quitar y recuperar valores de sus colecciones en tiempo
de ejecución. Para agregar varios elementos a un cuadro de lista llamado Lista1, el código
sería como el siguiente:

Lista1.AddItem "París"
Lista1.AddItem "Nueva York"
Lista1.AddItem "San Francisco"

Los cuadros de lista y los cuadros combinados son una manera efectiva de presentar al
usuario gran cantidad de opciones en un espacio limitado.

43
Para obtener más información Para obtener información adicional acerca de los
controles de cuadro de lista y cuadro combinado, vea "Usar los controles estándar de
Visual Basic".

13. Cuadro de herramientas de Visual Basic

Cursor del ratón


Sirve para quitar la selección del que se haya pulsado por error.

PictureBox
Se utiliza la herramienta para imágenes para mostrar una gráfica.
Las imágenes pueden ser decorativas o funcionales como un icono.
Label
Sirve para poder poner mensajes o textos en la pantalla, pero no son editables por
el usuario.

TextBox
Caja de texto, permite que el usuario pueda escribir directamente.

Frame
Es un contenedor para los demás controles.

CommandButton
Botón de comando, permite que el usuario pueda pulsar botones y
que realicen determinadas acciones

CheckBox
Caja de chequeo, permite tener opciones sobre las que el usuario confirma o niega.

OptionButton

44
Botón de opción, permite tener varias opciones de las cuales seleccionar una.

ComboBox
Caja combinada, permite tener varias opciones de las cuales seleccionar y ver una.

ListBox
Caja de lista, presenta una lista de opciones y permite seleccionar una o varias de
dichas opciones.

HScrollBar
Se puede crear una barra de desplazamiento horizontal.

VScrollBar
Permite tener una barra vertical para desplazamientos.

Timer
Es un controlador de tiempo.

DriveListBox
Caja de unidades, permite indicar que unidades de almacenamiento tiene el
ordenador.

DirListBox
Caja de directorios, indica los directorios y subdirectorios de una ruta en concreto.

FileListBox
Indica una lista de los ficheros que se encuentran en un determinado directorio o
subdirectorio.

Shape
Permite incluir formas gráficas en el formulario, como un cuadrado, un círculo,
etc.

Line

Permite incluir una línea en el formulario.

Image

Permite incluir imágenes como fotografías, dibujos, etc..

Data

45
Permite la conexión con una base de datos y poder añadir, modificar, consultar,
borrar, etc..

14. Editor de menús (Cuadro de diálogo)


Editor de menús

Le permite crear menús personalizados para la aplicación y definir sus propiedades.

14.1 Opciones del cuadro de diálogo


14.1.1 Título

Le permite escribir el nombre del comando o del menú que desea que aparezca en la barra
de menús o en un menú.

Si desea crear una barra separadora en el menú, escriba un único guión (-) en el cuadro
Título.

Para dar al usuario acceso a través del teclado a un elemento del menú, escriba el signo
& delante de una letra. En tiempo de ejecución, esta letra aparecerá subrayada (el signo
& no será visible) y el usuario tendrá acceso al menú o al comando si presiona las teclas
Alt y la correspondiente a la letra subrayada. Si necesita que aparezca en el menú el signo
&, deberá escribir dos signos & consecutivos.

46
14.1.2 Nombre

Le permite escribir un nombre de control para el elemento del menú. El nombre de control
es un identificador que sólo se utiliza para tener acceso al elemento del menú en el código,
no aparece en ningún menú.

14.1.3 Índice

Le permite asignar un valor numérico que determina la posición del control en una matriz
de controles. Esta posición no tiene ninguna relación con la ubicación del control en la
pantalla.

14.1.4 Método abreviado

Le permite seleccionar una tecla de método abreviado para cada comando.

14.1.5 Id. de contexto de Ayuda

Le permite asignar un valor numérico único para el Id. de contexto. Este valor se utiliza
para encontrar el tema de Ayuda apropiado en el archivo de Ayuda identificado mediante
la propiedad HelpFile.

14.1.6 NegotiatePosition

Le permite seleccionar la propiedad NegotiatePosition del menú. Esta propiedad


determina si el menú aparece o no en un formulario contenedor y cómo aparece.

14.1.7 Checked

Le permite hacer que aparezca inicialmente una marca de verificación a la izquierda de


un elemento del menú. Se utiliza normalmente para indicar si una opción de alternar está
activada o no.

14.1.8 Enabled

Le permite seleccionar si el elemento del menú debe responder a eventos. Desactive esta
opción si desea que el elemento del menú no esté disponible y aparezca atenuado.

14.2.9 Visible

Le permite hacer que un elemento aparezca en el menú.

14.2.10 WindowList

Determina si el control del menú contiene una lista de formularios secundarios MDI
abiertos en una aplicación MDI.

47
14.2.11 Flecha a la derecha

Pasa el menú seleccionado a un nivel inferior cada vez que hace clic en el botón.
Puede crear hasta cuatro niveles de submenús.

14.2.12 Flecha a la izquierda

Pasa el menú seleccionado a un nivel superior cada vez que hace clic en el botón.
Puede crear hasta cuatro niveles de submenús.

14.2.13 Flecha arriba

Cada vez que se hace clic en este botón, el elemento seleccionado del menú se
mueve hacia arriba una posición dentro del mismo nivel de menú.

14.2.14 Flecha abajo

Cada vez que se hace clic en este botón, el elemento seleccionado del menú se
mueve hacia abajo una posición dentro del mismo nivel de menú.

14.2.15 Lista Menús

Es un cuadro de lista que muestra en orden jerárquico todos los elementos del menú. Los
elementos de los submenús aparecen endentados para indicar su ubicación o su nivel en
la jerarquía.

14.2.16 Siguiente

Selecciona la línea siguiente.

14.2.17 Insertar

Inserta una línea en el cuadro de lista, inmediatamente encima de la línea actualmente


seleccionada.

14.2.18 Eliminar

Elimina Borra la línea actualmente seleccionada.

14.2.19 Aceptar

Cierra el Editor de menús y aplica todos los cambios efectuados en el último formulario
seleccionado. El menú está disponible en tiempo de diseño, pero si selecciona un menú

48
en la fase de diseño, se abre la ventana Código para el evento Clic de ese menú en lugar
de ejecutarse el código del evento.

14.2.20 Cancelar

Cierra el Editor de menús y cancela todos los cambios.

49

You might also like