0% encontró este documento útil (0 votos)
2 vistas72 páginas

VisualBasic Inicial

El documento presenta una introducción a los entornos de programación visual, destacando la evolución desde lenguajes tradicionales hacia lenguajes visuales como Visual Basic, que facilitan el desarrollo de aplicaciones mediante interfaces gráficas. Se describen los componentes del entorno de desarrollo integrado (IDE) de Visual Basic, así como conceptos básicos como formularios, proyectos, clases, objetos, eventos, métodos y tipos de datos. Además, se abordan aspectos sobre la definición y uso de variables y constantes en el contexto de la programación en Visual Basic.

Cargado por

el.proferc2585
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas72 páginas

VisualBasic Inicial

El documento presenta una introducción a los entornos de programación visual, destacando la evolución desde lenguajes tradicionales hacia lenguajes visuales como Visual Basic, que facilitan el desarrollo de aplicaciones mediante interfaces gráficas. Se describen los componentes del entorno de desarrollo integrado (IDE) de Visual Basic, así como conceptos básicos como formularios, proyectos, clases, objetos, eventos, métodos y tipos de datos. Además, se abordan aspectos sobre la definición y uso de variables y constantes en el contexto de la programación en Visual Basic.

Cargado por

el.proferc2585
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Cliente: LUCENT TECHNOLOGIES

INTRODUCCION

& ENTORNOS DE PROGRAMACION VISUALES.


Los entornos de programación hasta hace relativamente poco, han llevado una lenta
evolución. Lenguajes como Fortran, Cobol y Basic que generaban una compilación por línea,
dejaron paso a los entornos de desarrollo integrados, donde se unificaban en uno los editores,
depuradores, etc. Pero es el nacimiento de la plataforma Windows el que revoluciona el concepto
de programación pasando a los llamados lenguajes de programación visual.

Estos lenguajes se caracterizan sobre todo en que el programador desarrolla su aplicación


básicamente partiendo del diseño de una interfaz de trabajo. Se crea una ventana (formulario) y
se va colocando sobre ella todos los objetos que simbolicen datos o acciones que se han de llevar
a cabo. Sobre esos objetos se van asociando una serie de propiedades y módulos de código.

Todas las acciones que implica una programación visual orientada a objetos, reduce
significativamente el tiempo de desarrollo. Muchas de las acciones que antaño debían ser
definidas (ratón, impresora, pantalla, etc.), pueden ser olvidadas, ya que la gestión la realiza de
manera automática Windows.

& VISUAL BASIC.


Visual Basic fue uno de los primeros lenguajes de programación visual, el cual pretendía
facilitar el desarrollo de programas Windows para los desarrolladores. Pero ¿qué es Visual
Basic?. La palabra Visual hace referencia a la manera de trabajo que se utiliza para crear lo que
se llama la Interfaz gráfica de usuario (GUI). Esto implica que en lugar de escribir múltiples
líneas de código para definir los objetos de la interfaz, simplemente habrá que arrastrar, colocar y
redimensionar una serie de objetos prediseñados a la ventana de trabajo. La palabra Basic hace
referencia al lenguaje del mismo nombre.

El lenguaje de programación Visual Basic no es exclusivo del entorno de programación.


Existen ediciones para generar módulo en Excel, Access, etc.

Manual de Microsoft Visual Basic® v. 5 Pág. 1 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CONCEPTOS BASICOS

& ENTORNO DE TRABAJO.


El entorno de trabajo en Visual Basic, se le suele llamar Entorno integrado de desarrollo
o IDE, ya que integra múltiples funciones diferentes tales como el diseño, modificación,
compilación y depuración en un mismo entorno común. Utilizando una herramienta más
tradicional, cada una de estas funciones trabajaría como un programa diferente con interfaces
independientes.

INICIO DE VISUAL BASIC

Para iniciar el compilador, habrá que acudir al botón Inicio de la barra de tareas,
Programas – Visual Basic 5.

ELEMENTOS DEL ENTORNO INTEGRADO DE DESARROLLO

El entorno integrado de desarrollo de Visual Basic cuenta con una serie de elementos:

Manual de Microsoft Visual Basic® v. 5 Pág. 2 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

BARRA DE MENUS Y MENUS CONTEXTUALES

Los menús de Visual Basic, presentan los comandos de trabajo. Además de los menús
estándar de Archivo, Edición, Ver, Ventana, y Ayuda, se presentan otros con funciones
específicas de programación como Proyecto, Formato y Depuración.

Los menús contextuales contienen acciones directas que se realizan con frecuencia. Estos
menús se presentan haciendo clic con el botón secundario (derecho) del ratón en el objeto en uso.
Las opciones contextuales variarán dependiendo del objeto editado.

BARRAS DE HERRAMIENTAS

Los botones de las barras de herramientas, permiten un acceso rápido a los comandos
utilizados normalmente en el trabajo con el compilador. Las barras de herramientas de Visual
Basic, se podrán hacer visibles o no mediante el menú Ver – Barras de herramientas o con el
botón secundario del ratón sobre cualquier visible.

Las barras de herramientas son flotantes. Eso quiere decir que el cualquier momento se
podrán desplazar a cualquier punto de la pantalla simplemente arrastrándolas y dejándolas
“flotando” en el lugar deseado.

CUADRO DE HERRAMIENTAS

El cuadro de herramientas es una ventana contenedora de los controles que se utilizarán en


el diseño de los formularios. Para realizar la inserción de un control, habría que seleccionarlo
dentro de este cuadro y definirlo en el formulario. Con el menú contextual que se presenta aquí,
habrá posibilidad de modificar los controles e incluso de añadir un nuevo cuadro de herramientas
personalizado con la opción Agregar ficha y añadir a la misma los controles deseados con la
opción Componentes.

EXPLORADOR DE PROYECTOS

Un proyecto es una colección de archivos que se utiliza para generar una aplicación. Esta
ventana presenta los formularios y módulos del proyecto actual.

VENTANA PROPIEDADES

Esta ventana numera los valores de las propiedades del control o formulario seleccionado.
Una propiedad se define como una característica de un objeto. Desde esta ventana se podrán
definir y modificar muchas de las cualidades de un objeto.

Durante la fase de diseño, será necesario trabajar con las propiedades. Para ello, esta
ventana cuenta con dos partes bien diferenciadas. En su parte izquierda, se presenta el nombre de
la propiedad que es inmodificable y a la derecha su valor actual. Este valor podrá ser modificado

Manual de Microsoft Visual Basic® v. 5 Pág. 3 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

escribiendo un nuevo valor o si la propiedad lo permite, seleccionándolo de una lista. Puede


suceder que el nuevo valor sea el nombre de un archivo en disco, para ello Visual Basic
presentará opciones para su localización.

DISEÑADOR DE FORMULARIOS

El diseñador de formularios, funciona como una ventana donde se irá personalizando el


diseño de la interfaz de la aplicación. Es el lugar donde se añadirán los controles, gráficos e
imágenes para conseguir el aspecto deseado.

VENTANA POSICION DEL FORMULARIO

Permite ubicar los formularios de la aplicación utilizando una referencia en la pantalla.

VENTANA EDITOR DE CODIGO

Ventana que en principio aparece oculta, será la encargada de recibir el código de la


aplicación. Esta ventana será creada para cada elemento de la aplicación.

& COMENTARIOS.
Un comentario es escritura no ejecutable dentro de la ventana de código. La finalidad de
estos, es aclarar cual es la finalidad de ciertos métodos utilizados. Este tipo de ayuda en código
clarifica al programador y a cualquier persona que revise el programa de cuales son los procesos
que se están llevando a cabo. Para introducir un comentario incluso en líneas de código escritas,
sólo habrá que introducir el carácter ‘ seguido del texto a introducir. Este texto lo presentará por
defecto la aplicación en color verde.
Print “Hola” ‘Este código presenta en pantalla el texto Hola

& FORMULARIOS.
Es el punto central de cualquier aplicación Visual Basic. Un formulario es una ventana
Windows donde pondremos los controles necesarios para crear el interfaz de usuario de la
aplicación. Por defecto cuenta con los controles básicos tales como la barra de título, botones de
maximizar y minimizar y control de menú. Sus propiedades pueden ser modificadas durante el
diseño de la aplicación.

Un formulario en sí mismo tiene poca utilidad si no ubicamos en él los controles


necesarios.

Manual de Microsoft Visual Basic® v. 5 Pág. 4 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& PROYECTOS.
Al conjunto de formularios con sus controles y métodos, módulos de código y cualquier
otro archivo necesario para nuestra aplicación, se le llama Proyecto. La aplicación presenta un
explorador con una lista en la que se pueden ver los archivos que la forman (es posible en un
proyecto añadir elementos existentes de otras aplicaciones).

Desde la vent ana de proyecto, se podrá seleccionar cualquiera de los componentes de la


aplicación haciendo doble clic sobre él, abriéndose una ventana que permitirá su edición.

& CLASES Y OBJETOS.


Una Clase es una plantilla del objeto que deseamos crear. Para crearlo debemos insertar
un módulo de clase. Cuando en nuestra aplicación necesitemos un objeto de esa clase, lo
creamos y tomará la definición efectuada previamente en su clase.

Un Objeto es algo muy superior a un procedimiento o función ya que posee propiedades


propias al igual que cualquier control de Visual Basic.

& EVENTOS Y METODOS.


EVENTOS

Windows es un sistema gestionado por eventos, los cuales son a su vez generados por
aciones exteriores por parte del usuario. En est sentido, un evento es una acción reconocida por
un formulario o control. Las aplicaciones controladas por eventos ejecutan código Visual Basic
como respuesta a los mismos. Cada control que se introduce en un formulario (y el formulario
mismo) puede recibir una serie de eventos siendo la respuesta a ese evento el código asociado.
Por tanto, si se desea que un control responda a un evento, habrá que escribir para él las líneas de
código necesarias.

Si por ejemplo escribimos código para modificar el título de un formulario asociado a una
acción clic de un botón, cuando se produzca el evento clic sobre dicho botón, se ejecutará las
instrucciones precisas para la acción. El resultado del evento será el cambio de título.

METODOS

Un método será una serie de procedimientos de respuesta a un evento. Estos


procedimientos o funciones, se podrán invocar y estarán definidos para ser un miembro de una
interfaz. El procedimiento para realizar el cambio de título en el caso anterior sería su método.

Manual de Microsoft Visual Basic® v. 5 Pág. 5 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& PROCEDIMIENTOS Y FUNCIONES.


Además del código contenido en los eventos, es posible que una aplicación tenga que hacer
otro tipo de operaciones que no es adecuado incluir en los métodos. En estos casos lo que se hace
es crear un Módulo de código e incluir en él lo necesario, estructurado en procedimientos y
funciones.

Un Procedimiento, es un conjunto de líneas de código al que se le asigna un nombre que se


usa después para ejecutar ese código.

Una Función es idéntica a un procedimiento, con la diferencia que ésta devuelve un valor
al acabar la ejecución.

Tanto unas como otras, permiten el uso de parámetros, lo que posibilita el paso de datos sin
tener que usar variables globales.

Dentro de una aplicación podemos tener tantos módulos de código como deseemos.
Cuando un procedimiento o función llame a otra de un módulo diferente, no será posible a no ser
que este último sea público.

& ASOCIAR CODIGO A EVENTOS.


Una vez diseñado los formularios con los controles y modificadas sus propiedades,
tendremos ya creada la interfaz de la aplicación y quedará el último paso del diseño que será la
inserción de código, proceso necesario para el funcionamiento de la aplicación dotándola de
métodos, procedimientos y funciones. Para insertar código asociado a un objeto o formulario, en
primer lugar habrá que abrir la ventana de código. Esto se podrá realizar de diferentes maneras:

ü Haciendo doble clic sobre el objeto o formulario.

ü Elegir la opción Ver código del menú contextual del objeto.

ü Botón Ver código de la


ventana de Explorador de
proyectos.

ü Menú Ver – Código.

El aspecto que present a la


ventana será el siguiente:

Manual de Microsoft Visual Basic® v. 5 Pág. 6 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

En la ventana de código existen dos desplegables que permitirán seleccionar el objeto al


cual asociar el método (aunque por defecto se presenta el actual) y el procedimiento o evento
que tendrá que suceder para que el método se ejecute. El procedimiento que presenta por defecto
la ventana de código será el habitual para el tipo de objeto seleccionado.

Entre el bloque Sub – End Sub que escribe la aplicación, deberán de incluirse las
instrucciones, en lenguaje Visual Basic, que formen el método.

Si editando un método se desea escribir código para otro elemento, no será necesario cerrar
la ventana y activarla de nuevo, sino que usando los desplegables de objeto y procedimiento será
posible situarse en el lugar de la aplicación deseado.

La introducción del código lleva asociado una serie de colores según el tipo de elemento
que esté introduciendo. Esta combinación de color, así como las fuentes empleadas se podrá
modificar desde el menú Herramientas – Opciones – Formato del editor.

& TIPOS DE DATOS.


Los valores Variables son marcadores de posición que se utilizan para almacenar valores.
Estas tienen un nombre y un tipo de datos. El tipo de dato de la variable determina como se
almacenan los bits en la memoria del sistema.

TIPOS DE DATOS NUMERICOS

Visual Basic proporciona al programador varios tipos de datos numéricos que podrán ser
definidos en los datos variables dependiendo de los valores que se vayan a almacenar, estos son:

Byte Enteros en el rango de 0 a 255

Integer Enteros en el rango –32768 a 32767

Long Entero largo de –2147483648 a 2147483647

Single Signo flotante de simple precisión

Double Signo flotante de doble precisión

Currency Entero con punto decimal fijo

Manual de Microsoft Visual Basic® v. 5 Pág. 7 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

OTROS TIPOS DE DATOS

Además de los datos numéricos, Visual Basic proporciona otros datos para almacenar
cualquier tipo de información. Son los siguientes:

String Almacena una cadena de texto de longitud fija o variable

Boolean Contiene un valor lógico True o False

Date Almacena fechas entre 1/1/100 a 31/12/9999

Object Almacena una dirección que hace referencia a un objeto

Variant Cualquier tipo de dato del sistema (realiza las conversiones necesarias)

Manual de Microsoft Visual Basic® v. 5 Pág. 8 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

VARIABLES Y CONSTANTES

& VARIABLES.
Una VARIABLE es un valor que tomará una parte de la aplicación en un momento
determinado, dependiendo de una entrada de datos específica por parte del usuario, de la
aplicación o del sistema. Visual Basic, define las variables antes de ser usadas. Esto permite
clarificar el código y eliminar errores.

Aunque también permite es uso de Variables Indefinidas, si queremos que genere un error
cuando esto suceda usaremos la sentencia Options Explicit. Este efecto se puede configurar
igualmente desde el menú Herramientas - Opciones – Requerir declaración de variables.

