Professional Documents
Culture Documents
2007
Guia practica de
Visual basic 6.0
Introducción a la programación en Visual
Basic 6.0
Visual Basic 6 es un lenguaje ideal para el principiante por su facilidad para
comenzar a realizar pequeñas aplicaciones, y al mismo tiempo para los
profesionales porque pueden acometer proyectos más complejos con una alta
garantía de éxito y, a la vez facilidad de uso.
Hernando Delgado V.
Casa
20/05/2007
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
TABLA DE CONTENIDO
3
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
1. INTRODUCCION A VISUAL BASIC 6.0
A lo largo de los últimos años, Visual Basic ha ido facilitando a los programadores una
herramienta que les ha servido perfectamente para desarrollar aplicaciones para
Windows. Con el paso del tiempo Visual Basic ha ido perfeccionando tanto su entorno
de desarrollo como el apartado de conexiones a bases de datos y un entorno también
muy útil para procesos que suponen conexiones a redes locales o a redes externas. La
versión 6.0 de Visual Basic incorpora un conjunto de herramientas de gran potencia y
de extraordinaria facilidad de uso para programar para el entorno de Internet. Incorpora,
asimismo, controles mejorados de enlace y conexión, permitiendo, a través de ellos,
navegar por el mundo de la Web. En los dos últimos años se ha desarrollado un entorno
partiendo de Visual Basic, VBScript, que permite la codificación de guiones que pueden
formar parte de aplicaciones HTML supliendo, con estas herramientas, la falta de
interconexión que se le achacaba. El conocimiento de Visual Basic va a suponer la base
para la creación de estos guiones VBScript con los que se van a poder crear
documentos ActiveX y controles ActiveX. La versión 6.0 de Visual Basic trae
incorporada una versión especial de Visual Basic conocida como Visual Basic for
Applications (VBA), que permite crear código fuente y macros para otros productos que
no se ciñan exclusivamente al desarrollo de nuevas aplicaciones sino a la utilización de
otros paquetes integrados (Microsoft Office, por ejemplo).
PROGRAMACIÓN EN WINDOWS
La estructura de un proyecto en Visual Basic pasa, como todos los proyectos, por una
primera fase de diseño. Aunque no es el más vistoso y ameno, es el soporte más sólido
de cualquier proyecto. Se debe seguir un proceso para conseguir los objetivos que el
proyecto se propone. Durante el diseño se debe tender a conseguir los siguientes
resultados:
Tras la descripción de las tareas y sus objetivos se debe acometer el diseño del interfaz
de usuario. Supone la elección de un formulario o grupo de formularios y cuantos
componentes vayan a incluir cada uno de ellos. Esta parte forma el soporte visual de la
aplicación a través de la cual interactúa el usuario con la aplicación. El EID (Entorno
Integrado de Desarrollo) (IDE, Integrated Development Environment) de Visual Basic 6
proporciona un entorno óptimo para el diseño de esta fase así como para el
establecimiento de los valores para las propiedades de los controles en tiempo de
diseño.
La segunda fase es la escritura del código fuente que debe responder a los posibles
sucesos que se generen en tiempo de ejecución sobre los controles del soporte gráfico
de la aplicación.
La cuarta fase se debe dedicar a la creación de los paquetes que se deben distribuir.
Visual Basic 6 dispone a este respecto de una herramienta para la compilación y
empaquetado de todos los archivos que conforman el formulario.
COMPONENTES DE UN PROYECTO
Todos los proyectos están compuestos de un interfaz de usuario o varias. Lo forman los
formularios que son el primero de los elementos (archivos .Frm). Sobre los formularios
se sitúan controles. Estos controles son archivos .ocx que también forman parte del
proyecto. Además de los formularios, forman también parte del proyecto el conjunto de
procedimientos y funciones que responden a los posibles sucesos que se pueden
generar sobre los controles situados en la interfaz de usuario en tiempo de ejecución, y
todos los módulos que son precisos para otras tareas como pueden ser las de
validación de los datos que se introducen a la aplicación (son los archivos .Bas). Un
tercer bloque lo forman los archivos que se deben incluir como un sistema de ayuda a la
aplicación. Por medio de estos archivos se le facilita al usuario información sobre cómo
debe utilizarse la aplicación y de qué modo sé puede acceder a la ejecución de las
tareas para las que ha sido diseñada la aplicación (los archivos .hlp o cualquier archivo
de texto ASCII que supla la tarea de estos archivos .rtf o bien .txt). Lo más usual es que
las aplicaciones manipulen datos que se obtienen de entornos de bases de datos.
Serán las tablas de estas bases de datos otro de los componentes que se deben
aportar al proyecto (los archivos .mdb de tablas de Access u otros de diferentes
gestores de entornos de bases de datos Paradox, Betrieve, Dbase, etc.). Se deberán
acompañar también los archivos de gráficos que, o bien como iconos o como imágenes,
5
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
se incorporen al proyecto en tiempo de diseño o de ejecución (archivos .wfm, .bmp,
.jpeg, etc.).
El entorno de desarrollo de Visual Basic contiene las herramientas que se utilizan para
el diseño de las aplicaciones. Se basa en un interfaz de múltiples documentos que
pueden estar activos a la vez y que se encuentran en el interior de la ventana principal.
La distribución de las ventanas de trabajo sobre el entorno de desarrollo va a depender
del usuario que puede disponerlas como mejor se acomoden a su modo de trabajar.
Este entorno de programación permite trabajar con varios proyectos a la vez, lo que
supone que se puede estar trabajando en uno de ellos y realizar los cambios que se
precisen en otro que se abra en ese momento o que ya se tenga abierto. En la nueva
versión, el entorno dispone de barras de herramientas y ventanas que se pueden
acoplar al centro de la ventana principal o en un lateral de la misma. El entorno ayuda
también en las tareas propias de la codificación de procedimientos y funciones pues
dispone de Auto Quick lnfo (una información automática rápida) que recuerda, por
medio de listas, las propiedades y métodos de un determinado control para ¿1 que se
está escribiendo código que responda a algún suceso o función específica.
Cuando se arranca Visual Basic o se elige la opción Nuevo Proyecto del menú Archivo,
se activa una ventana en la que se muestran los iconos relativos a los
diferentes diseños para los tipos de proyecto que se pueden elegir para el nuevo. En la
Figura 1.1 puede verse esta primera ventana. En ella se pueden apreciar los tipos de
proyectos a los que se puede acceder desde la opción Nuevo Proyecto.
6
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Visual Basic muestra los iconos para las plantillas que se van a adecuar al proyecto que
el usuario elija. En la versión actual se pueden crear los tipos de proyecto que se
muestran a continuación.
• EXE ActiveX. Este tipo de proyecto, que responde a los anteriores componentes
OLE, se diseña para que ejecute tareas de una aplicación con múltiples niveles. A
estas partes de programa pueden acceder otros programas o pueden ejecutarse con
uná autonomía propia.
• DLL ActiveX. Se crea el proyecto como un programa de ejecución remota como una
DLL. No tienen autonomía propia, pero permiten que los
procesos, con ellas, se ejecuten con mayor velocidad.
• Control ActiveX. Se crean a través de esta opción controles OCX personalizados
que, posteriormente, se pueden utilizar de igual manera que los controles estándar.
• Aplicación lIS. Crea un proyecto que se puede usar con lIS (Internet Information
Server) de Windows NT para ejecutarse en un entorno basado
en el Web.
• DLL de documento ActiveX. Crea una DLL que se puede usar en el explorador de
Internet.
7
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
8
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
aplicación. Todos los botones que forman las barras disponen de una ayuda que se
visualiza en un recuadro de color cuando se sitúa el puntero del ratón sobre el botón de
una herramienta determinada y se permanece sobre él dos o tres segundos. Las barras
de herramientas del EID de Visual Basic pueden ser de diferentes clases. Para poder
activar todas las barras de herramientas de Visual Basic o unas barras concretas, se
elige la opción Ver del menú y, una vez desplegado, la opción Barras de herramientas y
Personalizar para poder determinar la barra o barras que queremos queden activadas
para poder acceder a ellas durante el diseño de los diferentes elementos que van a
conformar la aplicación. Una vez que se ejecuten los pasos descritos en el punto
anterior, aparecerá una ventana como la que se muestra en la Figura 1.3.
9
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
• La barra de herramientas para la Depuración. Contiene un grupo de botones que
sirven para el seguimiento de los valores de las variables en tiempo de ejecución y,
además, para la depuración del código fuente del programa.
• La barra de herramientas para Editar formularios. Con botones para facilitar las
operaciones de tratamiento de los formularios y de los controles que contienen.
Agregar formularios
Este segundo botón permite añadir al proyecto activo los siguientes elementos:
• Nuevo formulario.
• Formulario MDI.
• Nuevo módulo.
• Nuevo módulo de clase.
• Nuevo control de usuario.
• Nueva página de propiedades.
• Archivos ya existentes.
Los controles que se usan para diseñar la interfaz de usuario y, a través de ellos,
establecer mecanismos que gestionen las tareas de una aplicación están contenidos en
lo que se denomina la Caja de Herramientas. Cuando se activa el EID de Visual Basic
se sitúan sobre ella los controles que son más utilizados en los formularios. Son los
controles básicos que se pueden observar en la Figura 1.5.
10
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
11
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
• HscrollBar. Origina un valor basado en la posición horizontal que ocupa en la barra
un cuadro que se desplaza sobre ella de izquierda a derecha o de derecha a
izquierda.
• VscrollBar. Origina un valor basado en la posición vertical que ocupa en la barra un
cuadro que se desplaza sobre ella de arriba abajo o desde abajo hacia arriba.
• Timer. Permite que se ejecuten tareas dependiendo del valor que se establezca
como demora o intervalo en este control temporizador.
• DriveListBox. Muestra las diferentes unidades de disco del puesto de trabajo o de
la red para que el usuario pueda elegir una para situarse en ella.
• DirListBox. Muestra los diferentes directorios de la unidad de disco del puesto de
trabajo o de la red seleccionada para que el usuario pueda elegir uno y situarse en
él.
• FileListBox. Muestra y permite que el usuario elija entre los archivos del directorio
elegido de la unidad actual.
• Shape. Permite incluir formas geométricas en el formulario.
• Line. Permite incluir líneas en el formulario.
• Image. Almacena y muestra una imagen. Permite además adaptar el tamaño de la
imagen al que se especifique para este control, aumentando o disminuyendo el
tamaño original.
• Data. Proporciona a través de él un enlace con tablas de archivos de bases de
datos.
• Se pulsa el botón derecho del ratón cuando el puntero esté situado sobre la Caja de
Herramientas.
• Se elige la opción Agregar Ficha de las que se muestran en el menú des- plegable
(Fig. 1.7).
• Se introduce el nombre que se quiera dar a la ficha y se pulsa Aceptar.
• Se trasvasan, pinchando y arrastrando, el componente que se quiera trasladar
desde la ficha General a la nueva ficha que se ha incluido en la Caja de
Herramientas, repitiéndose esta última operación con todos los componentes que se
quieran trasladar.
Figura 1.8.
Caja de
Herramienta
s con las
Figura 1.7. fichas
Agregar una General y
nueva ficha a Nueva en la
la Caja de que se han
Herramientas incluido
Una de las ventanas más importantes del EID de Visual Basic es la ventana de
Propiedades. Por medio de ella se pueden determinar los valores que se van a asignar
a las propiedades de los controles y del propio formulario. En esta ventana, que se
puede observar en la Figura 1 .9, se distinguen, por una parte, una lista desplegable,
situada debajo de la cabecera de la ventana, y dos páginas para poder observar las
propiedades del control que se ha elegido de los que se muestran en la lista
desplegable. Estas páginas presentan las propiedades o bien ordenadas
alfabéticamente o bien por categorías.
13
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Figura 1.9.
Ventana de
Propiedades
La ventana Proyecto
14
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Figura 1.10.
Ventanas de
Proyecto y de
Código,
activadas
ambas sobre
el EID de
Visual Basic
La ventana de Código
En la ventana de Código se realiza la escritura del código fuente de todos los módulos
.BAS así como el de los módulos que responden a los eventos de cualquiera de los
controles que componen la interfaz de usuario. Para activarla se pueden elegir dos
caminos. El primero supone realizar un doble clic con el botón activo del ratón sobre el
control cuyo código se quiere escribir, eligiendo el botón Ver código de la ventana de
Proyecto o eligiendo la opción Código del menú Ver. Esta ventana presenta en su parte
superior dos listas desplegables. La de la izquierda permite desplegar toda la lista de
los objetos que componen el formulario activo. La de la derecha visualiza los sucesos
posibles del objeto elegido en la ventana de la izquierda para los que se puede escribir
código. Si alguno de estos sucesos ya dispone de un procedimiento codificado, se
visualiza en la lista en negrilla. La edición se gestiona como con cualquier otro editor de
texto. Se puede copiar, cortar, pegar, etc. El lector podrá observar el aspecto que el
editor da al texto según sea una palabra reservada, un identificador de variable, una
línea de comentario, etc. La Figura 1.10 muestra también la ventana de código con un
procedimiento para la carga de un formulario con comentarios.
15
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
2. ELEMENTOS BASICOS DE UN PROGRAMA EN VISUAL 6.0
ELEMENTOS DE UN PROGRAMA
Puede afirmarse que cualquier programa está formado por un grupo de valores
constantes, valores variables y estructuras que procesan esos valores para producir
unos resultados. Visual Basic no es una excepción. El proceso que supone la
manipulación de unos datos de entrada para producir unos resultados se consigue a
base de lo que se denominan sentencias. Las sentencias manipulan los datos,
establecen relaciones entre ellos, buscan la identidad de unos determinados valores,
etc.
Visual Basic ignora las mayúsculas y los espacios excepto si van en un texto
entrecomillado. No obstante, Visual Basic trata de imponer sus propias reglas. Pone en
mayúsculas la primera letra de cada palabra reservada y con frecuencia añade
espacios extra para aumentar la legibilidad. Por ejemplo, cualquiera que sea la forma en
que se ha escrito la palabra Print, PRint, PrinT, print, etc., al pulsar ENTER se
convertirá en Print. Es una buena idea para lograr un método estándar de espaciado y
escritura en mayúsculas del código.
Las sentencias de Visual Basic rara vez emplean números de línea, y cada sentencia
normalmente ocupa su propia línea. Se pueden combinar sentencias en una misma
línea colocando dos puntos (:) entre las sentencias. Si se usa una línea, con más
caracteres que los que caben en una ventana, Visual Basic desplaza la ventana hacia la
derecha según lo vaya necesitando.
Las sentencias Remark (o Rem) se ponen en los programas para explicar lo que
hace el código. Es fácil poner en duda la importancia de los comentarios hasta
que se intenta modificar (o corregir) un programa que hizo otro o incluso un programa
16
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
que hizo uno mismo, pero hace varios meses. Las sentencias Remark no son ni
ejecutadas ni procesadas por Visual Basic. En consecuencia, no ocupan espacio dentro
del código compilado. Hay dos formas de indicar una sentencia Remark. La primera,
empleando la palabra clave Rem.
Como es usual, las líneas del programa están sangradas para mejorar su
legibilidad.
Todo lo que siga a una sentencia Rem será ignorado sin tener en cuenta si es
una sentencia ejecutable de Visual Basic o no. El comentar las sentencias ejecutables
es una técnica común de ayuda a la depuración de los programas.
La sentencia End
Cuando Visual Basic procesa una sentencia End el programa se para. Si se está
desarrollando un programa, se vuelve al entorno de desarrollo. El efecto es
exactamente el mismo que cuando se escoge la sentencia End del menú Run. En
programas ejecutables después de una sentencia End se cierran todas las ventanas
abiertas por el programa y se borra éste de la memoria.
Dos de las tareas más comunes del código en Visual Basic es dar valores a las
variables y establecer las propiedades. Visual Basic usa el signo igual (=) para amba
soperaciones.
17
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Basic de obtener un (nuevo) valor, o como una forma de copiar la información desde el
origen al destino.
Asignación de propiedades
Si se quiere cambiar la propiedad de un objeto Visual Basic, hay que colocar el nombre
del objeto seguido por un punto y luego el nombre de la propiedad en el lado izquierdo
del signo igual y el valor nuevo en el lado derecho:
objeto.propiedad =valor
Se tiene, por ejemplo, un botón de texto (de nombre Text1 a efectos de control)
y se quiere dejar en blanco mediante código en lugar de emplear la barra de
propiedades. Sólo se necesita una línea como la siguiente en un procedimiento de
suceso:
Text1.Text=””
Puesto que no hay nada entre las comillas, el texto asignado a esta propiedad
quedará en blanco. De una forma similar, una línea como
Text1.Text=”Hola, mundo”
Es posible cambiar los valores de las propiedades mediante código tantas ve- ces como
se quiera. Por ejemplo, si se necesita cambiar la leyenda de un botón de órdenes
denominado Commandl, se puede colocar en cualquier procedimiento de suceso una
línea como ésta:
Command1.Caption = “Salir”
Command5.TabImdex = 0
Si ahora se quiere que un formulario llamado Formi se mueva cuando se haga clic
sobre diversos botones, éste es un ejemplo de procedimiento de suceso que se puede
emplear:
Sub BotonIzquierda_Click()
Form1.Left=Form1.Left-75
End Sub
18
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Todo esto puede ser un poco confuso. Hay gente que encuentra mucho más útil
recordar que en el lado derecho de las sentencias de asignación están únicamente los
valores a introducir y en el lado izquierdo exclusivamente lo que se cambia.
Cada objeto Visual Basic tiene una propiedad por omisión (por ejemplo, las cajas de
texto tienen la propiedad Text). Para referirse a la propiedad por omisión no es
necesario usar el nombre de la propiedad. Por ejemplo, se puede introducir
Este método, sin embargo, hace que el código sea menos legible y que sea necesario
recordar cuál es la propiedad por omisión de cada control. Por ello, y debido a la
pequeña ganancia de velocidad que este método proporciona, este libro no emplea esta
característica de Visual Basic.
Propiedades lógicas
Las propiedades que sólo toman el valor True (Verdadero) o False (Falso) se
denominan propiedades lógicas. Ya se han visto muchas propiedades lógicas o
booleanas (por George Boole). Éstas especifican si un botón de órdenes es visible, si
está habilitado o si es por omisión un botón de órdenes o de cancelación• Visual Basic
tiene constantes incorporadas para estas propiedades importantes. Una sentencia
como
Command1.Visible = False
Command1.Visible = True
Si se quiere que la tecla TAB salte por encima del control mientras que se ejecuta un
programa hay que cambiar la propiedad TabStop a False.
Control.Tabstop = False
19
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Internamente, Visual Basic usa los valores 0 para False y -1 para True (en realidad vale
cualquier valor distinto de cero para True). La forma usual de cambiar entre las
propiedades booleanas es mediante el operador Not. Supóngase que se tiene en un
procedimiento de suceso una sentencia como la siguiente:
Esta sentencia funciona como sigue: Visual Basic busca el valor actual de
Commandl.Visible y luego, mediante el operador, lo cambia. Es decir, que si era True lo
pone en False, y viceversa.
Variables
Las variables en Visual Basic contienen información (valores). Siempre que se emplee
una variable, Visual Basic establece un área de la memoria del computador para
almacenar la información. Los nombres de las variables en Visual Basic pueden tener
una longitud de hasta 40 caracteres y, con tal de que el primer carácter sea siempre
una letra, pueden incluir cualquier combinación de letras, números y el subrayado. El
hecho de que el nombre de la variable esté en mayúsculas o minúsculas es irrelevante.
La siguiente tabla expone algunos posibles nombres de variables e indica cuándo son
correctos.
Basel_Bola Correcto.
Todos los caracteres de un nombre de variable son significativos, pero es indistinto que
estén o no en mayúsculas o en minúsculas. BASE es la misma variable que base. Por
otra parte, Base es una variable diferente de Base1, y ambas son diferentes de
Base_1. Sin embargo, Visual Basic cambia siempre el formato de los nombres de las
variables para reflejar el último criterio de mayúsculas que se haya empleado. Si se
emplea sucesivamente lnteréshipoteca, ¡nteréshipoteca e InterésHipoteca como
nombres de variables, cuando se salga del entorno de programación Visual Basic
automáticamente cambiará todos estos nombres a InterésHipoteca, ya que éste ha sido
el último que e ha empleado.
20
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
No es posible el empleo de los nombres reservados por Visual Basic como nombres de
variables; por ejemplo, Print no es un nombre de variable aceptable. No obstante, se
pueden insertar palabras reservadas dentro del nombre de una variable. Por ejemplo,
Print1 es un nombre de variable perfectamente aceptable.
Si se trata de usar una palabra reservada como nombre de variable, Visual Basic
presentará un mensaje de error en cuanto se pulse la tecla ENTER.
La regla más común sobre los nombres de las variables es poner en mayúsculas sólo la
primera letra de las palabras que forman parte de ellos (por ejemplo, lnterésHipoteca en
lugar de lnteréshipoteca). Esta regla se denomina nombres de /‘ variables con
mayúsculas mezcladas. Ésta es la regla que se emplea en este libro, ya que la mayoría
de la gente la considera más legible. Hay quien añade también espacios subrayados
(por ejemplo, Interés Hipoteca). Este estilo no se emplea en este libro, ya que
desperdicia espacio y, ocasionalmente, causa problemas en la depuración.
TIPOS DE DATOS
Los datos que se manipulan en una aplicación pueden ser muy variados. Se pueden
considerar como datos fijos (constantes) o datos que se pueden modificar a lo largo del
proceso (variables). En este apartado y los siguientes se estudian los tipos de datos que
se manipulan en el entorno de Visual Basic. Es cierto que existen lenguajes con un
número más amplio de tipos de datos. Visual Basic ha querido partir de la sencillez del
entorno de Basic y son muy pocos, aunque suficientes, los nuevos datos que ha
incorporado.
Visual Basic maneja once tipos estándar de datos. Son los que se describen en
los siguientes apartados.
21
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Los tipos de datos se pueden clasificar en dos grandes grupos: Datos numéricos y
Datos no numéricos. Los numéricos se dividen a su vez en enteros (cortos y largos) y
reales (de simple y de doble precisión). Los no numéricos se dividen en cadenas de
caracteres, datos de tipo lógico, de tipo fecha y datos monetarios. Todos los tipos de
datos se gestionan a través de variables.
Tipos enteros
Los datos de tipo entero no gestionanan valores con parte decimal. Pueden ser de
dos tipos: Octeto (Byte), Enteros cortos (Integer) y Enteros largos (Long).
Los datos de tipo Byte guardan valores enteros en el rango de 0 al 255. Ocupan un
Byte.
Las variables enteras de tipo Integer guardan valores enteros relativamente pequeños
(entre -32.768 hasta 32.767). La aritmética entera es muy rápida, pero está restringida a
estos márgenes. El identificador usado es el signo de tanto por ciento (%).
Las variables enteras del tipo Long es un tipo que fue introducido por Quick BASIC.
Guarda enteros entre -2.147.483.648 y +2.147.483.647. El identificador empleado es el
ampersand (&). La aritmética de los números enteros largos es muy rápida y en
máquinas actuales la pérdida de prestaciones por emplear enteros largos en lugar de
enteros ordinarios es muy pequeña o casi nula.
Tipos reales
Los tipos reales manipulan valores que no sólo guardan la parte entera sino también la
parte decimal o fraccionaria de las cantidades. Pueden ser de simple y de
doble precisión.
Double (Real de doble precisión). Las variables de doble precisión guardan números
con una precisión de 16 dígitos y permiten más de 300 de ellos. El identificador
empleado es el signo de párralo (#). Con este tipo de variables los cálculos son también
aproximados. Se puede uno fiar de los primeros 16 dígitos. Los cálculos con los
números de doble precisión son relativamente lentos. Estas variabIes se emplean en
22
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Visual Basic principalmente en los cálculos científicos debido al tipo de datos descritos
a continuación.
Tipos monetarios
Las variables de moneda (Currency) son un tipo de variable que será nuevo para
los usuarios de GW-BASIC y QuickBASlC. Se diseñaron para evitar ciertos problemas
inherentes al cambio entre las fracciones binarias y fracciones decimales. (Es imposible
hacer 1/10 u otra cosa que no sea 1/2, 1/4, 1/8, 1/16, etc.) El tipo moneda puede tener 4
dígitos a la derecha del punto decimal y hasta 14 a la izquierda del mismo. Dentro de
estos márgenes la aritmética es exacta. El identificador es el signo arroba (@), no el
signo del dólar, que identifica a las cadenas. Si bien los cálculos que no sean sumas y
restas son tan lentos como con números de precisión doble. Éste es el tipo preferido
para los cálculos financieros de un tamaño razonable. (Para aquellos que estén
interesados, este tipo emplea 5 dígitos enteros que se encuentran multiplicados por el
factor 10.000. Esto proporciona 15 lugares a la izquierda del punto decimal y 4 a la
derecha.)
Tipos de cadena
Los tipos de cadena (String) se han diseñado para guardar caracteres. El identificador
es el signo del dólar ($). Los tipos de cadena se gestionan a través de variables que
pueden, teóricamente, guardar hasta 65.535 caracteres, si bien alguna máquina puede
guardar menos debido a restricciones de memoria, necesidades de Windows o número
de variables de cadena usadas en el formulario.
Uno de los usos más comunes de las variables de cadenas es extraer la información
contenida en las cajas de texto. Por ejemplo, si se tiene una caja de texto
llamada Text1, la sentencia
ContenidoDeTexto = Text1.text
Tipos lógicos
Los datos lógicos (Boolean) posibilitan la declaración de variables que almacenen estos
valores. Ocupan dos bytes y su rango de variación es de False a True.
Los valores correspondientes a fechas y horas (Date) ocupan ocho (8) bytes y
permiten el almacenamiento de estos datos en el rango de 1/1/100 hasta el
31/12/9999.
23
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Tipos para objetos de Visual Basic
El tipo Objeto permite la incorporación como un tipo de dato el relacionado con las
clases de los objetos de Visual Basic. Se trata de objetos Ole. Ocupan 4 bytes. Sirven
para la declaración de variables que puedan referenciar controles o formularios,
crearlos y almacenar en ellas la oportuna información.
Tipos variantes
El tipo variante (Variant) fue una novedad en Visual Basic 2.0. Se diseñó para
almacenar en un lugar los diferentes datos posibles recibidos por Visual Basic. No
importa que la información sea numérica, de fecha/hora o de cadena; el tipo • variante
puede guardar todos. Visual Basic automáticamente lleva a cabo todas las
conversiones necesarias para que el programador no tenga que preocuparse de qué
tipo de dato se está almacenando en la variable. Se puede emplear una función
incorporada para determinar si los datos almacenados en la variable son numéricos de
fecha/hora o de cadena. Esta función permite al usuario comprobar fácilmente las
entradas para ver si coinciden con el formato que se desea. El empleo de los tipos
variantes en lugar de un tipo específico de variable es un poco más lento debido a las
conversiones necesarias, y hay programadores que creen que confiar en la conversión
automática de tipos de variables conduce a una programación descuidada.
CONSTANTES
Las constantes son valores que no se modifican a lo largo de todo el proceso. En Visual
Basic las constantes pueden ser literales o simbólicas.
Constantes literales
describe una constante literal limitada por los signos de las comillas. Los literales
numéricos son una sucesión de dígitos con o sin punto decimal. El literal
3,141592
describe un valor para una cantidad constante en la que el punto (.) sirve de separador
entre la parte entera y la parte decimal.
24
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Constantes simbólicas (con nombres)
Las constantes simbólicas o constantes con nombres son nombres que se pueden
utilizar en el código fuente para suplir a los valores que en la declaración de estas
constantes se les ha asignado. La declaración de una constante se realiza a
continuación de la palabra reservada Const. El siguiente ejemplo declara una constante
que va a almacenar el valor para el MEMBRETE de los documentos de una empresa.
La constante
declara la constante RaizDeDos para que, cuando se utilice en un listado, sea sustituida
por su valor.
Constantes expresión
Const CIEN=100
Const BaseMeses=l2*CIEN
están declarando constantes para el cálculo del interés simple de un capital cuando el
tiempo que se especifique para el cálculo sea en años, en meses o en días del año
comercial.
VARIABLES
Las variables como elementos del código de un programa son identificadores de una
zona de memoria que tiene que almacenar un dato que puede ser modificado a lo largo
del proceso. Las variables, aunque no sea necesario, se deben declar rante de
ldentificad )pde tene ñiáimo d4O-caracteres significativos. El nombre que se da a la
variable se suele elegir para que sugiera el valor que esa zona de memoria va a
25
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
contener. La declaración de una variabl puede ser explícita o implícita. Las
Declaraciones Explícitas utilizan diferentes formatos de declaración. Los siguientes
ejemplos
Las declaraciones implícitas suponen el uso de sufijos para la especificación del tipo.
Algunos tipos de datos no admiten declaración implícita de variables. Se declaran en
tiempo de ejecución al asignar valores a las variables. Se deberá especificar el sufijo, si
el tipo de dato dispone de él.
Los sufijos son:
SENTENCIAS
Una sentencia es una instrucción escrita en Visual Basic que indica las tareas que debe
realizar el programa. Las sentencias constan de una o varias palabras reservadas y una
sintaxis que constituyen su formato. Puede ser de dos tiposos: ejecutables o no
ejecutables. Las ejecutables avanzan el flujo de control de la lógica del programa
indicándole que debe hacer (una tarea específica); las no ejecutables realizan tareas de
declaración de constantes, tipos, identificadores de variables, etc.
26
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
La sentencia de asignación
Debe tenerse en cuenta que no se pueden asignar datos de cadena a una variable de
tipo numérico; ni asignar dígitos a una variable de tipo cadena a no ser que se les limite
por comillas ( “ ); ni asignar valores reales a variables enteras. Los siguientes son
ejemplos de asignación de valores a variables.
Altura = 12.30
Base = 10.80
Area = Base * Altura
En los ejemplos se asigna el valor 12.30 a la variable Altura, 10.80 a la variable Base
(en ambos casos los valores son literales numéricos) y el valor que devuelve la
expresión Base * Altura a la variable Area.
Operadores aritméticos
27
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
- negación de resultados (valores opuestos a los devueltos por la expresión)
*,/ producto o cociente real (prioridad para el situado más a la izquierda)
/ cociente entero
mod módulo o resto de la división entera
+,- suma o resta (prioridad para el situado más a la izquierda)
La división entera que se consigue con el operador \ devuelve la parte entera del
cociente de dos números. Y el operador mod devuelve el resto de la división entera.
En la siguiente expresión
4 * 5 - 12 mod 3 * 2 + 8
28
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
• Deberá tenerse muy en cuenta cerrar bien los paréntesis que se pongan para
establecer prioridades porque si no es así, se producirá
error, o un resultado que no es el previsto.
OPERACIONES DE ENTRADA/SALIDA
Los procesos precisan, en su mayoría, la introducción de información desde un
periférico de entrada (normalmente, el teclado) y la salida de los resultados
conseguidos, a través de otro periférico. Estos procesos reciben el nombre genérico de
procesos de Entrada/Salida (la escritura de resultados y lectura de los datos que se van
a procesar).
29
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
30
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Private Sub
‘Declaración de las variables que se van a utilizar
Dim Respuesta As String
Dim Valor As Integer
‘Asignación a la variable Respuesta del valor devuelto
Respuesta = Ucase$(InputBox$(”Su C.C.”, “Datos del usuario”))
‘Asignación a la variable Valor del valor devuelto
Valor = MsgBox(”Su C.C. es “ & Respuesta, vbyesNoCancel,
“Confirme dato”)
‘Estructura selectiva alternaEiva para el siguiente mensaje
If Valor = vbYes Then
MsgBox “Correcto”, vbcritical, “Mensaje”
Else
MsgBox “Deberá introducir su D.N.I. de nuevo”, vbCritical,
“Mensaje”
End If
End Sub
31
GUIA PRACTICA DE VISUAL BASIC 6.0 20 de mayo de 2007
Como se puede observar en el listado anterior, la gestión de las entradas y salidas en
Visual Basic son muy sencillas. Las dos siguientes líneas usan MsgBox como sentencia
sin esperar que se devuelva valor alguno aunque se pulse el botón aceptar que
presentan.
MsgBox “Correcto”, vbCritical, “Mensaje”
Sin embargo, las dos líneas siguientes utilizan funciones que, si se aceptan o
no se aceptan, devuelven, indefectiblemente, un valor o bien de cadena (a la
variable Respuesta) o bien numérico (a la variable Valor).
32