Professional Documents
Culture Documents
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
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®.
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.
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.
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.
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
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.
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.- 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
8
Partes del Entorno Integrado de Desarrollo (IDE) de Visual Basic
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.
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.
10
5.5 Barras de herramientas
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
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".
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".
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".
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.
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.
Botón Control
Cuadro de texto
Botón de comando
1. Haga clic en la herramienta del control que ha elegido dibujar; en este caso el
cuadro de texto.
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.)
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.
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.
1. Seleccione el control que quiera cambiar el tamaño; para ello, haga clic en él con
el mouse.
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.
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.
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.
–o bien– Puede cambiar las propiedades Top y Left del control en la ventana
Propiedades.
17
La interfaz de la aplicación "¡Hola, mundo!"
La ventana Propiedades
18
La ventana Propiedades presenta los valores del formulario o control
seleccionado.
En el ejemplo "¡Hola, mundo!" necesitará cambiar los valores de tres propiedades. Use
el valor predeterminado para las demás propiedades.
Establecer propiedades
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.
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.
Puede elegir presentar todos los procedimientos en la misma ventana Código o presentar
un único procedimiento cada vez.
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.
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".
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).
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.
22
7.1 Almacenar y recuperar datos en 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:
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.
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.
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.
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.
Option Explicit
–o bien–
Function SafeSqr(num)
Dim TempVal
TempVal = Abs(num)
SafeSqr = Sqr(TemVal)
End Function
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 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.
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.
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:
Puede colocar más de una declaración de constante en una única línea si las separa con
comas:
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:
Una vez que defina las constantes, puede colocarlas en el código para hacerlo más legible.
Por ejemplo:
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 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.
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.
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.
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.
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".
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
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).
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.
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
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".
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)
String * tamaño
Por ejemplo, para declarar una cadena que tiene siempre 50 caracteres de longitud, utilice
un código como este:
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.
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.
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.
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.
32
' Comprueba si la cinta está en marcha.
If Recorder.Direction = 1 Then
blnEjecutando = True
End if
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.
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.
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:
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.
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:
Si bien puede realizar operaciones con variables Variant sin saber exactamente el tipo de
dato que contienen, hay algunas trampas que debe evitar.
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.
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.
Z = Null
Puede usar la función IsNull para probar si una variable Variant contiene un Null:
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".
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
37
Objeto Propiedad Valor
38
End Sub
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.
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.
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.
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.
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.
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.
Value True
41
Value True
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.
Cada vez que se selecciona un nuevo botón de opción, el código de su evento Click
actualiza la variable apropiada:
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
Para obtener más información Las variables y procedimientos Sub se explican con
más detalle en "Fundamentos de programación".
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 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".
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
Image
Data
45
Permite la conexión con una base de datos y poder añadir, modificar, consultar,
borrar, etc..
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.
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
14.1.7 Checked
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
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.
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.
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ú.
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ú.
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
14.2.17 Insertar
14.2.18 Eliminar
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
49