El valor por defecto que toma una variable, depende del tipo de variable de que se trate. Si
es numérica (de cualquier tipo) será 0, si es cadena será cadena vacía, si es fecha 0/0/0, si es
boolean será false y si es variant el valor será empty.

& DEFINICION DE VARIABLES: SENTENCIA DIM.


Con la sentencia DIM obtenemos la forma más común de definir una variable:

DIM <nombre de la variable> AS <tipo de la variable>

Al usar DIM, el ámbito de la variable dependerá del lugar donde se halla definido:

ü Al principio de un módulo: El ámbito queda restringido a ese módulo. Cualquier


procedimiento o función que exista en ese módulo podrá hacer uso de ella pero no en otro.
Se crea al principio de la ejecución y se destruye al finalizar la aplicación.

ü En el cuerpo de un procedimiento o función: Será una Variable Local, es decir,


será válida para ese procedimiento única y exclusivamente. El tiempo de vida de esta
variable será el de ejecución. Se crea al ser usada y se destruye al abandonar el
procedimiento, liberando así la memoria usada.

La sentencia PRIVATE puede sustituir a DIM en declaraciones al nivel de módulo pero


no al nivel de procedimiento.

Manual de Microsoft Visual Basic® v. 5 Pág. 9 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

VARIABLES GLOBALES

Son utilizadas cuando una variable necesita estar disponible más allá del ámbito de un
procedimiento y un módulo, es decir, que puede ser utilizada desde cualquier punto de la
aplicación.

Para ello se utiliza la sentencia PUBLIC:

PUBLIC <nombre de la variable> AS <tipo de variable>

No será posible definirla en un procedimiento o módulo y la vida de la variable será toda la


ejecución de la aplicación.

VARIABLES ESTATICAS

Una variable estática, es aquella que, aún siendo local, se crea al arrancar la aplicación y se
destruye al cerrarla. De tal forma, el valor que tome la variable, se mantendrá hasta la próxima
llamada. Para declarar una variable estática se utilizará la siguiente expresión:

STATIC <nombre de la variable> AS <tipo de variable>

& NOMENCLATURA DE VARIABLES.


Un nombre de variable debe comenzar siempre con una letra seguido de hasta 39
caracteres (letras, dígitos, subrayado). No se realiza diferenciación entre mayúsculas y
minúsculas. Si declaramos una variable y no definimos su tipo, por defecto será VARIANT.

& CONSTANTES.
Una CONSTANTE no es más que un nombre, como el de una variable al que se le asigna
un valor que no podrá ser modificado posteriormente. Esto posibilita trabajar con un nombre
descriptivo en lugar de con el dato directamente.

Una constante podrá ser definida en cualquier ámbito de la misma forma en la que se
define una variable. En lugar de utilizar las sentencias Dim, Public o Static, se utilizará Const
seguido del nombre de la constante y su tipo

CONST <nombre de la variable> AS <tipo de la variable>

Manual de Microsoft Visual Basic® v. 5 Pág. 10 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

MANIPULACION DE DATOS

& OPERADORES.
Para realizar la mayor parte de las operaciones, es necesario construir expresiones sobre la
base de unos operandos y a unos operadores que resolverán un resultado. Los operadores podrán
ser número, cadenas, fechas, etc. Los operadores que utiliza Visual Basic podrán ser de
diferentes tipos:

OPERADORES ARITMETICOS

Estos operadores realizan el conjunto de operaciones matemáticas básicas. Cualquiera de


estos operadores siempre toma dos operandos y genera un resultado numérico. Estos son:

+ Suma de N1 y N2

- Diferencia de N1 y N2

* Multiplica N1 por N2

/ Divide N1 entre N2

\ Divide N1 entre N2 sin decimales

^ Eleva N1 al exponente N2

Mod Resto de la operación N1 \ N2

Estos operadores trabajan sobre cualquier tipo de dato numérico, aunque habrá que tener
precaución con las operaciones que generen decimales.

OPERADORES RELACIONALES

Estos operadores permiten evaluar expresiones y devolver una respuesta lógica, es decir,
True (si la expresión es cierta o el resultado es distinto de cero) o False (si la expresión es falsa o
devuelve cero).

Gracias a estos operadores se podrán comparar números, cadenas y fechas.

Manual de Microsoft Visual Basic® v. 5 Pág. 11 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

= Igual a

<> Distinto de

< Menor que

> Mayor que

<= Menor o igual a

>= Mayor o igual a

OPERADORES LOGICOS

Los operadores lógicos permiten crear expresiones donde entran en juego más de dos
operandos y más de un operador. En estos casos será necesario unir las diferentes subexpresiones
por medio de operadores de este tipo, para conseguir expresiones más complejas. La siguiente
tabla muestra los distintos operadores con los diferentes valores que devuelven.

Operador Devuelve True si Devuelve False si

And E1=True y E2=True En cualquier otro caso

Or E1=True o E2=True E1=False y E2=False

Xor E1=True y E2=False o E1=True y E2=True o

E1=False y E2=True E1=False y E2=False

Eqv E1 es igual a E2 E1 es distinto de E2

Imp E1=True y E2=True o E1=True y E2=False

E1=False y E2=True o

E1=False y E2=False

Not E1=False E1=True

& TRABAJO CON CADENAS.


Visual Basic dispone de un amplio conjunto de funciones que permitirán realizar istintas
operacio nes con cadenas. Estas son:

Manual de Microsoft Visual Basic® v. 5 Pág. 12 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

LEFT Extrae caracteres contando de derecha a izquierda


RIGHT Extrae caracteres contando de derecha a izquierda
MID Extrae caracteres en cualquier punto de la cadena
LTRIM Elimina espacios al principio de una cadena
RTRIM Elimina espacios al final de una cadena
TRIM Elimina espacios tanto al principio como al final
LCASE Convierte las mayúsculas en minúsculas
UCASE Convierte las minúsculas en mayúsculas
STRCONV Convierte una cadena según opción
SPACE Genera una cadena de espacios
STRING Genera una cadena de un cierto carácter especificado
LEN Devuelve la longitud de una cadena
INSTR Busca una cadena en el interior de otra cadena
& Concatena cadenas

& MATRICES.
Las matrices son una forma de poder trabajar con múltiples valores del mismo tipo y
relacionados entre sí. Son variables con un único nombre pero con múltiples valores a los que es
posible acceder gracias a un índice puesto entre paréntesis, a continuación del nombre de la
variable. La declaración es idéntica a la de cualquier variable con la diferencia que detrás del
nombre se dispondrá entre paréntesis el índice superior. Por ejemplo, para declarar una matriz de
10 elementos Integer llamada Datos, la declaración será:

Dim Datos(9) As Integer

En la anterior declaración, el límite se ha puesto a nueve, ya que por defecto los índices
comienzan en el cero. Para modificar esto, es posible presentar al principio del módulo o
formulario la sentencia Option Base 1.

También es posible realizar una declaración marcando los límites inferior y superior. Para
ello dispondremos entre los índices la partícula To. La matriz quedaría como sigue:

Dim Datos(1 To 10) As Integer

Manual de Microsoft Visual Basic® v. 5 Pág. 13 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ACCEDER A LOS ELEMENTOS DE UNA MATRIZ

Para acceder a cualquier elemento de una matriz, sólo habrá que especificar su nombre y
entre paréntesis el número del elemento deseado. Si no se conocen los límites de la matriz, estos
se podrán obtener con LBound (límite inferior) y UBound (límite superior) a los que se le pasará
el nombre de la matriz.

MATRICES MULTIDIMENSIONALES

Cuando se trabaja con matrices de una única dimensión, los datos se pueden representar
como una lista, pero en caso necesario se podrán definir matrices con más de una dimensión,
separando los límites de una dimensión y la de otra con comas. Si por ejemplo se quiere definir
una matriz con cien elementos llamada Datos de tipo Integer, la declaración será como sigue:

Dim Datos(1 To 10, 1 To 10) As Integer

Para averiguar los límites de las dimensiones se utilizará igualmente LBound y UBound,
donde además de pasar el nombre de la variable se facilitará como segundo parámetro el número
de la dimensión.

Manual de Microsoft Visual Basic® v. 5 Pág. 14 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

FORMULARIOS

& EL FORMULARIO.
El formulario, será el punto de partida de cualquier aplicación. Básicamente es un ventana
estándar de Windows en la que se podrán insertar los controles necesarios para la manipulación
de la información. Al comenzar un nuevo proyecto, Visual Basic crea y presenta un nuevo
formulario. Este como cualquier otro presenta una serie de propiedades que se podrán definir y
modificar desde la ventana propiedades.

& PROPIEDADES DEL FORMULARIO.


Todos los controles que se pueden utilizar llevan asociados una serie de propiedades.
Todas podrán ser modificadas en la fase de diseño, pero sólo algunas lo serán en ejecución. La
ventana de propiedades presentará todas las disponibles con los valores asignados por defecto,
donde existirá la posibilidad de modificarlos. En unas ocasiones, las propiedades coinciden para
diferentes controles y en otras serán exclusivas. Las más importantes que se aplican a un
formulario son:

ü Name: Nombre asignado al formulario. Este nombre será el que habrá que referenciar
en el código de la aplicación.

ü Caption: Título de la ventana. Texto que aparecerá en el control sin correspondencia


con el código.

ü ControlBox: Permite o no que la ventana cuente con un menú de sistema (maximizar,


minimizar y cerrar). También se pueden modificar estos botones desde las propiedades
MinButton y MaxButton.

ü BorderStyle: Modifica el borde de la ventana, permitiendo además que sea


redimensionable o no.

ü Appearance: Aplica o no un efecto tridimensional a la ventana.

ü AutoRedraw: Permite redibujar de manera automática el formulario cuando es ocultado


por otros controles. Esta información la mantiene en memoria.

ü BackColor: Asigna un color de fondo al formulario.

Manual de Microsoft Visual Basic® v. 5 Pág. 15 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Enabled: Permite decidir si el formulario se encuentra activado o no. Si lo está se


podrá interaccionar con él, en caso contrario el usuario no lo podrá utilizar.

ü ForeColor: Asigna un color de primer plano al formulario.

ü Font: Define la fuente a utilizar por el formulario. Esta será asignada por defecto a
todos los controles insertados en él.

ü Height / Width: Almacena la altura / anchura del


formulario fijando sus dimensiones. Por lo general estas
se definen a mano y los valores pasan de forma
automática a estas propiedades.

ü Icon: A esta propiedad se le podrá asignar el nombre de


un archivo de icono que será presentado por la ventana.

ü KeyPreview: Asignándole el valor True, conseguimos


que las pulsaciones de teclado no procesadas por el
control activo pasen directamente al formulario.

ü MousePointer: Asigna una forma específica al icono del


ratón.

ü Moveable: Permite mover o no el formulario en tiempo


de ejecución.

ü Picture: Asigna un gráfico como fondo del formulario.

ü Top / Left: Establece la posición vertical / horizontal del


formulario.

ü Visible: Permite que el formulario está visible o no


cuando se ejecute la aplicación.

ü WindowsState: Permite asignar el estado de la ventana.


Definido por el usuario, maximizada o minimizada.

& CONTROLES.
INSERCION DE CONTROLES

Visual Basic proporciona a los formularios un cuadro de herramientas, contenedor de


objetos que podrán ser insertados en y manipulados.

Manual de Microsoft Visual Basic® v. 5 Pág. 16 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

La herramienta seleccionada por defecto, será el Puntero cuya misión será el poder tratar
cualquier control seleccionándolo, moviéndolo, redimensionándolo, etc.

Para la inserción de un control en un formulario, habrá que seleccionarlo con el puntero y


describir sobre el formulario la zona que ocupará. Una vez introducido, se regresará por defecto
de nuevo al puntero. Si sobre un control insertado, se realiza un arrastre de ratón, este se
desplazará a lo largo del formulario, pero si se actúa sobre cualquiera de sus paredes, el control
modificará su tamaño. Haciendo doble clic sobre un control, se realiza una llamada a la ventana
de código sobre la cual se podrán definir los métodos específicos a distintos eventos del mismo.

CUADRICULA

Los formularios presentan por defecto una cuadrícula o rejilla (solo disponible en diseño)
que permitirá una correcta alineación de los controles. El formato de
la misma se podrá controlar desde el menú Herramientas –
Opciones y acudiendo a la ficha General. Las opciones de la
cuadrícula permiten que sea visible o no, que los controles se ajusten
a ella de manera automática o no y definir para ella un tamaño
específico.

Si la caja Forzar controles a cuadrícula está activa, la


colocación y redimensión de un control, se ajustará de forma automática al formato de la misma.

MENU EMERGENTE DE UN CONTROL O FORMULARIO

Sobre cualq uier control o formulario, se podrá hacer (en diseño) un clic con el botón
secundario del ratón. Visual Basic presentará un menú de contexto en cada caso donde se podrán
realizar diferentes acciones.

Sobre un control

ü Cortar / Copiar: Realizar una copia / cortado de dicho control (incluidas sus
propiedades) al portapapeles de Windows.

Manual de Microsoft Visual Basic® v. 5 Pág. 17 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Pegar: Inserta el control contenido en el portapapeles en un formulario, permitiendo


incluso crear matrices de controles. Esta opción permite importar controles de otros
formularios.

ü Quitar: Elimina un control con sus propiedades y código del formulario.

ü Traer al frente / Enviar hacia atrás: Modifica la posición relativa de un control


respecto a otros.

ü Ver código: Abre la ventana de código y presenta la zona concreta del control.

ü Alinear a la cuadrícula: Ajusta el control a la cuadrícula del formulario, si la opción


forzar controles la cuadrícula del menú de opciones se encuentra desactivado.

ü Propiedades: Presenta la ventana de propiedades del control, si no se encuentra en


pantalla.

Sobre un formulario

ü Ver código: Presenta la ventana de código de la aplicación en la zona concreta del


formulario.

ü Editor de menús: Abre el editor de menús para definir el correspondiente al formulario.

ü Bloquear controles: Cuando los controles están correctamente insertados sobre el


formulario, esta opción los mantiene bloqueados, es decir, imposibilita que puedan ser
desplazados de su posición actual. Cualquier control introducido posteriormente
quedará bloqueado tras su inserción.

Manual de Microsoft Visual Basic® v. 5 Pág. 18 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Propiedades: Presenta la ventana de propiedades del formulario si esta no se encuentra


en pantalla.

ü Actualizar controles de usuario: Actualiza las modificaciones de los posibles controles


creados por el programador insertados en el formulario.

AÑADIR CONTROLES DEL CUADRO DE HERRAMIENTAS

Para añadir nuevos controles al cuadro de herramientas, se accederá al menú Proyecto –


Componentes o a la opción del mismo nombre del menú contextual del cuadro. Visual Basic
presentará un cuadro de diálogo con
la lista de los componentes
registrados en Windows que podrán
ser insertados en los formularios. Para
que un nuevo control se inserte en el
cuadro de herramientas y se ponga a
disposición de la aplicación, se hará
clic sobre su nombre y sobre el botón
de aplicar. El nuevo componente
pondrá a disposición sus propiedades
específicas que serán tratadas de la
misma forma que cualquier otro.
Desde la hoja Objetos insertables,
existirá la posibilidad de incrustar en
la aplicación cualquier objeto de Windows, creándose un nuevo componente que realizará una
llamada a un programa en concreto donde se recuperará un fichero del tipo solicitado.

& PRESENTACION DEL FORMULARIO.


Si el programa creado dispone de un único formulario, no es necesario preocuparse por
mostrarlo o esconderlo, ya que esto se realizará de manera automática al iniciarse y concluirse la
aplicación. Pero si el programa contiene más de uno, habrá que introducir código que permita
gestionar su apertura y clausura.

La aparición y desaparición de formularios, están controlado por dos instrucciones (load y


unload) y dos métodos (show y hide).

ü Load: Guarda el formulario en memoria donde se podrá acceder a él y modificar sus


propiedades, pero esta instrucción no lo muestra (p.e. Load Form1).

ü Show: Este método muestra el formulario en pantalla independientemente de que


previamente haya sido cargado en memoria o no (p.e. Form1.Show).

Manual de Microsoft Visual Basic® v. 5 Pág. 19 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Hide: Este método elimina el formulario de pantalla pero lo mantiene en memoria, con
lo cual, seguirá sujeto a posibles modificaciones.

ü Unload: Gracias a esta instrucción, conseguimos eliminar el formulario de pantalla y


de memoria independientemente de si antes se utilizó un hide (p.e. Unload Form1). Si
se utiliza esta instrucción en el formulario que estamos utilizando, podrá usarse la
palabra clave Me para especificarlo y reducir el riesgo de errores (p.e. Unload Me).

& AÑADIR NUEVOS FORMULARIOS.


Cuando se quiera que una aplicación contenga varios formularios, estos deberán de ser
creados en el tiempo de diseño. Cada formulario insertado en la aplicación, tendrá unas
propiedades y controles independientes del resto.

Para adjuntar nuevos formularios a un proyecto se pueden utilizar dos caminos:

ü Abrir el menú Proyecto – Agregar formulario.

ü Hacer clic sobre el botón Agregar formulario de la barra de herramientas estándar.

En ambos casos se presentará el siguiente cuadro de diálogo que permitirá escoger el tipo
de formulario que se desea insertar.

Algunos de los tipos, incluyen un prediseño con algunos controles insertados. Cada uno de
esos controles podrá ser modificado en diseño y si es posible en ejecución.

El asistente para formularios de datos, creará de manera automática un formulario cuya


finalidad sea llamar y
manipular una base de
datos existente en disco.
Mediante los diferentes
pasos que presenta, se
podrá seleccionar el tipo de
base de datos que se
utilizará, el fichero de base
de datos y su tabla, el
formato que tendrá el
formulario, así como los
botones de control para los
registros.

Manual de Microsoft Visual Basic® v. 5 Pág. 20 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CONTROLES ESTANDAR

& ETIQUETAS DE TEXTO: Label.


El control Label, servirá para situar en el formulario cualquier texto estático. Al definirlo
como estático, se hace referencia a que el usuario no podrá interactuar con él y cualquier
modificación deberá ser hecha desde diseño o desde código. En el interior de un control label, se
podrán mostrar hasta 64.000 caracteres siempre que tamaño del control y del formulario lo
permita.

Para insertar este control habrá que seleccionarlo del cuadro de herramientas, haciendo un
clic sobre el botón que lleva su nombre.

PROPIEDADES DEL LABEL

Un control label cuenta con propiedades comunes a otros controles como Name, Caption,
Font, Witdh, Height, Left, etc. pero posee otras de carácter más específico.

ü Alignment: Permite definir la alineación del texto si este ocupa menos del tamaño del
control. El texto podrá estar ajustado a la izquierda, derecha o centrado.

ü Autosize: Si se desea que el control se ajuste o no a las dimensiones del texto.

ü WordWrap: Permite distribuir el texto en varias líneas. Esta propiedad tiene sentido si
Autosize se encuentra a False.

ü BackStyle: Define el estilo de fondo que podrá ser transparente u opaco.

ü ToolTipTex: Presenta un determinado texto cuando el ratón se sitúa sobre el control.

METODOS DE LABEL

Los métodos son procedimientos internos o propios, que actúan sobre el control para
realizar una determinada operación. Para invocar a un método desde código, se usará la misma
escritura que para una propiedad (control.método). Los método más comunes de un label son:

ü Refresh: Redibuja de nuevo el control. No precisa de parámetros. Label1.Refresh.

ü Move: Permite definir una nueva posición para el control. La sintaxis de este método es
Label1.Move izquierda, superior, ancho, alto.

Manual de Microsoft Visual Basic® v. 5 Pág. 21 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

EVENTOS DE LABEL

Como los eventos son sucesos que ocurren por acciones externas, es posible asignar
diferentes bloque de código, asociados a distintos acontecimientos de un mismo control. Los
eventos más comunes que un control label puede recibir serán:

ü Change: Evento que se produce cuando el label sufre alguna modificación.

ü Click: Se genera con un clic de ratón.

ü DbClick: Se genera con doble clic de ratón.

ü DragDrop: Este evento se produce cuando se ha completado una acción de arrastrar y


soltar.

ü DragOver: Este evento se produce cuando la operación de arrastrar y soltar está en


curso.

ü MouseDown: Acción de presionar el botón izquierdo de ratón.

ü MouseUp: Acción de soltar el botón izquierdo de ratón.

ü MouseMove: Acción de mover el ratón sobre el control.

El siguiente ejemplo, muestra como se realizan modificaciones en diferentes lugares del


formulario en respuesta a diferentes eventos.

Manual de Microsoft Visual Basic® v. 5 Pág. 22 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& CUADROS DE TEXTO: TextBox.


El control TextBox, permitirá solicitar la entrada de datos de un formulario. Es un control
de texto dinámico, ya que el usuario puede interactuar con él introduciendo, modificando y
eliminando información en formato de texto. Además, y esto es importante, proporciona un
medio fácil para que el programa pueda recuperar la información que ha sido introducida. Un
control TextBox permitirá manejar hasta un máximo de 64.000 caracteres.

Este control puede tratar una o varias líneas de texto, incorporándose funciones clásicas de
selección, cortar, copiar, pegar, etc.

Para insertar un control de este tipo, será necesario seleccionarlo del cuadro de
herramientas.

PROPIEDADES DEL TEXTBOX

Muchas de las propiedades con que cuenta un textbox son similares a las vistas por un
label, Alignment, BackColor, BorderStyle, Enabled, Font, Height, Left, MouseIcon,
MousePointer, Name, Visible, etc. poseen un funcionamiento similar. Otras propiedades a
resaltar serán:

ü Text: Similar a la propiedad Caption, es la que contiene el texto que mostrará el


control. Aunque por defecto admite una entrada de texto de 32.000 caracteres, se puede
ampliar.

ü Maxlength: Permite designar un nuevo tamaño máximo de admisión de caracteres que


podrá ir desde 0 a 64.000.

ü PasswordChar: Recoge un carácter específico que será tomado para la entrada de


información. Cualquier entrada de texto será sustituida visualmente con una sucesión
del carácter introducido en esta propiedad. Idóneo cuando se utilice para la
introducción de claves.

ü Multiline: Permite el uso de múltiples líneas al usar este control. Al asignarle el valor
True, al llegar al final de una línea, de manera automática pasará a la siguiente.

ü ScrollBars: Cuando está activa la propiedad MultiLine, es posible dotar a este control
de barras de desplazamiento para un mejor movimiento sobre el texto introducido. Se
puede aplicar una horizontal, vertical o ambas.

Manual de Microsoft Visual Basic® v. 5 Pág. 23 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

PROPIEDADES DE SELECCION DE TEXTO

ü SelStart : Contendrá un número indicando el carácter a partir del cual se ha comenzado


a marcar. Esta propiedad devuelve un número que podrá ser convertido a una cadena
con Str.

ü SelLenght: Almacena el número de caracteres marcados.

ü SelText: Contendrá la cadena de texto que ha sido marcada.

ü TabIndex: Permite asignar un orden de tabulación dentro del formulario.

METODOS Y EVENTOS DEL TEXTBOX

Los eventos y métodos asociados a un control TextBox son similares a los utilizados en la
etiqueta de texto.

& BOTONES: CommandButton.


Este control se emplea generalmente, para permitir al usuario entablar acciones con el
programa. Un CommandButton tiene la apariencia de un cuadrado o rectángulo que se hunde al
hacer clic sobre él y ejecuta un código asociado al botón (asociado a su evento clic). Para añadir
controles de este tipo, habrá que seleccionar la herramienta que lleva su nombre.

PROPIEDADES DEL COMMANDBUTTON

La propiedad Caption define el texto que se presentará en el botón. Además de las


propiedades generales se podrá utilizar:

ü Default: El botón que tenga a True esta propiedad, será el botón por defecto del
formulario.

ü Cancel: Asigna la propiedad de ser el botón de cancelación.

ü Value: Propiedad sólo disponible en código, cuya llamada equivaldrá a la acción clic
de ratón.

ü Style: Determina la apariencia del botón. Esta puede ser la predeterminada por
Windows, o forma gráfica.

ü Picture: Almacena el gráfico que mostrará el botón si el Style del mismo está definido
como gráfico.

ü DisabledPicture: Gráfico que presentará el botón si está desactivado.

Manual de Microsoft Visual Basic® v. 5 Pág. 24 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü DrowPicture: Gráfico que presentará el botón si se encuentra pulsado.

& CAJA DE SELECCION: CheckBox.


El control CheckBox, recabará información del usuario a preguntas con respuestas lógicas.
Una caja de selección no recupera para el programa una cadena, sino una respuesta del tipo sí o
no. El usuario podrá actuar sobre este control activándolo o desactivándolo. Para insertar en
nuestro formulario este control, habrá que seleccionarlo de la ventana de herramientas.

PROPIEDADES DEL CHECKBOX

Además de las propiedades conocidas, este control cuenta con:

ü Value: Almacena el estado actual del CheckBox que podrá ser, vbChecked (chequeado o
activo), vbUncheked (no chequeado) o vbGrayed (atenuado).

& BOTON DE RADIO: OptionButton.


A diferencia de loa controles CheckBox donde es posible seleccionar varias opciones, todas
o ninguna, los controles OptionButton permiten elegir sólo una de un grupo de ellas.
Generalmente estos controles se encuentran en el interior de un Frame.

PROPIEDADES DEL OPTIONBUTTON

Las propiedades que se pueden utilizar en este control son las mismas que las descritas
para los CheckBox.

& GRUPOS DE CONTROLES: Frame.


Un Frame será un contenedor de varios controles que se presentarán agrupados y existirá
entre ellos cierta relación. Estos grupos creados con el Frame mantendrán una unidad visual y
funcional. Todos los controles insertados en el interior de este control serán tratados como un
todo pudiendo ser movidos y manipulados en unidad. Para crear un grupo de controles, primero
será necesario insertar un control Frame y dentro de él se crearán directamente el resto (p.e.
controles CheckBox u OptionButton).

& LISTA: ListBox.


En ocasiones, la información que se quiera solicitar al usuario no será la escritura directa
del dato (TextBox) o la selección de una serie de opciones (ChekBox y OptionButton), sino la
elección de una entre varias opciones que pueden no ser conocidas en el diseño de la aplicación.
Para ello habrá que utilizar una lista o ListBox. Este control mostrará una lista con diferentes
opciones entre las que el usuario podrá seleccionar. El contenido de dicha lista podrá ser definido

Manual de Microsoft Visual Basic® v. 5 Pág. 25 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

en diseño, o en ejecución. Para insertar una lista en el formulario, habrá que seleccionar del
cuadro de herramientas el ListBox.

PROPIEDADES DE UN LISTBOX

Además de las propiedades descritas, una lista cuenta con las siguientes:

ü Columns: Permite asignar un numero específico de columnas para la presentación de las


cadenas (por defecto será 1 columna). Esta propiedad permitirá definir otro número
sencillamente introduciéndolo.

ü Sorted: Permite que el orden de presentación de los elementos sea el de introducción u


ordenador alfabéticamente.

ü Style: Modifica el estilo del control que podrá ser el predeterminado de Windows o el
aspecto de CheckBox.

ü List: Propiedad que almacena los elementos de la lista.

ü ItemData: Asigna a cada elemento de una lista, un valor numérico específico.

ü MultiSelect: Define las maneras en que serán seleccionados los elementos de una lista. Estas
pueden ser None (selección de un único elemento), Simple (selección de varios elementos
con clic de ratón) y Extended (selecciona con las combinaciones de teclado control+clic y
Mayus+clic).

METODOS DEL LISTBOX

Los métodos utilizados normalmente, se refieren al manejo de los elementos de la lista. Estos
son:

ü AddItem: Añade ele mentos a una lista. El nuevo elemento será la cadena pasada a este
método y opcionalmente el índice o lugar que ocupará dentro de la lista. La sintaxis será:

List1.AddItem elemento, índice

ü ListCount: Devolverá el número de elementos contenidos en la lista en un momento


determinado.

ü ListIndex: Devolverá el número de índice del elemento actualmente seleccionado. Si no hay


ningún elemento seleccionado, el valor de ListIndex será –1.

ü List: Permite acceder a cualquier elemento de una lista. Esta propiedad es una matriz de
datos String cuyo contenido podrá ser capturado por la propiedad Text.

Manual de Microsoft Visual Basic® v. 5 Pág. 26 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü RemoveItem: Elimina de la lista el elemento designado. Este elemento será eliminado por
una llamada a su índice que será un parámetro obligatorio. La sintaxis será:

List1.RemoveItem índice

ü Clear: Elimina todos los elementos de una lista dejando a esta vacía.

& LISTAS COMBINADAS: ComboBox.


Un ComboBox será la unión entre un control TextBox con un ListBox. Este control tiene
un espacio donde el usuario podrá opcionalmente introducir un dato o seleccionarlo de la lista.
Básicamente la forma de trabajar con este control sería la misma que sobre un ListBox. Para
utilizar este control habrá que seleccionarlo del cuadro de herramientas.

PROPIEDADES DEL COMBOBOX

Las propiedades de este control serán las mismas que las definidas en un control listbox
con la posibilidad de definir diferentes estilos.

ü Style: Permite elegir entre tres tipos diferentes de ComboBox :

3 DropDown Combo: Lista combinada que se presentará inicialmente como una caja de
texto con un desplegable que presentará la lista.

3 Simple Combo: Similar al anterior pero donde la lista no es desplegable sino que se
presenta siempre abierta.

3 DropDown List: Se presenta como una etiqueta de texto donde se muestra el elemento
actualmente seleccionado. Se podrá elegir cualquier otro elemento pero no se podrán
añadir nuevos (desde ejecución).

ü Locked: Determina si se podrá modificar o no el control.

& CAJA DE GRAFICOS: PictureBox.


Este control de uso muy concreto, permite mostrar imágenes gráficas almacenadas en los
formatos más comunes de Windows. Además de esta función, un PictureBox posee la capacidad
de funcionar como un Frame, es decir, ser un elemento contenedor de otros controles como
OptionButton o RadioButton.

PROPIEDADES DE UN PICTUREBOX

Este control cuenta con propiedades comunes a otros controles y a destacar la propiedad
Picture que permite indicar el fichero gráfico contenido.

Manual de Microsoft Visual Basic® v. 5 Pág. 27 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& BARRAS DE DESPLAZAMIENTO: HScrollBar y VScrollBar.


Los controles de barras de desplazamiento HScrollBar y VScrollBar aunque se trate de
controles distintos, funcionalmente son idénticos ya que poseen las mismas propiedades y
métodos y responden a los mismos eventos. Las barras de desplazamiento son incluidas en
múltiples controles de forma automática o diseñada, pero el uso se restringe al ámbito de dicho
control. Las barras introducidas desde los controles, pueden funcionar de forma independiente al
resto, presentando un especial de información.

PROPIEDADES DE LAS SCROLLBAR

ü Max: Propiedad que almacena el valor máximo que puede tomar la barra.

ü Min: Valor mínimo que puede tomar la barra.

ü Value: Valor actual de la barra.

ü SmallChange: Cambios incrementales o decrementales por cada evento de clic en las


flechas extremas del control o pulsaciones de cursor con teclado. Los cambios serán
almacenados en la propiedad Value.

ü LargeChange: Cambios incrementales o decrementales por cada evento de AvPag o


RePag con teclado. Los cambios serán almacenados en la propiedad Value.

EVENTOS DE LAS SCROLLBAR

Además de los conocidos eventos de Click, MouseMove o KeyPress, las barras de


desplazamiento cuentas con dos importantes:

ü Change: Se produce cada vez que la propiedad Value sufre alguna modificación, bien
sea por la acción de ratón o teclado. Si se arrastra el cursor de la barra de
desplazamiento y se mueve a otra posición, este evento sólo se producirá al soltar el
botón.

ü Scroll: Este evento se produce continuamente mientras se desplaza el cursor de la


barra con el ratón. El código asignado a este evento deberá de ser breve ya que en un
movimiento de ratón se podrá generar miles de veces.

& EVENTOS PERIODICOS: Timer.


El control Timer, a diferencia del resto de los expuestos, es un control que no aparece en
el formulario en tiempo de ejecución. Así pues, el usuario no tiene conocimiento de su existencia
ni de su funcionamiento. El fin de este control, será el ejecutar de manera periódica un cierto

Manual de Microsoft Visual Basic® v. 5 Pág. 28 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

proceso que será transparente en nuestra aplicación y para el resto de los programas que se estén
ejecutando en ese momento en Windows. Este control una vez seleccionado de la caja de
herramientas e insertado en el formulario, no permitirá ser redimensionado.

PROPIEDADES DEL TIMER

El número de propiedades de que consta este control es muy pequeño, ya que no cuenta
con un elemento visual que esté sujeto a modificaciones. La única propiedad nueva y específica
de este control, será Interval.

ü Interval: Como la finalidad del Timer es generar un evento cada cierto intervalo de
tiempo, este se especificará en esta propiedad. La medida de este intervalo será el
milisegundo (p.e. para asignar un evento cada medio segundo el valor será 500).

ü Enabled. Determina si el evento Timer se producirá o no.

EVENTOS DEL TIMER

ü Timer: Evento que se producirá cada vez que se cumpla el periodo determinado en
Interval.

& CAJA DE TEXTO ENRIQUECIDO: Rich Textbox.


El Rich Textbox, es un control de similares características que el TextBox con la
diferencia que reconoce todos los formatos del texto enriquecido (RFT). Este control no se
encuentra inicialmente disponible en el cuadro de herramientas por lo que habrá que instalarlo
desde el menú Proyecto – Componentes y del cuadro de diálogo seleccionar Microsoft Richtext
Control 5.0.

Las propiedades y eventos que soporta este control son similares a los de la TextBox,
diferenciándose sobre todo en los métodos de trabajo. Una diferencia importante es la
posibilidad de poder manejar una selección de texto modificando atributos mediante
instrucciones como SelFontName, SelBold, etc.

Manual de Microsoft Visual Basic® v. 5 Pág. 29 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CREACION DE MENUS

& MENU DE OPCIONES.


Un menú de opciones, será un elemento integrador de la interfaz de un programa, que
permitirá asignar una serie de acciones a listas de opciones diseñadas a diferentes niveles. Esto
permite la agrupación de órdenes por categorías y disminuir el uso, dentro del formulario, de
botones de comando.

Como un menú estará compuesto por diferentes niveles, el primero de estos


corresponderá a la barra horizontal de opciones que aparece en la parte superior de la ventana del
programa, siendo el segundo nivel, las diferentes listas desplegables que ofrezca cada opción de
menú. Algunas de estas opciones pueden dar paso a un submenú que será el tercer nivel y así
sucesivamente.

ELEMENTOS DE UN MENU

Manual de Microsoft Visual Basic® v. 5 Pág. 30 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Las opciones contenidas en un menú pueden presentar una serie de elementos los cuales
configurarán la forma en que funcionen.

Una opción de menú puede llevar asociado un icono que muestra su equivalente en una
barra de herramientas.

ü Si a la derecha de una opción de menú aparece una combinación de teclado, es que


tiene asociada una hot key o short cut, lo cual permite ejecutar esa acción con
teclado, sin necesidad de acudir al menú.

ü Las líneas de separación presentes en un menú, permiten crear subgrupos de


opciones para facilitar el acceso a las mismas.

ü Una pequeña flecha a la derecha de una opción, permite apuntar a un submenú


dependiente de esta.

ü Cuando una opción presenta en su nombre puntos suspensivos, indica que la


ejecución de la misma lleva implícita la presentación de una nueva ventana o cuadro
de diálogo.

ü Los caracteres subrayados en las opciones de un menú son los que permiten abrir esa
opción evitando el uso del clic de ratón.

& CREACION DE UN MENU.


Para Visual Basic, cada opción de menú es un control concreto del tipo Menú, contando
en cada caso con una serie de propiedades.

PROPIEDADES DEL CONTROL MENU

Las propiedades con que cuenta cada elemento menú serán las siguientes:

ü Caption: Título de la opción correspondiente accesible tanto en diseño como en


ejecución (aunque no es normal modificarlo en este último caso).

ü Name: Nombre asignado a cada control.

ü Visible: Permite decidir si la opción será visible o no.

ü Enabled: Permite activar (en negro) o desactivar (en gris) una opción de menú.

ü Checked: Presenta o no una marca de chequeo a la izquierda del nombre.

ü ShortCut: Asignación de una combinatoria de teclado a la opción.

Manual de Microsoft Visual Basic® v. 5 Pág. 31 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Index: Permite crear matrices de controles.

EL EDITOR DE MENUS

Para evitar la introducción de múltiples controles menú, Visual Basic dispone del Editor
de menús. Un subprograma que permitirá de forma visual, definir todos los elementos
contenidos en un menú de ventana así como para establecer sus propiedades. Para abrir este
editor, basta con hacer clic sobre el botón editor de menús de la barra de herramientas estándar o
con la opción del mismo nombre del menú contextual del formulario o accediendo al menú
Herramientas – Editor de menús.

Sobre la ventana que se presenta, será necesario rellenar una ficha por cada opción
disponible. Para cada caso, habrá que introducir el caption de dicha opción, el nombre asignado
al control (que deberá ser único) y decidir en sus propiedades si se desea chequeado, activo y
visible.

Cuando una opción de menú


se encuentra definida, con el botón
Insertar pasará a la parte inferior de
la ventana donde se podrán
manipular. Con las flechas arriba /
abajo, se podrá modificar su posición
relativa dentro del menú y con las
flechas derecha / izquierda crear
niveles subordinados. El botón
Siguiente crea una nueva opción de
menú y Eliminar suprime una opción
no deseada.

Cuando en un caption se
añade el signo & precediendo a un carácter, se está indicando que dicho carácter aparecerá
subrayado para su lanzamiento con teclado. (P.e. &Archivo equivale a Archivo y este podrá ser
desplegado con Alt+A).

Cuando se finalice el diseño del menú y se pulse el botón Aceptar, dicho menú quedará
asociado al formulario en uso. Para realizar cualquier modificación será necesario acudir de
nuevo al editor de menús.

Para asociar código a una opción de menú, desde la fase de diseño será necesario
desplegar la opción principal y hacer clic sobre cualquier subopción. De manera automática el
programa presentará el editor de código situado en el lugar correspondiente.

Manual de Microsoft Visual Basic® v. 5 Pág. 32 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Para insertar separadores en un menú, bastará con asignar a una opción nueva el Caption
– (guión). Para el programa este es un control más con lo que habrá que asignarle igualmente un
Name.

EVENTOS DE UN MENU

El único evento que está disponible para un elemento menú es Click que equivaldrá a la
selección de dicho elemento bien sea con ratón, hot key o acceso con teclado.

& CREACION DE UN MENU EMERGENTE.


Un menú emergente no es más que un menú contextual que se presenta al hacer clic con
el botón derecho sobre un control. Este tipos de menú llevan el nombre de Popup. Los pasos a
seguir serán los siguientes:

ü Habrá que crear en primer lugar la categoría de menú deseada dentro del editor de menús.
Esta categoría puede no ser visible en el menú de la aplicación sencillamente asignándole a
false la propiedad visible.

ü Insertar el control deseado dentro del formulario.

ü Dentro del editor de código de dicho control, acceder al evento MouseDown que se produce
con clic de ratón.

ü Asignar en el código el clic de ratón al botón derecho con vbRightButton

ü Asociar el clic derecho de ratón con el Popup deseado. Esto se consigue mediante la
instrucción PopupMenu.

El resultado podría ser el siguiente código donde se le asocia a la pulsación del botón
derecho de ratón, la aparición de un menú contextual que corresponde a la categoría Archivo.

If Button = vbRightButton then PopupMenu mnu_Archivo

Manual de Microsoft Visual Basic® v. 5 Pág. 33 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ESTRUCTURAS DE CONTROL

Las estructuras de control serán construcciones de código que permitirán tener acceso a
las sentencias del programa y controlar las operaciones que en él se desarrollen.

& ESTRUCTURAS DE DECISION.


Aunque la mayoría de las instrucciones de un programa son órdenes de asignación, hay
otros tipos de instrucciones de gran importancia sobre todo a la hora de tratar tareas más
complejas como por ejemplo toma de decisiones. Una instrucción de decisión se utiliza para
controlar la ejecución de partes del programa basándose en condiciones que existen cuando se
llega a dicha instrucción.

INSTRUCCION IF

En ocasiones, será necesario ejecutar una instrucción o un grupo de ellas si una cierta
condición está definida como true, es decir si se cumple. La instrucción If tiene dos maneras de
tratar las condiciones, en una línea o en varias. En ambos casos, si la condición del If se cumple,
se ejecutarán las acciones asociadas a dicha instrucción y sino se cumple no. En una
construcción If aparecerá la instrucción Then que marcará el principio de las órdenes a ejecutar.

∑ Construcción IF de una sola línea: Se utiliza para realizar una tarea sencilla cuando la
condición en la instrucción es true. La orden a ejecutar ira después de la instrucción Then. La
sintaxis de esta construcción será.

If condición Then orden

∑ Construcción IF de varias líneas: Si es necesario ejecutar más de una orden en respuesta a


una condición se podrá utilizar un bloque de instrucciones If. Este bloque consigna una serie
de mandatos entre la instrucción If y el final de bloque End If. Si la
condición es True se cumplirán las órdenes comprendidas en el If condición Then
bloque y si es False, el programa pasará automáticamente a la Orden 1
Orden 2
sentencia siguiente al End If. Para una mayor limpieza del código ...
introducido, se puede usar la identación (sangrado) de las líneas End If

subordinadas de la construcción, así como el uso de comentarios que


describan las operaciones que se irán ejecutando.

Manual de Microsoft Visual Basic® v. 5 Pág. 34 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

∑ Construcción IF con bifurcaciones: En las construcciones anteriores, la aplicación


ejecuta un código ara el caso que la evaluación de la
If condición Then
condición genere una respuesta True. Es posible añadir a estas Orden 1 true
construcciones una bifurcación asignando código cuando la Orden 2 true
respuesta sea False. Esta salida dentro de la construcció n la Else ...
generamos con la instrucción Else. Else se colocará detrás de Orden 1 false
la última instrucción True y entre ella y el final de bloque End Orden 2 false
...
If se situarán las sentencias a cumplir si la salida es False. La End If
construcción deberá incluir todos estos elementos.

∑ Construcción con IF anidados: Las construcciones descritas anteriormente, evalúan sólo


dos posibles situaciones. Una salida a código si la
respuesta es True y una bifurcación a código para If condición Then
Orden 1 true
False. Anidando construcciones If será posible Orden 2 true
generar nuevas construccio nes dentro otras. Para ...
ElseIf condición Then Orden
ello se utilizará la sentencia ElseIf dentro de un ElseIf condición Then orden
bloque If – End If. ElseIf evalúa una nueva Else
condición que podrá llevar asociada una estructura Orden 1 false
Orden 2 false
If de una línea, de varias líneas, con bifurcaciones o ...
generar nuevas condiciones ElseIf. El uso de If End If
anidados permite la construcción de bloques
complejos que en ocasiones pueden generar errores de interpretación. En la medida de lo
posible, será recomendable utilizar otras construcciones que clarifiquen más el código.

DECISIONES MULTIPLES: SELECT CASE

Select Case es otra manera de manejar las decisiones de un programa. Esta instrucción
permite comparar y ejecutar cualquier grupo de instrucciones basándose en el uso de una única
variable. Una serie de instrucciones Case especifican los posibles
Select Case condición
valores de la variable, ejecutándose únicamente el código asociado Case 1
al caso correcto. Esta estructura es similar a una serie de Orden 1 caso 1
Orden 2 caso 1
instrucciones If/Then/Else. ...
Case 2
La primera instrucción del bloque, es la que identifica el Orden 1 caso 2
Orden 2 caso 2
valor a examinar frente a posibles resultados. Este valor puede ser ...
cualquier expresión de tipo numérico o de cadena válida. El final de Case 3
esta construcción viene definido por la sentencia End Select. Orden 1 caso 3
Orden 2 caso 3
...
Las construcciones Case pueden incluir sentencias Case Else Case n
para generar una salida cuando el resultado de la condición no está End Select

contemplado en ningún caso.

Manual de Microsoft Visual Basic® v. 5 Pág. 35 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& BUCLES.
Los bucles son otro tipo de estructuras de control, cuya finalidad es realizar tareas
repetitivas en un programa. Gracias a estos, un mismo código es ejecutado para responder a los
mismos eventos. Existen dos tipos de bucles soportados por Visual Basic.

BUCLES POR CONTADOR: FOR – NEXT

Los bucles por contador comienzan con la instrucción For la cual inicializa una variable
asignándola un valor inicial, fijando un valor final y
For variable = valor inicial To valor final
opcionalmente definiendo un incremento en cada Orden 1
vuelta del bucle. La instrucción Next marca el final de Orden 2
...
la sección de código que se repetirá. Cada vez que el Next
programa ejecute el bucle, llegue al Next, el valor del
contador crecerá según lo designado y será contrastado
con el valor final. Si el valor del contador es mayo que el punto final, el programa saltará a la
siguiente instrucción del bucle.

La asignación de un valor inicial a la variable puede ser realizada con cualquiera de los
operadores definidos con anterio ridad.

∑ Incrementos no unitarios: Si el no se desea que el incremento del bucle sea uno, podrá
designarse un salto en la variable con la instrucción Step y un valor. Este incremento se
dispondrá después del valor final
For Variable = Valor inicial To Valor final Step Valor salto
asignado a To. Orden 1
Orden 2
∑ Salida de un bucle por contador: Un If Variable = Valor Then Exit For
Orden 3
bucle tiene programado su final ...
cuando se ejecuta un número Next
determinado de veces, pero es posible
forzar una salida del mismo en cualquier parte del código de su interior usando la sentencia
Exit For. Esta forma provocará una salida inmediata del bucle.

BUCLES POR CONDICION: DO – WHILE / DO – UNTIL

Estos bucles tienen como principal característica la condición. Una condición es cualquier
expresión que puede devolver un valor True o False. Puede ser una función (como EOF), el
valor de una propiedad, etc. Estos bucles no precisan saber de antemano el número de veces que
se va a ejecutar el código, sino que será efectivo gracias a la certeza de una condición. Existen
dos tipos de construcciones:

∑ Construcción DO – WHILE: La palabra clave de esta construcción While le indica al


programa que el bucle se repetirá mientras la expresión de la condición sea True. Cuando la

Manual de Microsoft Visual Basic® v. 5 Pág. 36 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

condición en el bucle Do – While se convierte en False, el programa se desplazará a la


siguiente instrucción del bucle. El final del bucle se determina con la palabra clave Loop. En
estos bucles, la condición se podrá situar al principio o al final del bucle. Si la condición se
sitúa al final del bucle, el código contenido en él se ejecutará al menos una vez.

Bucle con condición al principio


Do While Variable = Valor Do
Orden 1 Orden 1
Orden 2 Orden 2
... ...
Loop Bucle con condición al final Loop While Variable = Valor

Es posible finalizar un bucle por contador desde el interior del propio bucle con la sentencia
Exit Do que llevará el foco del programa a la siguiente instrucción del bucle.

∑ Construcción DO – UNTIL: Esta construcción es básicamente igual a Do – While, pero con


la diferencia que las instrucciones contenidas dentro de un
Do Until Fichero.EOF
bucle se ejecutarán si la condición es False. También permite
Orden 1
las dos combinaciones, que la condición se encuentre en la Orden 2
primera o en la última instrucción. Generalmente se utiliza esta ...
Loop
fórmula para leer y procesar archivos de datos. El bucle
comenzará con el primer archivo de registro y procesará cada registro hasta llegar al final de
fichero.

& REFERENCIAS MULTIPLES A UN OBJETO.


En ocasiones será necesario desde el código, modificar o establecer múltiples
propiedades, lo que implicará repetir el nombre del objeto múltiples veces. En lugar de eso, será
posible utilizar una construcción With – End With. Gracias a
With Objeto
. Propiedad 1 esto se podrá especificar un objeto al inicio (tras la palabra With)
. Propiedad 2 y a continuación hacer referencia a todas sus propiedades
... escribiendo un punto y el nombre de la propiedad sin necesidad
End With
de repetir el nombre del objeto. La sentencia End With dará por
finalizado en bloque de referencias.

Manual de Microsoft Visual Basic® v. 5 Pág. 37 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

PROCEDIMIENTOS Y FUNCIONES

Muchas partes de un programa se escriben en módulos llamados Procedimientos y


Funciones. Estos son trozos de código que realizan una misma tarea. Cuando esta tarea debe de
llevarse a cabo, el procedimiento o función es llamado por otra parte del programa. La única
diferencia existente entre ambas estructuras estriba en que el procedimiento no puede devolver
ningún parámetro, mientras que la función sí.

En realidad, cada vez que introducimos un código asignado a un control en respuesta a un


evento, se está construyendo un procedimiento. Cuando se desencadena l evento, el programa
llama a ese evento de manera automática.

& CREACION DE PROCEDIMIENTOS Y FUNCIONES.


El primer paso para crear un procedimiento o función, será definir que tarea deberá
realizar. Como un procedimiento es un pequeño programa, el proceso será similar a la creación
de un programa. Una vez diseñado, podrá ser creado de dos maneras:

∑ Con instrucción Sub: Para crear un procedimiento con la instrucción Sub, será necesario
abrir la ventana de Editor de código y seleccionar en ella el área General en la lista de
objeto y el área Declaraciones en la lista de procedimientos. Para comenzar la
construcción del procedimiento se introducirá la palabra clave Sub seguida del nombre
del procedimiento. La aplicación presentará paréntesis tras el nombre, escribirá de
forma automática el final de procedimiento con End Sub y añadirá este procedimiento
a la lista de procedimientos.

Manual de Microsoft Visual Basic® v. 5 Pág. 38 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

∑ Con el cuadro de diálogo AGREGAR PROCEDIMIENTO: Con este método será


necesario utilizar el menú Herramientas – Agregar procedimiento. En el cuadro de
diálogo que se presenta habrá que introducir el nombre del procedimiento, seleccionar
el tipo de procedimiento (Sub, Function, Property o Event), decidir si será de ámbito
público (public) o
privado (private) y
decidir si las variables
serán estática (Static).
Al introducir la
información, Visual
Basic creará un marco
para el nuevo
procedimiento en la
ventana de código.
Dentro del cuerpo del
procedimiento se podrán incluir todos los elementos necesarios, tales como estructuras
de control, definición de variables, asignación de valores a propiedades de objetos, etc.

ALCANCE DE PROCEDIMIENTOS O FUNCIONES

Un procedimiento tiene limitado su uso determinado por dos factores, su alcance y


definición.

∑ Crearlo Público: Esto permite acceder al procedimiento o función desde cualquier parte del
programa. Para ello hay que incluir la palabra clave Public en su definición. Esto permite que
un procedimiento definido en un formulario o módulo pueda ser llamado desde cualquier
otro. Los nombres de estos deberán de ser únicos en toda la aplicación. Si no se incluye esta
palabra clave, será tomada por defecto.

∑ Crearlo Privado: Si se incluye la palabra clave Private en la instrucción Sub, solo se podrá
acceder al procedimiento desde el formulario o módulo donde ha sido definido. La ventaja es
que permite tener varios procedimientos con el mismo nombre en diferentes lugares de la
aplicación, pero el inconveniente es que no puede ser utilizado fuera de su ámbito. Los
procedimientos de eventos son por defecto privados.

∑ Preservación de variables: Cuando se ejecuta un procedimiento, las variables son creadas,


usadas y destruidas. No obstante si se desea mantener el valor de las variables para futuras
llamadas al procedimiento, se utilizará la palabra clave Static en la declaración de la variable.

Manual de Microsoft Visual Basic® v. 5 Pág. 39 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

LLAMADA A PROCEDIMIENTOS O FUNCIONES

Para llamar a un procedimiento o función desde cualquier punto del programa, la instrucción
a utilizar será Call. Este comando transfiere el control a un procedimiento Sub, o a un
procedimiento Function. La sintaxis de Call será la siguiente:

Call nombre argumentos

donde nombre será el nombre del procedimiento o función que se desea invocar y argumentos la
lista de variables o expresiones que se van a transferir (opcional).

No es necesario utilizar la palabra clave Call cuando llama a un procedimiento. Sin


embargo, si se utiliza para llamar a un procedimiento que requiere los argumentos, estos deberán
estar entre paréntesis.

Manual de Microsoft Visual Basic® v. 5 Pág. 40 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

FICHEROS

Una de las exigencias naturales de cualquier programa es guardar la información de


manera permanente. Actualmente la técnica imperante es el almacenamiento de archivos en
disco.

& FICHEROS DE TEXTO.


La característica principal de un fichero de texto, es el estar compuesto por líneas de
caracteres sin tamaño fijo. Así pues, para llegar a un cierto punto del mismo, es necesario leer
desde el principio el fichero de manera secuencial. Cada línea estará separada de la siguiente por
un carácter no leído que será el retorno de carro.

ABRIR UN FICHERO

Antes de poder utilizar un fichero independientemente de su tipo, será necesario abrirlo.


Para ello se utilizará la sentencia Open seguido del nombre de fichero a abrir y su ruta, el modo
de apertura y el canal de apertura. La sintaxis será:

Open NombreDeArchivo For Modo As Canal

El modo de apertura de un fichero lleva implícito las operaciones que se podrán hacer
sobre él. En archivos de texto los modos son:

∑ Output: Se crea el fichero y queda abierto únicamente para operaciones de escritura. Si el


fichero existe, su contenido se perderá.

∑ Input: El fichero solamente es abierto para operaciones de lectura, con lo que este debe
existir.

∑ Append: El fichero se abre para operaciones de escritura añadiéndose al contenido actual.


Si este no existe es creado.

No es posible en estos ficheros realizar de manera simultanea operaciones de escritura y


lectura, quedando la acción de actualizar a añadir. Una forma de generar actualizaciones es crear
un fichero nuevo partiendo del original y escribir en él la información actualizada.

Manual de Microsoft Visual Basic® v. 5 Pág. 41 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

El canal de apertura o número de archivo, estará comprendido entre 1 y 511, no siendo


posible que dos archivos utilicen el mismo. La manera más cómoda de asegurar un canal libe es
el uso de la función FreeFile que devolverá el número del canal siguiente que se encuentre libre.

ESCRIBIR Y LEER

Si se ha realizado el proceso de apertura de un fichero con Output o Append, este habrá


quedado listo para recibir información la cual, se irá escribiendo en disco de manera secuencial.

Visual Basic dispone de dos sentencias que permiten escribir datos en un archivo de texto:

∑ Print: Se utiliza para escribir únicamente texto. Direccionado a un fichero, este comando
funciona igual que sobre pantalla.

∑ Write: Permite escribir en un mismo fichero, datos de distinto tipo.

Tanto Print como Write llevan a continuación el signo de la almohadilla # y el número de


canal por el que se ha abierto el fichero, separando con una coma los datos a escribir. La sintaxis
será:

Write # canal, datos

Las operaciones de lectura sólo se podrán realizar si en la apertura del archivo se utilizó el
modo Input. Como en la escritura existen dos sentencias.

∑ Input: Interpreta como separador cualquier dato. Es adecuada para leer variables
individuales escritas con Write.

∑ Line Input: Permite la lectura de líneas completas.

La operación de escritura siempre va añadiendo datos al final de fichero y el único error que
se puede generar es la falta de espacio en disco o la imposibilidad de acceder a él. Pero durante
los procesos de lectura, los errores se generarán cuando se intenten leer más datos de los que
existen. Para evitar estos errores, se cuenta con las siguientes funciones.

∑ Eof: Permite conocer si se está situado a final de fichero. Responderá True si el fichero
ha llegado a su fin y False si aún quedan datos por leer.

∑ Lof: Indica la longitud total del fichero a abrir. Su uso permitirá ir comprobando el estado
de la lectura con Seek.

∑ Seek: Devuelve un valor que especifican la posición actual de lectura o escritura de un


archivo abierto con Open.

Manual de Microsoft Visual Basic® v. 5 Pág. 42 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CERRAR UN FICHERO

Cuando el trabajo sobre un fichero ha concluido, será necesario cerrarlo (independientemente


de su tipo y modo de apertura). Cuando un fichero es cerrado, quedará disponible para cualquier
otra aplicación o proceso que lo necesite. Es posible utilizar dos sentencias:

∑ Close: Cierra un fichero especificado por el número de canal que fue abierto (Close #
canal).

∑ Reset: Cierra todos los ficheros abiertos en ese momento. No necesita parámetros.

& FICHEROS DE REGISTRO.


Los ficheros de registro o de orden aleatorio, están estructurados en registros de longitud
fija, de tal manera que, mediante sencillas operaciones, será posible acceder a cualquier punto.
Una vez abierto un fichero de este tipo, se podrán realizar operaciones de lectura, escritura y
sobreescritura.

ABRIR UN FICHERO

Para la apertura de un fichero de este tipo se utilizará el mismo comando Open que en caso
de los ficheros de texto. La diferencia será el modo de apertura que obligatoriamente será
Random y tras este habrá que disponer la palabra Len seguida del operador = y el número de
bytes que se asignará por registro. La sintaxis será:

Open NombreDeArchivo For Random As Canal Len = NúmeroDeBytesPorRegistro

ESCRIBIR Y LEER

Para realizar estas operaciones, Visual Basic dispone de dos sentencias:

∑ Put: Permitirá escribir registros individuales en el fichero. Es necesario pasarle tres


parámetros: el número de canal por el que se encuentra abierto el fichero (precedido de la
almohadilla), el número de registro a escribir y una variable donde se encontrará el dato a
escribir. Estos parámetros irán separados por comas.

Put # canal, NúmeroRegistro, NombreVariable

∑ Get: Realiza operaciones de lectura sobre los registros. La estructura de esta sentencia
será similar que en el caso del Put.

Get # canal, NúmeroRegistro, NombreVariable

Manual de Microsoft Visual Basic® v. 5 Pág. 43 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Si al realizar una operación de lectura el registro a acceder no existe (fin de fichero), la


función Eof no será de utilidad al realizar un acceso aleatorio. En este caso, previamente a la
operación de lectura, se podrá obtener la longitud total del fichero con Lof y dividiéndolo por el
número total de registros se podrá controlar el fin de fichero.

La sentencia Seek permitirá pasando el número de canal, conocer el número de registro


actual y proporcionándole número de canal y número de registro posicionarse en él.

CERRAR UN FICHERO

Los modos de cerrar un fichero de este tipo, serán similares a los de los ficheros de texto.

Manual de Microsoft Visual Basic® v. 5 Pág. 44 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

PORTAPAPELES

Mediante el uso del Portapapeles (clipboard), las aplicaciones pueden compartir


información. Visual Basic dispone de un objeto global llamado Clipboard gracias al cual será
posible acceder al portapapeles de Windows, incluyendo o extrayendo cualquier información
mediante los métodos de que dispone.

& USO DEL PORTAPAPELES.


El portapapeles puede contener diferentes tipos de información aunque generalmente suele
ser gráfica o de texto.

COPIAR INFORMACION AL PORTAPAPELES

Para copiar texto al portapapeles se utilizará el método SetText al que habrá que pasar la
cadena de texto a copiar. Cualquier información que es enviada al Clipboard genera la pérdida
de los datos existentes. La sintaxis será:

Clipboard.SetText

Si se desea copiar al portapapeles un gráfico obtenido de la propiedad Picture de un


control, se utilizará el método SetData pasando como parámetro el gráfico a copiar.

PEGAR INFORMACION DESDE EL PORTAPAPELES

Para tomar un texto del portapapeles, el método a utilizar será GetText que podrá ser
almacenado en una variable o redireccionado a un control contenedor. La sintaxis será:

Clipboard.GetTex

Para recibir un gráfico se usará GetData, asignando el valor devuelto a la propiedad


Picture de algún control.

Previamente a la recuperación de los datos, es posible conocer de que tipo es la


información contenida en el portapapeles. Para ello se utilizará GetFormat con un parámetro.
Esto devolverá True o False dependiendo de si contiene o no el tipo de información requerida.
Los parámetros serán:

Manual de Microsoft Visual Basic® v. 5 Pág. 45 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

vbCFBitmap Gráfico de mapa de bits

vbCFDIB Mapa de bits independiente del dispositivo

vbCFMetafile Gráfico en formato Meta-archivo

LIMPIAR EL PORTAPAPELES

Aunque al enviar información al portapapeles esta sobreescribe la que allí pudiera


encontrarse, es posible que aún así existan datos de otro tipo. Para eliminar todo su contenido se
podrá utilizar el método Clear sin parámetros. La sintaxis será:

Clipboard.Clear

Manual de Microsoft Visual Basic® v. 5 Pág. 46 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

IMPRESION

Una parte importante de una aplicación es la obtención impresa de la información


generada. Al tener que hacer uso de un dispositivo externo, la impresión deberá controlar una
serie de parámetros tales como la calidad, número de páginas, etc.

& OBJETO PRINTER.


De igual manera que existe un objeto global para el portapapeles (Clipboard), existe uno
que representa la impresora utilizada por defecto (predeterminada) en Windows. Es el objeto
Printer, que cuenta con una serie de propiedades las mayoría de las cuales serán de lectura y
escritura.

CONTROLADOR Y DISPOSITIVO DE IMPRESION

Para conseguir el nombre del controlador de la impresora predeterminada se utilizará la


propiedad DriverName de sólo lectura y para obtener el del dispositivo DeviceName. Ambas no
permiten ser modificadas en ejecución, por lo que se uso es únicamente informativo.

Mientras que el controlador es el programa que funciona como interprete, el dispositivo


será la impresora en sí.

ORIENTACION, ALIMENTACION Y TAMAÑO DE PAPEL

La propiedad Orientation permite tanto conocer la actual orientación de la impresora como


modificarla. Los posibles valores serán vbPRORPortrait (vertical) y vbPRORLandscape
(apaisada).

Si la impresora dispone de múltiples alimentadores, un valor asociado a la propiedad


PaperBin determinará cual se usará. Por defecto el valor será vbPRBNAuto.

Las dimensiones del papel serán modificables mediante las propiedades Width y Height
que vendrán expresadas en twips (unidad de medida de pantalla, equivalente a 1/20 de punto de
impresión).

TIPOS DE LETRA

Antes de asumir que un tipo de letra esta disponible en la impresora habrá que consultarlo
mediante las propiedades Fonts, que será una matriz de objeto Font conteniendo cada uno los

Manual de Microsoft Visual Basic® v. 5 Pág. 47 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

tipos de letras utilizados y FontCount que indicará el número de elementos contenidos en la


matriz Fonts. Un objeto Font contendrá unas propiedades que permitirán conocer y modificar las
características de un tipo (Bold, Italic, Strikethru y Underline).

La propiedad Name almacena su nombre y Size su tamaño.

Manual de Microsoft Visual Basic® v. 5 Pág. 48 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CONTROL DE ERRORES

En la escritura de un programa se suelen introducir errores. Algunos de estos los detecta de


manera automática el compilador y nos ofrece información al respecto antes de la ejecución del
programa, pero otros no se presentan hasta que la línea de código que lo contiene se ejecuta.

El último tipo de fallos son aquellos que no tienen que ver con la codificación, sino los que
se provocan por un fallo en el acceso a determinado dispositivo, como discos o impresoras. Estos
errores que conllevan la parada del programa, se pueden controlar desde código generando una
rápida solución o comunicación al usuario.

& ACTIVAR LA DETECCION DE ERRORES.


Para activar la detección de errores en un determinado punto del programa, se puede
utilizar la sentencia On Error. Cuya aplicación podrá ser de dos maneras:

∑ On Error Resume - Next: Estructura de uso preferente que activará la detección de


errores sin más, de tal manera que tras una operación sujeta a posibles errores no habrá
más que relizar las comprobaciones oportunas.

∑ On Error GoTo: Permite desviar la ejecución cuando se produzca el error a una etiqueta
dispuesta a continuación de la estructura. Esta forma es adecuada cuando se quiera tener
un control de errores centralizado en un módulo.

Para desactivar la detección de errores, la sentencia a utilizar será On Error GoTo 0. A


partir de este punto, los errores no serán tratados directamente por Visual Basic.

& INFORMACION SOBRE UN ERROR.


Independientemente del método utilizado, cuando sucede un error es necesario contar con
información al respecto. Toda esta información se podrá encontrar en un objeto Err que estará
disponible en cualquier punto de la aplicación sin necesidad de declararlo. Este objeto recogerá
la siguiente información del último error recogido:

∑ Number: Código del error. Es la propiedad por defecto de este objeto.

∑ Source: Contiene una cadena con información acerca del punto donde se ha producido.

∑ Description: Descripción textual del error.

Manual de Microsoft Visual Basic® v. 5 Pág. 49 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

DEPURACION

Además de los errores que detecta la compilación, los de ejecución y los provocados por
dispositivos, existe otro tipo de errores de, en ocasiones, difícil detección. Estos son los errores
lógicos. Sobre estos errores el lenguaje no nos puede ayudar ya que el problema estará en que en
algún punto las órdenes escritas no son las adecuadas. Para la detección de errores de este tipo se
utilizará una técnica llamada depuración que consiste en, ejecutar el programa paso a paso o
hasta un determinado punto consultando los valores de las variables y propiedades.

& INTERRUPCION DE UN PROGRAMA.


Antes de iniciar una sesión de depuración, será necesario carga r el programa en el entorno
de Visual Basic, ejecutarlo e interrumpirlo. Para suspender momentáneamente la ejecución del
programa, se podrá conseguir con la combinación Control Pausa del teclado, clic sobre el botón
Interrumpir de la barra de
herramientas, o desde el menú
Ejecutar – Interrumpir. Con
cualquiera de estas acciones, el
programa pasará a segundo plano, y
se presentará la ventana general de
depuración donde se presentará
información sobre la expresión actual y el tipo de valor examinado en ese preciso instante.

BARRA DE HERRAMIENTAS DEPURACION

Esta barra de herramientas, se presentará cuando un programa se encuentre en el modo de


depuración. Contiene botones que son métodos abreviados para los elementos del menú más
utilizados en la depuración del código. Si la barra no se presenta, se podrá hacer visible haciendo
clic con el botón derecho sobre cualquier barra visible.

Las opciones de la barra de herramientas permite:

ü Iniciar: Ejecuta la aplicación desde el formulario inicial.

Manual de Microsoft Visual Basic® v. 5 Pág. 50 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Interrumpir: Detiene temporalmente la ejecución de un programa. Al hacer clic en el


botón Continuar continuará la ejecución del programa.

ü Terminar: Detiene la ejecución del programa y vuelve a tiempo de diseño.

ü Alternar puntos de interrupción: Aplica o elimina un punto de interrupción en la línea


actual.

ü Paso a paso por instrucciones: Va ejecutando el código instrucción a instrucción.

ü Paso a paso por procedimientos: Ejecuta el código como una unidad cuando la
instrucción actual incluye una llamada a un procedimiento, para después pasar a la
siguiente instrucción del procedimiento actual.

ü Paso a paso para salir: Ejecuta las líneas restantes de la función en la que se encuentra
actualmente el puntero de ejecución.

ü Ventana Locales: Presenta u oculta la ventana Locales. La ventana Locales presenta


automáticamente todas las variables de la pila de llamadas actual junto con sus valores.
La ventana Locales se actualiza automáticamente cada vez que pasa del tiempo de
ejecución al modo de interrupción y siempre que cambia el contenido de la pila.

ü Ventana Inmediato: Presenta u oculta la ventana Inmediato. Esta ventana ofrece


información resultante de las instrucciones de depuración del código o de los comandos
introducidos directamente en la ventana. Sólo está disponible en modo de interrupción.

ü Ventana Inspección: Presenta u oculta la ventana Inspección. Esta ventana enseña las
expresiones de inspección actuales. La ventana Inspección aparece automáticamente si
se definen expresiones de inspección en el proyecto.

ü Inspección rápida: Presenta el cuadro de diálogo Inspección rápida con el valor actual
de una determinada expresión seleccionada.

ü Pila de llamadas: Presenta el cuadro de diálogo Llamadas, donde aparecerá una lista
con las llamadas a procedimientos activos en la aplicación que han comenzado a
ejecutarse pero no han concluido.

PUNTOS DE PARADA

Un punto de parada es una marca que se dispone en una línea de código de tal manera que
al llegar a ella a ejecución del programa, este se interrumpe. Una vez detenido en modo pausa,
será posible realizar una inspección de sus variables y del transcurso de la ejecución. En el
código de un programa se podrán establecer tantos puntos de parada como se desee.

Manual de Microsoft Visual Basic® v. 5 Pág. 51 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Para definir estos puntos se podrá hacer clic sobre el botón de Alternar puntos de
interrupción de la barra de herramientas depuración o pulsando la tecla de función F9. La forma
de eliminar estos puntos será la misma que para aplicarlos. La aplicación presentará esa línea en
color rojo con una señal que identificará el stop.

Manual de Microsoft Visual Basic® v. 5 Pág. 52 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

BASES DE DATOS EN VISUAL BASIC

Para permitir el trabajo con bases de datos, Visual Basic incluye lo que se conoce como
motor de base de datos que en realidad consiste en un núcleo gestor de base de datos
(concretamente Access). Gracias a este motor, las aplicaciones desarrolladas pueden trabajar
directamente con ficheros de base de datos sin ningún problema aunque no sean de Microsoft
Access. Es posible trabajar con controles que gestionarán la información de base de datos o bien
desarrollar las mismas acciones desde código.

& MOTOR DE BASE DE DATOS JET.


Este motor proporciona los medios necesarios para construir la interfaz entre Visual Basic
y la base de datos a utilizar. Incluye funciones para la administración de las bases de datos tales
como creación, modificación y eliminación de tablas, creación de índices y consultas. Para el
tratamiento de los datos Jet admite el SQL, lenguaje que se tratará posteriormente que permitirá
la administración de cualquier formato de base de datos.

& ESTRUCTURA DE LA BASE DE DATOS.


Una base de datos puede contar con una serie de elementos tratables desde Visual Basic.
Estos son los siguientes:

ü Base de datos: Grupo de tablas que incorporan una serie de información relacionada.

ü Tabla: Grupo de registros de datos cada uno del cual, contiene un mismo tipo de
información.

ü Registro: Es una entrada en una tabla que consistirá en varios campos de datos.

ü Campo: Un determinado elemento de información contenido en un registro.

ü Indice: Tipo de tabla particular que contiene los valores de uno o varios campos clave
y punteros hacia la posición del registro actual.

ü Consulta: Orden de lenguaje de consulta estructurado que es diseñado para recuperar


un cierto número de registros de una o varias tablas, los cuales cumplen una
determinada operación.

Manual de Microsoft Visual Basic® v. 5 Pág. 53 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü Recordset: Conjunto de registros creado a partir de una o varias tablas en una base de
datos.

El motor acepta una gran variedad de datos, lo cual permite una gran potencia a la hora de
tratar la información:

Nombre Dato almacenado Tamaño


Text Cadena de caracteres 255 caracteres máximo
Memo Cadenas largas de caracteres Hasta 1,2 Gbytes
Byte Entero (numérico) 0 hasta 255
Integer Entero (numérico) -32.768 hasta 32.767
Long Entero (numérico) -2.147.483.648 hasta 2.147.483.647
Single Real (numérico) -3,4 x 1.038 hasta 3,4 x 1.038
Double Real (numérico) -1,8 x 10.308 hasta 1,8 x 10308
Currency Real (numérico) -9,0 x 1.014 hasta 9,0 x 1.014
Boolean Valor true o False
Date Valores de fecha y hora Desde 1/1/1000 hasta 31/12/9999
Binary Dato binario Hasta 1,2 Gbytes
OLE Objetos OLE Hasta 1,2 Gbytes

& ADMINISTRADOR VISUAL DE DATOS.


Entre el paquete de programas que se distribuye con Visual Basic, se encuentra el
Administrador Visual de Datos o Visdata. Este programa facilita el trabajo con las bases de
datos permitiendo su creación, edición y gestión. Para acceder a este programa se ejecutará el
menú Complementos – Administrador visual de datos.

Manual de Microsoft Visual Basic® v. 5 Pág. 54 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

El Visdata puede funcionar como una alternativa a programas de base de datos para la
creación de una, definición de tablas, campos, índices, etc.

Para crear una nueva base de datos desde esta aplicación, habrá que utilizar el menú
Archivo – Nueva y seleccionar del submenú el formato de base de datos deseado. Tras dar el
nombre y ubicación, se gestionará un nuevo fichero.

Dentro del programa se presentará una ventana de


base de datos desde donde se podrá ir definiendo sus
elementos. Al hacer clic con el botón contextual del
ratón, aparecerá un menú donde se podrá crear una
Nueva tabla.

La aplicación presentará en primer lugar la


ventana de estructura de la tabla. En esta ventana será
necesario escribir un nombre a la tabla de nueva creación
y haciendo clic sobre el botón Agregar campo, se podrá
definir un nuevo campo con sus diferentes propiedades (tipo de datos, tama ño, etc.) que será
automáticamente actualizado en la tabla. Este procedimiento deberá repetirse hasta completar la
lista de campos que formarán parte de la estructura de la tabla.

Manual de Microsoft Visual Basic® v. 5 Pág. 55 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Desde la misma ventana y una vez definidos los campos, se podrán añadir índices a la
tabla tomando cualquier campo que lo permita. Cuando se pulse el botón Generar la tabla, el
programa realizará las operaciones necesarias para
que la tabla definida se encuentre disponible dentro de
la nueva base de datos. Si la nue va tabla ha pasado
correctamente a la ventana de la base de datos,
haciendo clic con el botón contextual, se accederán a
las posibilidades de gestión de la misma (como si del
propio programa de base de datos se tratase).

Entre ellas se encuentra


la de Abrir que permitirá ir
añadiendo registros a la tabla,
Diseñar que presentará de
nuevo la ventana de diseño de los campos, Renombrar la tabla, Eliminar la tabla, Copiar la
estructura a una nueva tabla, etc.

Una vez creada la tabla con sus propiedades, Visdata permitirá generar de manera
automática un formulario en el proyecto Visual Basic en uso. Con la opción de menú Utilidad –
Diseñador de formulario de datos, se presentará un cuadro de recogida de información en el que
habrá que introducir el
nombre del formulario
que se va a crear,
seleccionar una tabla y
los campos deseados.
Haciendo clic en el
botón Generar el
formulario este se creará
con una serie de
controles por defecto
para la manipulación de
los registros durante la
ejecución del programa.

Manual de Microsoft Visual Basic® v. 5 Pág. 56 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& CONTROLES DE BASE DE DATOS.


Visual Basic proporciona una serie de controles para el manejo de las bases de datos dentro
de un formulario. Estos controles cuentas con una serie de propiedades, métodos y eventos al
igual que los vistos hasta ahora.

CONTROL DATA

Este control, es el modo más sencillo de trabajar con bases de datos en VB, ya que
permitirá acceder a una base de datos existente, viendo su contenido y permitiendo con
comodidad su edición. Este control
una vez insertado en un formulario
presentará una zona central con el nombre del control y botones a ambos lados para permitir la
navegación entre los registros en ejecución.

Para un correcto trabajo con este control será necesario trabajar con alguna de sus
propiedades. Entre ellas:

ü Connect: Contendrá una cadena indicando el formato de la base de datos a usar.

ü DatabaseName: Debe tener el nombre y ruta (o alias) de la base de datos a utilizar.

ü RecordSource: Que tendrá que contener el nombre de una tabla o consulta contenida
en la base de datos especificada en DatabaseName.

CONTROL DBGRID

El control DBGrid es el control más potente para el tratamiento de los datos. Si este
control no está presente en la ventana de los componentes, habrá que añadirlo mediante la
ventana de componentes activando el Microsoft Data Bound Grid Control 5.0.

Este control se estructura en filas y columnas formando un grupo de celdillas dentro de


las cuales podrá haber un dato. En ejecución, cada una de estas celdillas será editable
permitiendo así tanto la edición y modificación, como la inserción de nuevos datos.

Para que un control de este tipo pueda mostrar datos, es necesario que el formulario
exista un control Data que realice la conexión con la base de datos. Las propiedades más
interesantes de este control serán:

ü DataSource: Que contendrá el nombre del control data con el que conectará.

ü AllowAddNew: Permitirá o no añadir datos desde el control.

ü AllowUpdate: Permitirá o no modificar la información contenida.

Manual de Microsoft Visual Basic® v. 5 Pág. 57 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü AllowDelete: Permitirá o no la eliminación de registros.

ü AllowRowSizing: Permitirá o no redimensionar las celdas.

ü ColumnHeader: Permitirá o no visualizar el nombre de cada columna.

OTROS CONTROLES DE DATOS

La mayor parte de los controles vistos, permiten el tratamiento de algún dato y podrán ser
asociados a una columna de datos perteneciente a un control data. Los controles Label, TextBox,
CheckBox, ListBox, y ComboBox disponen de las propiedades DataSource y DataField que
serán las encargadas de asociarse a los datos. La primera contendrá el nombre del control data
correspondiente y la segunda el del campo sobre el que se va a actuar. En ejecución los controles
asociados presentarán los datos seleccionados.

& ESTRUCTURA DE UNA BASE DE DATOS.


Gracias al control Data y al resto de los controles para el manejo de la base de datos, se
conseguirán aplicaciones sin esfuerzo, pero una mayor flexibilidad se conseguirá accediendo a
estos objetos mediante código.

El objeto Database es una de las propiedades del control Data que permite acceder a los
distintos componentes de la base de datos previamente abierta, asignando el valor
correspondiente a la propiedad DatabaseName.

Las propiedades de un objeto Database son las siguientes:

ü Name: Contiene el nombre de la base de datos, incluido el camino y unidad. Este


valor será el asignado a DatabaseName del control Data.

ü Connect: Contendrá una cadena describiendo el tipo de base de base de datos a la que
se encuentra conectado el objeto Database.

ü Version: Permite conocer la versión del formato de base de datos.

ü CollatingOrder: Permite conocer la secuencia de ordenación de la base de datos, la


cual puede cambiar de unos países a otros.

ü Updatable: Permite saber si una base de datos es actualizable o no (True o False).

TABLAS DE LA BASE DE DATOS

La colección TableDefs es una lista de las tablas que se encuentran contenidas en una
base de datos y gracias a ella, será posible conocer sus nombres y atributos.

Manual de Microsoft Visual Basic® v. 5 Pág. 58 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Esta colección cuenta con un método Count que permite conocer el número de tablas.

Cada elemento de TableDefs es un objeto TableDef que cuenta con una serie de
propiedades:

ü Name: Contiene el nombre de la tabla.

ü SourceTableName: Presenta el nombre de la tabla origen si se trabaja con una


consulta.

ü Attributes: Permite conocer el tipo de tabla que se está consultando.

ü DateCreated: Fecha en que la tabla ha sido creada.

ü LastUpdated: Fecha de la última modificación.

ü Updatable: Permite saber si la tabla es actualizable o no.

ü RecordCount: Facilita el número de registros o líneas en la tabla.

COLUMNAS DE UNA TABLA

Una tabla puede contener múltiples columnas o campos a las que se podrá acceder
mediante la colección Fields del objeto TableDef. Esta colección enumera cada uno de los
campos existentes en una tabla recogiendo la información en objetos Field. Un objeto Field
posee las siguientes propiedades:

ü Name: Contiene el nombre del campo.

ü SourceTable: Nombre original de la tabla en una consulta.

ü SourceField: Nombre original del campo en una consulta.

ü Type: Contiene información sobre el tipo de campo (dbText, dbByte, etc.).

ü Size: Presenta el tamaño actual del campo.

ü Attributes: Muestra los atributos adicionales de un campo (longitud fija o variable,


etc.).

VALIDACION DE LOS DATOS

La entrada de datos en los campos de una tabla, supone la entrada de datos en los objetos
Field. Algunas de las posibilidades son:

Manual de Microsoft Visual Basic® v. 5 Pág. 59 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü AllowZeroLength: Asignándola el valor True, se fuerza a que la columna contenga de


forma obligatoria un valor.

ü DefaultValue: Permite asignar un valor por defecto a ese campo.

ü Required: Con True se obliga a la introducción de un valor no nulo en el campo.

ü Value: Contiene el valor actual del objeto Field.

CONSEGUIR LA ESTRUCTURA DE UNA BASE DE DATOS

Con las propiedades y colecciones anteriores, no habrá ningún problema para recoger
información sobre la estructura de una base de datos, pero se sigue dependiendo de la existencia
de un control Data.

Si no se dispone de un control Data en la aplicación, también será posible realizar todas


estas operaciones. Para la apertura de una base de datos, es necesario tener previamente un lugar
o área de trabajo. Aunque se puede disponer de múltiples zonas, existirá al menos una a la que se
hará referencia como WorkSpaces(0).

Un objeto del tipo WorkSpace tiene un método llamado OpenDatabase que servirá para
abrir cualquier base de datos pasando su nombre y ruta y una vez abierta se podrá acceder a ella
con lo visto anteriormente.

& MODIFICACION DE LA ESTRUCTURA.


La estructura de una base de datos se podrá ir modificando según las necesidades durante
la ejecución, aunque haya sido correctamente definida en el diseño.

Para la mayoría de las operaciones con la estructura se utilizarán básicamente dos


métodos existentes en cualquier colección: Append que añadirá nuevos objetos y Delete que los
eliminará.

AÑADIR Y ELIMINAR CAMPOS DE UNA TABLA

Para añadir un nuevo campo a una tabla, en primer lugar habrá que proceder a la apertura
de la base de datos y a la obtención de una referencia de la tabla a modificar.

Para crear el campo se utilizará el método CreateField al que habrá que pasar como
mínimo el nombre de la tabla. Como segundo parámetro se podrá pasar el tipo y como tercero el
tamaño, los cuales serán almacenados en una variable Field.

Manual de Microsoft Visual Basic® v. 5 Pág. 60 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Una vez creado el nuevo objeto y definidas, si se desea, sus propiedades, habrá que
añadirlo a la colección de campos de la tabla para lo que se usará el método Append de la
colección Fields cuyo parámetro será el objeto Field creado. Por ejemplo:

Set Campo = Tabla.CreateField("Nombre", dbText, 10)

donde Campo será una variable Field y Tabla una TableDef.

Para la eliminación de un campo el proceso es más sencillo, ya que solo es necesario usar
el método Delete de la colección Fields utilizando como parámetro el nombre de campo.

Tabla.Fields.Delete "Nombre"

AÑADIR Y ELIMINAR TABLAS DE UNA BASE DE DATOS

La creación de una tabla implica a su creación, la definición de todos sus campos. En


primer lugar habrá que crear el objeto TableDef correspondiente a la nueva tabla utilizando el
método CreateTableDef sobre la base de datos a usar. El parámetro obligatorio será el nombre
de la nueva tabla y opcionalmente sus atributos. Una vez definida la nueva tabla, para añadir los
campos se seguirá el procedimiento anterior.

Para la eliminación de una tabla se utilizará el método Delete de la colección TableDefs


de la base de datos, pasando el nombre de la tabla a eliminar.

'Definir las variables


Dim BaseDeDatos As Database
Dim Tabla As TableDef
Dim Columna As Field

'Abrir la base de datos


Set BaseDeDatos = WorkSpaces(0).OpenDatabase("PRUEBA.MDB")

'Crear nueva tabla


Set Tabla = BaseDeDatos.CreateTableDef("Agenda")

'Insertar en ella los campos


Set Columna = Tabla.CreateField("Nombre", dbText, 25)
Tabla.Fields.Append Columna
Set Columna = Tabla.CreateField("Dirección", dbText, 40)
Tabla.Fieds.Append Columna
...

'Añadir la nueva tabla a la base de datos


BaseDeDatos.TableDefs.Append Tabla

'Eliminar la tabla de la base de datos


BaseDeDatos.TableDefs.Delete "Agenda"

'Cerrar la tabla
BaseDeDatos.Close

Manual de Microsoft Visual Basic® v. 5 Pág. 61 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& CREACION DE UNA BASE DE DATOS.


La creación de una base de datos lo llevará a cabo el método CreateDatabase del área de
trabajo que se utilice (por defecto WorkSpaces(0))

Este método llevará obligatoriamente dos parámetros: el nombre de la base de datos (en
formato Access) y la secuencia de orden que tendrá la información en ella (generalmente
dbLangGeneral o dbLangSpanish).

Este método, devolverá una referencia al objeto Database creado, lo que permitirá con las
herramientas anteriores definir sus tablas y campos. La sintaxis será:

Set BaseDeDatos = WorkSpaces(0).CreateDatabase("PRUEBA.MDB", dbLangSpanish)

& ACCESO A LOS DATOS: RecordSets.


Para poder trabajar con los datos de una base, lo primero que habrá que hacer es
seleccionarlos. Para ello será necesario crear un objeto RecordSet, que será equivalente a la
propiedad RecordSet de un control Data cuya finalidad será el permitir el desplazamiento,
edición o cualquier otra operación sobre los datos.

Un objeto RecordSet cuenta con una serie de propiedades:

ü AbsolutePosition: Indicará el número de fila actual.

ü BOF: Indica si se está antes de la primera fila existente.

ü Bookmark: Establece u obtiene una marca.

ü DateCreated: Obtiene la fecha de creación.

ü EditMode: Muestra el estado de edición actual.

ü EOF: Indica si se está después de la última fila existente.

ü Filter: Presenta un filtro de selección de datos.

ü LastModified / LastUpdate: Ultima modificación y última actualización.

ü LockEdits Bloqueo de registros.

ü Name: Nombre del objeto.

ü NoMatch: Indica si se ha encontrado o no el dato buscado.

Manual de Microsoft Visual Basic® v. 5 Pág. 62 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü RecordCount: Número total de registros.

ü Sort: Orden de las filas.

ü Transactions / Updatable: Si permite transacciones y si es modificable.

ü Type: Tipo del objeto.

Para su manipulación este objeto cuenta con los siguientes métodos:

ü AddNew: Añade un nuevo registro.

ü CancelUpdate: Cancela las modificaciones realizadas.

ü Clone: Crea una copia del objeto RecordSet.

ü Delete: Elimina el registro actual.

ü Edit: Comienza la edición de un registro.

ü FindFirst: Busca la primera coincidencia de una condición.

ü FindNext : Busca la coincidencia siguiente.

ü FindLast : Busca la coincidencia anterior.

ü FindLast : Busca la última coincidencia.

ü Move: Desplaza el registro actual.

ü MoveFirst : Mueve al registro primero.

ü MoveNext / MovePrevious: Mueve al registro siguiente / anterior.

ü MoveLast : Mueve al último registro.

ü OpenRecordSet: Crea un nuevo objeto RecordSet.

ü Seek: Busca una clave en un índice.

ü Update: Actualiza los cambios en la base de datos.

CREACION DE UN OBJETO RECORDSET

Antes de poder utilizar cualquier propiedad o método de los expuestos anteriormente, es


necesario disponer de un objeto RecordSet que se creará gracias al método OpenRecordSet de la

Manual de Microsoft Visual Basic® v. 5 Pág. 63 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

base de datos que deberá de encontrarse abierta. Como primer parámetro habrá que pasar una
cadena indicando la tabla de la que se tomarán los registros (o sentencia SQL), que será
equivalente a la propiedad RecordSource del control Data. Como segundo parámetro y de
manera opcional se podrá pasar una constante indicando el tipo de objeto a crear.

& TABLAS, DYNASETS Y SNAPSHOTS.


TABLAS

Una Tabla es la representación física del diseño de una base de datos. Como los datos se
almacenan en tablas, el acceso a estas proporciona el acceso más directo a los datos. Las tablas
además son la única forma en un RecordSet que soporta índices así pues, buscar en una tabla un
registro determinado es más rápido que hacerlo en cualquier otro sitio.

Ventajas de utilizar tablas:

ü Se pueden usar índices para cambiar el orden de presentación de los datos durante la
ejecución del programa.

ü Se pueden llevar a cabo búsquedas rápidas de registros individuales usando un índice


con la orden Seek.

ü Los cambios realizados en una tabla están a disposición de otros usuarios. No es


necesario renovar la tabla para acceder a los registros.

Inconvenientes de usar tablas:

ü No es posible configurar filtros para limitar el número de registros a procesar según un


determinado criterio.

ü No se pueden utilizar órdenes Find en una tabla. La orden Seek localiza solamente el
primer registro que cumple el criterio.

DYNASETS

Un Dynaset es un conjunto de información de una o varias tablas de la base de datos. Esta


información está comprendida por campos seleccionados de las tablas presente generalmente, en
un orden determinado y filtrados de una determinada manera. Los Dynasets direccionan los
registros existentes en las tablas en el momento de su creación.

Realmente un Dynaset es un conjunto de punteros de registros que apuntan a datos


específicos que existían en el momento de la creación. Los cambios realizados en la información
del Dynaset se reflejan en las tablas en las tablas sobre las que golpea.

Manual de Microsoft Visual Basic® v. 5 Pág. 64 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Ventajas de utilizar dynasets:

ü Ofrecen la posibilidad de reunir información de diferentes tablas.

ü Se pueden usar los métodos Find para localizar o procesar cada registro siguiendo un
criterio.

ü Hacen uso de filtros y propiedades de clasificación para cambiar la apariencia de los


datos.

Inconvenientes de usar dynasets:

ü No se pueden crear índices. Esto impide que se cambie el orden de presentación si se


cambia el índice o se crea uno nuevo.

ü No refleja los cambios o eliminaciones que otro usuario o programa pueda realizar.
Este deberá de ser actualizado o creado de nuevo para presentar los cambios.

Para configurar un Dynaset y que se pueda usar dentro de un programa, se deberá definir el
objeto recordset y generarlo con el método OpenRecordSet. Al crear un Dynaset, la parte vital
del OpenRecordSet es la instrucción SQL que definirá los registros a incluir, condiciones del
filtro, etc. Si el Dynaset se crea a partir de una única tabla, se podrá especificar el nombre de la
tabla en lugar de usar el SQL.

SNAPSHOTS

Un Snapshot es una imagen o copia de los datos de un recordset en un determinado


instante de tiempo. Es similar al dynaset n que se crea a partir de las tablas de la base usando por
ejemplo, una instrucción SQL, pero se distingue en que no es actualizable. El uso más general
que tiene es para generar datos estáticos tales como informes o pantallas informativas.

Ventajas de utilizar snapshots:

ü Se puede reunir información de múltiples tablas.

ü Se pueden usar los métodos Find para localizar registros.

La navegación por los registros es más rápida que en un dynaset, ya es una copia de los
datos y no un conjunto de punteros a los mismos.

Inconvenientes de usar snapshots:

ü No son Recordsets actualizables.

ü No es posible crear índices para configurar el orden de los datos.

Manual de Microsoft Visual Basic® v. 5 Pág. 65 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

STRUCTURED QUERY LANGUAGE (SQL)

& SQL.
El lenguaje de consulta estructurado o SQL, es un conjunto especializado de órdenes de
programación que permite realizar las siguientes tareas:

ü Recuperar datos de una o más tablas de una base de datos

ü Manipular la información de las tablas

ü Obtener información resumida sobre los datos de las tablas

ü Crear, modificar o eliminar tablas de una base de datos.

ü Crear o eliminar índices en una tabla Access.

Las instrucciones SQL crean consultas que son procesadas por el motor de la base de datos
y permiten realizar operaciones en una línea que a Visual Basic le llevaría una buena porción de
código.

La consulta define los campos a procesar, tablas que la contienen, intervalos de registros a
procesar, etc.

Una instrucción SQL consta de tres partes:

1º. Declaraciones de parámetros: Parámetros adicionales que se pasan por el programa


en la instrucción SQL.

2º. Instrucción manipulante: Esta parte indica al motor que clase de acción ha de realizar
como SELECT o DELETE.

3º. Declaraciones de opciones: Estas indican al motor opciones de filtrado, agrupación de


datos o clasificaciones. Se incluyen las cláusulas WHERE, GROUP BY y ORDER BY.

Las instrucciones SQL no se pueden utilizar de manera aislada en Visual Basic. Su uso de
reserva para la creación de un QueryDef (parte de la base de datos que almacena la definición de
una consulta), un Dynaset o un Snapshot usando el método Execute, o como propiedad
RecordSource de un control de datos.

Manual de Microsoft Visual Basic® v. 5 Pág. 66 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

& INSTRUCCION SELECT.


La instrucción SELECT recupera registros (o campos) y coloca la información en un
dynaset o en una tabla para su posterior proceso. Esta instrucción presenta la siguiente sintaxis:

SELECT [predicado] Lista de campos FROM Lista de tablas

[relaciones de tablas]

[opciones de rango]

[opciones de clasificación]

[opciones de grupo]

Donde:

Predicado: Se utilizará para limitar el número de registros devueltos. Estos pueden ser
DISTINCT, DISTINCTROW, TOP o ALL (que será el valor por defecto).

Las distintas partes de la sentencia SELECT, especifican los datos que se han de
proporcionar a la base de datos.

USO DEL COMODIN

En la cláusula SELECT se puede utilizar un asterisco (*) para especificar que se deben
incluir todas la s columnas en el material recuperado. En el ejemplo SELECT * FROM empleados
se hará referencia a todos los campos de la tabla empleados.

ESPECIFICACION DE COLUMNAS

Las columnas de valores proporcionados a partir de tablas de bases de datos, se especifican


formando parte de la cláusula SELECT inmediatamente después de ella y separadas por comas.
Así en SELECT nombre, apellidos FROM empleados se hará referencia a los campos nombre y
apellidos de la tabla empleados.

UTILIZACION DE PREDICADOS

El uso de los predicados se limita a las consultas en la que los registros deben satisfacer un
determinado criterio. Los posibles valores son:

ü ALL: Valor asumido por defecto. En este caso no se presenta ninguna restricción, con
lo cual se presentarán todos los registros de la tabla o tablas especificadas.

Manual de Microsoft Visual Basic® v. 5 Pág. 67 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

ü DISTINCT: Omite los registros que contienen datos duplicados en los campos
seleccionados. Si SELECT contiene más de un campo, la combinación de valores de
todos los campos debe ser única para un registro concreto que se va a incluir en el
resultado.

ü DISTINCTROW: Omite los datos basados en registros duplicados completos,


comparando los valores de todos los campos en la tabla, estén o no entre los campos
seleccionados. Este predicado no es efectivo si la consulta es para una sola tabla.

ü TOP nº: Devuelve un número de registros especificados que se encuentran entre la


parte superior e inferior de un intervalo marcado por una cláusula ORDER BY.

ESPECIFICACION DE FILAS DE UNA TABLA: CLAUSULA WHERE

La cláusula WHERE se utiliza cuando la finalidad de la consulta sea recuperar algunas filas
(registros) de las tablas incluidas en un SELECT. Esta palabra reservada se utiliza para crear un
criterio para especificar las filas incluidas en una consulta. Esto puede proporcionar un paquete
de filas, una única o incluso ninguna. Los operadores que puede utilizar WHERE son los
operadores de comparación =, <, >, <>, etc.

SELECT nombre, apellidos En el ejemplo, se seleccionarán únicamente aquellos


FROM empleados registros cuyo apellido sea Pérez por las tablas nombre y
WHERE apellidos = 'Pérez'
apellido de la tabla empleados en la base de datos en uso.

Los números no necesitan ir entre ningún carácter, pero las cadenas de caracteres deberán
expresarse entre comillas simples y las fechas entre almohadillas.

ORDENACIONES: CLAUSULA ORDER BY

La cláusula ORDER BY, ordena los registros resultantes de una consulta por los campos
especificados de forma ascendente o descendente.

SELECT apellidos, nombre


FROM empleados
ORDER BY apellidos ASC

Sobre la consulta de la tabla empleados, se seleccionarán los campos apellidos y nombre


apareciendo el resultado ordenado por el campo apellidos de manera ascendente. La palabra
reservada ASC presenta una ordenación ascendente, mientras que DESC lo hace
descendentemente.

Manual de Microsoft Visual Basic® v. 5 Pág. 68 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

CREACION DE GRUPOS DE REGISTROS: CLAUSULA GROUP BY

Esta cláusula, permite obtener datos resumidos por uno o varios campos, combinando en
un único registro los registros con valores idénticos en la lista de campos especificada.

GROUP BY divide a una tabla en un grupo de filas. Las filas de cada grupo tendrán el
mismo valor que cierta columna especificada. Los valores duplicados de cada distinto valor se
ubican e el mismo grupo. Esta cláusula, llama a valores únicos de columnas después de ser
ordenados por orden ascendente (por defecto).

SELECT apellidos, nombre Este ejemplo agrupa las filas por la columna apellidos no
COUNT (dirección) mostrando aquellos que estén duplicados y estos son agrupados
FROM empleados
según otra cláusula (en este caso COUNT).
GROUP BY apellidos

Es posible añadir a GROUP BY la cláusula HAVING similar a WHERE pero que actúa
sobre el resultado de la agrupación.

CREACION DE UNA TABLA: CLAUSULA INTO

En los casos anteriores del SELECT, los resultados de la consulta se presentan en forma de
dynaset o snapshot. Como estos son temporales, el contenido se mantendrá mientras
permanezcan abiertos (aunque permanezcan los cambios realizados en las tablas de trabajo).
Pero si se desea almacenar de forma permanente la información del Recordset para usarla
posteriormente. Esto se realiza con la cláusula INTO de la instrucción SELECT. Gracias a ello, se
podrá indicar el nombre de la tabla de salida y opcionalmente el de la base de datos.

SELECT apellidos, nombre INTO copia_emple


FROM empleados
'Añade la consulta a una nueva tabla

***********

SELECT apellidos, nombre INTO copia_emple IN emple2


FROM empleados
'Añade la consulta a una nueva tabla en otra base de datos

Con INTO, se creará una nueva tabla copia_emple en la misma base de datos. Si después
del INTO se añade la palabra reservada IN se podrá designar esa nueva tabla a una base de datos
diferente. Esta base de datos deberá de existir en disco y si no se encuentra en el mismo
directorio que el actual se deberá indicar.

& INSTRUCCION DELETE.

Manual de Microsoft Visual Basic® v. 5 Pág. 69 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

La instrucción DELETE se utiliza para crear una consulta de acción. El propósito de esta
instrucción es eliminar determinados registros de una tabla. Estas consultas no devuelven un
grupo de registros en una dynaset como el SELECT, sino que trabajan como subrutinas de
programas, es decir, realizan su acción y continúan con la siguiente instrucción del programa.

En esta instrucción, la cláusula WHERE es opcional. Si se omite se eliminarán todos los


registros de la tabla, pero si se aplica, sólo se eliminarán aquellos que cumplan un determinado
criterio. En el siguiente ejemplo se eliminarán todos los registros de la tabla empleados, cuyo
campo apellido sea Gómez.

DELETE FROM empleados WHERE apellido = 'Gómez'

& INSTRUCCION INSERT.


La instrucción INSERT es otra consulta de acción. Esta instrucción se utiliza junto con
SELECT para añadir un grupo de registros a una tabla.

La parte SELECT de la instrucción se construye de la misma manera vista anteriormente y


su propósito es definir los registros que se tienen que añadir a la tabla, mientras que la
instrucción INSERT define la acción de añadir registros. En el siguiente ejemplo se añadirá a la
tabla emple2, los registros de la tabla empleados en los campos nombre y apellidos. La tabla de
salida (emple2) deberá existir en la base de datos y sus campos ser compatibles con los de
empleados.

INSERT INTO emple2 SELECT nombre, apellidos FROM empleados

& INSTRUCCION UPDATE.


La instrucción UPDATE también es consulta de acción. El uso de la misma es el cambio
de los valores de campos específicos en una tabla. El uso de la cláusula WHERE es opcional y si
no se utiliza, se cambiarán todos los registros de la tabla. La sintaxis es:

UPDATE nombre de la tabla SET campo = valor nuevo

UPDATE empleados Este ejemplo modifica el valor del campo importe en la


SET Importe = Importe * 1.1 tabla empleados cuando el apellido es Gómez.
WHERE apellido = 'Gómez'

& DEFINICION DE TABLAS.

Manual de Microsoft Visual Basic® v. 5 Pág. 70 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

Para la definición de tablas, es posible utilizar tres instrucciones DDL (lenguaje de


definición de datos) dentro de una instrucción SQL. Estas son:

ü Creación de tablas: CREATE TABLE: La instrucción CREATE TABLE, permite crear


una nueva tabla en la base de datos en uso. Para ello, tras la instrucción y el nombre de
la nueva tabla, habrá que pasar la definición de los campos (nombre y tipo de datos).

Create Table Agenda (Nombre TEXT(20), Fecha_nac DATE, Telefono LONG)

ü Modificación de una tabla: ALTER TABLE: Esta instrucción permite modificar la


estructura de una tabla, añadiendo o eliminando campos. Tras el comando y el
nombre de la tabla a modificar, se incluirán las cláusulas ADD COLUMN y DROP
COLUMN seguido del nombre de campo para agregar o eliminar el campo. Cuando
se elimina un campo que contiene datos, estos se perderán sin posibilidad de ser
recuperados.

Alter Table Agenda Add Column Edad BYTE 'Añade un campo Edad

Alter Table Agenda Drop Column Edad ' Elimina el campo apellidos

ü Eliminación de una tabla: DROP TABLE: Esta instrucción, elimina una tabla de la
base de datos y al finalizar el proceso, tanto estructura y datos (si hubiese) serán
irrecuperables.

Drop Table Agenda

Manual de Microsoft Visual Basic® v. 5 Pág. 71 http://www.serem.com


Cliente: LUCENT TECHNOLOGIES

TRANSACCIONES

& DEFINICION DE TRANSACCIONES.


Una Transacción es una unidad lógica de trabajo que puede incluir una o muchas
sentencias SQL.

Las transacciones pueden ser simples o de una sola sentencia o múltiple. Las primeras son
ideales cuando los resultados requeridos son sencillos, pero en las segundas se podrán unir os o
más sentencias SQL y enviarlas para su proceso.

Las transacciones, a diferencia de los procesamientos por lotes, no realizan ningún cambio
permanente hasta que se emite una instrucción COMMITTRANS y una transacción puede
deshacer sus cambios enviando una instrucción ROLLBACK.

Para realizar métodos de transacción, es necesario disponer de una sesión (conexión a una
base de datos) que se encuentre definida por un objeto Workspace. Los métodos a utilizar por las
transacciones son:

ü BeginTrans: Comienza una nueva transacción.

ü CommitTrans: Finaliza la transacción actual y almacena los cambios realizados.

ü Rollback: Termina la transacción activa y restaura las bases de datos definidas en el


objeto Workspace manteniéndolas igual que antes de comenzar la transacción.

La sintaxis de los métodos de transacción será la siguiente:

Espacio_de_trabajo.BeginTrans

Espacio_de_trabajo.CommitTrans

Espacio_de_trabajo.Rollback

Manual de Microsoft Visual Basic® v. 5 Pág. 72 http://www.serem.com

También podría gustarte