100% encontró este documento útil (1 voto)
1K vistas290 páginas

Visual Basic 6 OCR

Cargado por

delfos.delfin.95
Derechos de autor
© Attribution Non-Commercial (BY-NC)
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
100% encontró este documento útil (1 voto)
1K vistas290 páginas

Visual Basic 6 OCR

Cargado por

delfos.delfin.95
Derechos de autor
© Attribution Non-Commercial (BY-NC)
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

TODO EL

para Windows 98, Windows 95 y Windows NT


Edicin profesional en un solo libro

Marta Beatriz Martins Carrizo


EDITORIAL

~ILLAS
Mlxlco. Argentina. Espana. Colombia. Puerto Rico. Venezuela

1-

Catal~acin en la fuente
r

GYR Todo el Visual Basic 6.0 para Windws 98, Windows 95 y Windows NT: Edidn profesional en un solo libro : aproveche a fondo, con este libro, las ventajas de la ms reciente versin de Viwal Basic: mayores presentaciones, programacin ms rpida, simplicidad de uso: ideal tanto para principiantes Como para profesionales; autpaprendizajegarantizado. -- Mxico : Tnlas : GYR, 2000 (reimp. 2006). 285p. :l.; 27cm. 15BN 968-24-6059-X 1. Procesamiento electrnico de datos - Estudio y enseanza. 2. Programas de computacin. l. Martins Carrillo, Martha B. 11. t. 0 - 005.369'G698vb LC- QA76.28'69.82 3341
d

La presentacin y disposicin en conjunto de TODO EL VISUAL BASIC 6.0 Para Windows 98, Windows 95 y Windows N I Edicin profesional en un solo libro. Aproveche a fondo, con este libro, las ventajas de la ms reciente versin de Visual Basic; Mayores presentaciones; Programacin ms rpida; Simplicidad de uso: ideal tanto para principiantes como para profesionales; Autoaprendizaje garantizado son propiedad del editor. Ninguna parte de esta Obra puede ser reproducida o trasmitida, mediante ningn sistema o mtodo, electrnico o mecnico (incluyendo el fotocopiado, la grabacin o cualquiersistema de recu~eracidn y almacenamiento de informacin), sin consentimiento por escrito editor Derechos reservados Q 2000, Editorial Trillas, 5 . A. de C. K Divisin Administrativa Av. Ro Churubusco 385 Col. Pedro Mara Anaya, C. f? 03340 Mxico, D. E Tel. 56884233, FAX 56041364

Divisin Comercial Calzada de la Viga 11 32 C. f? 09439, Mxico, D. E Tel. 56330995 F A X 56330870

w,.[Link]

Miembro de la Cmara Nacional de Editoda/, Reg, 158 Primera edicin Argentina 00 (/sBN 987-9008-75-8) Segunda edicin 5 5 ( 1 s 9 ~6 ~ 8-2~-6059-~) (Pflmera publicada por edltoflal Trilas, 5,A, de C. V.)
Reimpresin, 2006 (51, 5L,

Impreso en Mxico Printed in Mexico

Introduccin
Palabras al lector ...............................................6 Acerca de "Visual Basic 6.0 en un solo libro" ......7 7 Caractersticas de Visual Basic 6.0 .................... Convenciones utilizadas .....................................8

Captulo 1 Programar en Visual Basic


Qu es Visual Basic ........................................... 9 Ventajas de las aplicaciones creadas 9 con Visual Basic ................................................. Versiones de Visual Basic 6.0 .......................... 10 Terminologa utilizada ....................................... 10 Ventajas de programar con Visual Basic ..........11 Cmo programar con Visual Basic ...................12 13 La planificacin ................................................. '13 La interfaz de usuario ....................................... Qu debe hacer el programa ............................ 14 Crear el programa Visual Basic ........................ 15 16 Probar el programa ........................................ 17 Crear un archivo ejecutable .............................. Cmo distribuir el programa Visual Basic .........17

Cmo colocar los controles en el formulario ................................................. 27 Cmo modificar el tamao y la posicin 29 de los controles u objetos ................................. Cmo modificar las propiedades de los objetos ........................................................ 29 Cmo cambiar las propiedades del control Label ..................................................... 31 Cmo cambiar las propiedades del control Picture .................................................. 33 Cmo cambiar las propiedades del formulario .................................................... 35 Cmo insertar un botn de comando................ 38 Cmo escribir un cdigo en un objeto .............. 39 Cmo probar el programa................................. 40 Cmo cambiar la posicin del formulario ..........40 Cmo guardar un proyecto ............................... 41 Compilar el proyecto ......................................... 42 El resultado esperado ....................................... 43 Cmo modificar el proyecto .............................. 45 Prueba y compilacin ....................................... 47

Captulo 2
Conociendo Visual Basic Cmo ingresar a Visual Basic ...........................18 La ventana de Visual Basic .............................. 19 El cuadro de herramientas ................................ 21 La ventana Explorador de proyectos ................22 La ventana Propiedades ...................................22 La ventana Posicin del formulario ................... 23 El Diseador de formularios .............................24

Captulo 4 Conceptos y terminologa Qu es un procedimiento .................................. 48 Qu es una propiedad ...................................... 49 Qu es un evento ............................................. 49 Qu es una variable ........................................ 50 Qu es una funcin ........................................ 50 Captulo 5 Trabajando con cuadros de entrada
Qu es un cuadro de entrada ........................... 51 Proyecto con cuadro de entrada ....................... 52 Cmo construir el cdigo de programacin ...... 57 Cmo visualizar el cdigo de programacin de un objeto ...................................................... 57 El cdigo para el botn de imprimir ................... 58 El cdigo para el cuadro de entrada ................. 59

Captulo 3 Un programa en Visual Basic


Planificacin del programa ............................... 26 Cmo insertar los controles para crear . .............................. 26 el mensaje ....................

Visual Basic 6.0 en un solo libro


Ejecucin del programa creado ........................61 Cmo utilizar bsicamente estructuras de decisin ....................................................... 63 La solucin al programa que se est creando ......................................... 64 Cuadros de entrada con varias lneas 66 de prompt .........................................................

Captulo 9 Estructuras de decisin


Qu es la programacin dirigida por eventos..................................................... 108 Utilizacin de estructuras de decisin.............109 Cmo utilizar la instruccin If con Elself ........................................................ 110 Programa con la instruccin Elself .................111 El cdigo de programacin ............................. 117 Cmo utilizar If con operadores lgicos ..........121 Programa con operadores lgicos en la instruccin If ............................................... 122 Modificar el procedimiento .............................. 126 Cmo utilizar la instruccin 128 Select Case .................................................... Programa con la instruccin Select Case ................................................... 129

Captulo 6 Trabajando con cuadros de mensaje


Qu es un cuadro de mensaje .......................... 68 Qu resultado se obtiene de MsgBox ............... 69 Cmo utilizar en un programa un cuadro de mensaje ....................................................... 70 71 Modificacin del cuadro de mensaje ................. Cmo agregar iconos al cuadro 72 de mensaje ....................................................... Cmo definir los botones que tendr el mensaje ........................................................72 Cmo definir el botn predeterminado en el cuadro de mensaje ................................. 76 Cmo combinar botones e iconos ....................77 Cuadro de mensaje con varias lneas de texto............................................................. 77

Captulo 10 Bucles dentro de un programa


Qu es un bucle ............................................. 132 132 El bucle For .................................................... Un programa con variables .............................133 133 El diseo del formulario .................................. Cmo crear una matriz de controles............... 137 La escritura del cdigo ................................... 139 142 Cmo salir de un bucle For ............................. El bucle Do .....................................................142 143 Cmo programar un bucle Do ........................ Cmo utilizar un formulario prearmado por Visual Basic ..............................................144 Cmo definir el formulario principal.................147 Modificacin del cdigo del nuevo formulario .............................................148

Captulo 7 Definiendo variables


Cmo utilizar variables ..................................... 79 Cmo indicar el tipo de dato que contendr la variable ........................................................ 80 Un programa con variables ...............................81 El diseo del formulario .................................... 82 87 La escritura del cdigo ..................................... Grabacin y prueba del programa ....................89

Captulo 8 Control de errores


92 Qu es un manejador de error .......................... Cmo detectar errores ......................................93 Cmo resolver los errores ................................93 Cmo programar el control de errores ..............94 Otro programa que muestra mensajes de error ............................................................. 97 El cdigo para el programa ............................. 100 Cmo solucionar estos errores ....................... 103 Cmo seguir la secuencia 106 de un programa ........................................

Captulo 11 Trabajando con menes


Qu es un men ............................................. 150 150 Qu es el editor de menes ............................ Cmo agregar componentes a la caja de herramientas .............................................. 151 Cmo crear una barra de men ......................152 El cdigo de programacin para el men .......159 Cmo corregir el error del programa...............166 170 Cmo crear un formulario Acerca de .............. Cmo asignar teclas rpidas a los 171 elementos de men ........................................

ndice general

Captulo 12 Utilizacin de cuadros de dilogo


Qu es un objeto de dilogo comn ...............173 Cmo crear un programa con cuadros de dilogo .......................................................173 Instrucciones necesarias para el programa .................................................... 179 Propiedades para el objeto de dilogo comn ........................................... 179 Qu es un archivo RTF .................................. 179 El mtodo LoadFile ......................................... 180 El mtodo SaveFile ....................................... 180 El cdigo de programacin ............................. 181 Cmo mejorar el programa ............................. 188 El cdigo para modificar la apariencia del texto .......................................................... 193

para bases de datos ...................................... 225 Cmo utilizar el asistente para una tabla ................................................. 227 El cdigo de programacin para agregar 232 registros ......................................................... Cmo eliminar registros en una base de datos .......................................................... 233 Cmo buscar registros en una base 235 de datos .......................................................... El cdigo de programacin para buscar registros ......................................................... 236 Cmo usar el asistente para dos tablas ..........238

Captulo 16 Utilizacin de nuevos controles


Que son los cuadros de lista .......................... Cmo crear un formulario con cuadros de lista ............................................................ 243 El cdigo de programacin para la lista ..........248 Qu son los controles de opcin ....................253 El cdigo para los controles de opcin ...........255

Captulo 13 Interaccin con el entorno


Cmo trabajar con texto seleccionado.............196 El objeto Clipboard ......................................... 196 Cmo escribir los procedimientos 197 del Editor de texto ............................................ Procedimientospara el men Edicin............. 197 Procedimientopara habilitar las opciones Cortar y Copiar ........................................ 198 Un toque profesional ...................................... 200

Captulo 17 Creacin de un protector de pantalla


Consideracionesiniciales ............................... 257 Qu es la animacin .......................................258 Cmo crear un formulario con animacin .......258 Cdigos para finalizar la ejecucin del protector de pantalla ................................. 261 El cdigo para mover una imagen ..................263 266 Cmo controlar las instancias ......................... Cmo ocultar y mostrar el mouse ...................268 Creando el archivo SCR ................................. 269

Captulo 14 Utilizacin de controles Timer


Qu es un objeto Timer ..................................206 Un proyecto con Timer ................................... 206 Otro ejemplo del uso del Timer ....................... 208 Cmo crear una alarma .................................. 213 Creacin del cdigo de programacin de la alarma ................................................. 2 17

Apndice Instalacin de Visual Basic 6.0


Requisitos del sistema ....................................271 Cmo instalar Visual Basic 6.0 ....................... 271 Cmo instalar Visual Basic en forma personalizada ................................................. 277 Cmo instalar la MSDN Library ......................280 Cmo agregar o eliminar componentes ya instalados ..................................................283 Cmo desinstalar Visual Basic ....................... 284

Captulo 15 Trabajo con bases de datos


Qu es una base de datos .............................. 221 Cmo crear un formulario para una base 222 de datos .......................................................... El asistente para disear formularios

M / ~ m f f Se autoriza el uso de este producto a:


Lic. Marta Beatriz Martins Carrizo Editorial GYR

V m S 1 U 0'
Palabras al lector

Este programa est protegido por leyes internacionales corno se describe en Acerca de, en el men Ayuda. Copyright 8 1987-1998 MicrosoR Corporation

El material ha sido desarrollado presuponiendo que el lector no tiene conocimientos previos sobre programacin en Visual Basic 6.0. Lo nico que se da por sabido es el manejo de Windows 95/98, de no ser as, antes de avanzar en la lectura del presente libro, recomendamos ejercitarse en su operacin mediante las publicaciones existentes en el mercado editorial, entre ellas las que llevan por ttulo "Todo el Windows 95 en un solo libro" y "Todo el Windows 98 en un solo libro ", respectivamente, pertenecientes a nuestro sello editorial y altamente recomendables para el nuevo usuario. Respecto de "Visual Basic 6.0 en un solo libro ", diremos que cualquiera que sea su nivel de experiencia en computacin, usted se beneficiar notablemente con los ejemplos e ilustraciones que encontrar en esta publicacin, conjuntamente con la explicacin de sus fundamentos tericos. De esta manera, podr decidir con pleno conocimiento la mejor forma de utilizar esta valiosa herramienta de programacin para la satisfaccin de sus necesidades, ya sea en el campo profesional o en el personal. Como interesante ejercicio, en el Captulo 17 se desarrolla el procedimiento necesario para crear su propio protector de pantalla para Windows, utilizando imgenes y efectos especiales que le permitirn mover los objetos que lo conforman.

Introduccin

Acerca de "Visual Basic 6.0 en un solo libro"


El libro ha sido estructurado tanto para el aprendizaje como para la consulta permanente, un rpido vistazo al ndice le permitir encontrar inmediatamente el tema buscado. Para ello ha sido dividido en 17 captulos, ordenados de forma tal que permiten al nuevo usuario comenzar a utilizar esta herramienta de programacin una vez ledos los primeros captulos. Desde all hasta el final se desarrollan importantes aspectos especializados del programa que, tarde o temprano, podran serle tiles. Este libro est basado en la Edicin Profesional de Visual Basic 6.0, no obstante, si usted dispone de la versin estndar del programa, igualmente podr aprovechar todos los ejercicios desarrollados para explicar las prestaciones de esta poderosa herramienta de programacin en Windows 95, Windows 98 y Windows NT. Nada, entonces, se ha omitido, y a la vez se ha puesto especial nfasis en dotar al libro de la claridad y amenidad que caracterizan y destacan a todas nuestras publicaciones.

Caractersticas de Visual Basic 6.0


Visual Basic 6.0 es una herramienta de programacin desarrollada por la empresa Microsoft que permite la creacin de aplicaciones para ser utilizadas en el entorno grfico de Windows, en cualquiera de sus versiones ms recientes. La versin 6.0 de Visual Basic integra un grupo de programas, llamado Visual Studio 6 Edicin Profesional. El grupo est integrado por los siguientes programas de desarrollo de aplicaciones: Visual Basic 6.0 edicin profesional, Visual C++ 6.0 edicin profesional, Visual FoxPro 6.0 edicin profesional, Visual InterDev 6.0 Y finalmente Visual J++ 6.0. Los proyectos o aplicaciones que se crean con Visual Basic 6.0 son ejecutables en sistemas operativos de 32 bits, tal como lo son Windows 95,98 y Windows NT. Con Visual Basic es posible crear programas que manejen informacin de una base de datos. Los formatos de bases de datos que puede utilizar Visual Basic son: Access, FoxPro, DBase y Paradox. Si posee conocimientos de alguna de estas bases de datos y dispone de archivos creados con las mismas, puede realizar un programa con Visual Basic para que gestione la informacin almacenada en esas bases de datos. Antes de comenzar a utilizar esta herramienta, es conveniente saber qu significa el nombre Visual Basic. La palabra Visual hace referencia a la caracterstica principal del mtodo que se utiliza para crear la interfaz grfica de usuario (GUI). Esta calidad de visual simplifica la tarea, puesto que no hace falta escribir numerosas lneas de cdigo para describir la apariencia y la ubicacin de los elementos de la interfaz, simplemente pueden agregarse objetos prediseados en su lugar dentro de la pantalla. Si ha utilizado alguna vez un programa de dibujo, tal como Paint, ya tiene la mayor parte de las habilidades necesarias para crear una interfaz de usuario efectiva. La palabra Basic hace referencia al lenguaje BASIC (Beginners All-Purpose Symbolic Instruction Code), el lenguaje utilizado por ms programadores que ningn otro lenguaje en la historia de la informtica o computacin. Visual Basic ha evolucionado

Visual Basic 6.0 en un solo libm

a partir del lenguaje BASIC original y contiene ahora centenares de instrucciones, funciones y palabras clave, muchas de las cuales estn directamente relacionadas con la interfaz grfica de Windows. Los usuarios o programadores principiantes pueden crear aplicaciones tiles con slo aprender unas pocas palabras clave, y los programadores profesionales podrn lograr cualquier objetivo que pueda alcanzarse medi'ante cualquier otro lenguaje de programacin de Windows.

Convenciones utilizadas

3
%

Indica que a continuacin se detallan los pasos a seguir para lograr un objetivo determinado, por ejemplo, acceder a una opcin del men, suministrar los parmetros necesarios, ejecutar y, por ltimo, imprimir el resultado. Se utiliza para indicar condiciones que deben cumplirse previamente a la ejecucin de ciertos pasos y tambin aclaraciones, notas de aplicacin, etc. Indica que se debe proceder con cuidado, debido a que el comando que se ejecutar puede provocar prdida de informacin.

Programar en Visual Basic

Qu es Visual Basic
Visual Basic es una herramienta de programacin que en su versin 6.0 permite crear aplicaciones de 32 bits para Windows 95,98 y Windows NT. Los programas o aplicaciones de 32 bits son ms veloces porque aprovechan el manejo de memoria de Windows 95, que es un sistema operativo de 32 bits, de este modo aprovechan el espacio de direcciones largas, ofreciendo una notable facilidad de manejo en un entorno multitarea. En consecuencia, cuando programe en Visual Basic 6.0 estar creando automticamente una aplicacin de 32 bits y mucho ms rpida (aproximadamente un 20%) aue las creadas con las versiones anteriores.

Nota: El lenguaje Visual Basic es utilizado en otras aplicaciones, como por ejemplo
Excel, Word, Access, Project, a fin de automatizar las tareas rutinarias. Por lo tanto, disponiendo de conocimientos de programacin en Visual Basic, podr crear macros (en este mismo lenguaje) en todas las aplicaciones mencionadas anteriormente y obtener as mayor rapidez y eficiencia en las tareas habituales.

Ventajas de las aplicaciones creadas con Visual Basic


Las aplicaciones creadas con Visual Basic 6.0 que se ejecutan en Windows ofrecen las siguientes ventajas:
J

Aprovechamiento mximo de los microprocesadores Pentium. Cada aplicacin Visual Basic se ejecuta en su propia rea de memoria, impidiendo de esta forma que un error provocado por otros programas interfiera en ella. Mejor manejo de las opciones de multitarea, permitiendo al usuario pasar de una aplicacin a otra con mayor facilidad y mayor confiabilidad de la informacin. Las aplicaciones creadas para administrar bases de datos pueden utilizar los datos con los formatos ms conocidos (Access, Paradox, SQL Server, etc.). Utiliza la tecnologa ActiveX para crear funciones para otras aplicaciones y, con la versin Profesional, se pueden crear programas para ser ejecutados desde un explorador de Internet.

Visual Basic 6.0 en un solo libro


Las capacidades de Internet facilitan el acceso a documentos y aplicaciones a travs de Internet o intranet desde su propia aplicacin, o la creacin de aplicaciones de servidor para Internet.

Versiones de Visual Basic 6.0


Existen tres versiones de Visual Basic 6.0. Todas poseen las caractersticas bsicas del programa, pero las diferencias entre ellas estn dadas por las opciones avanzadas que utiliza o brinda al programador.
J

de Aprendizaje: Es el programa base. Est formada por todos los componentes necesarios para la programacin en 32 bits tanto en Windows 95, 98 como en Windows NT, permitiendo crear aplicaciones importantes. Incluye todos los controles intrnsecos, adems de los controles de cuadrcula, de fichas y los controles enlazados a datos. La documentacin proporcionada con esta edicin incluye el CD Aprenda Visual Basic ya junto con el de la biblioteca de Microsoft Developer Network (MSDN) que contienen documentacin completa en pantalla. Profesional: Contiene todas las caractersticas de la versin de aprendizaje, pero adems agrega herramientas para el manejo de la informacin, tales como:
Controles ActiveX adicionales. El diseador de aplicaciones para Internet Infomzation Server. Visual Database Tools and Data para administrar bases de datos.
La documentacin que se proporciona con la Edicin Profesional incluye el libro Caractersticas empresariales de Visual Studio ms los CD de Microsoft Developer Network que contienen documentacin completa en pantalla

Empresarial: Es el producto ms completo de Visual Basic ya que posee todas las caractersticas de la versin profesional. Adems, incluye herramientas de Back Oflce como SQL Server, Microsoj? Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, etc. La documentacin impresa que se proporciona con la Edicin Empresarial incluye el libro Caractersticas empresariales de Visual Studio ms los CD de Microsoj? Developer Network que contienen documentacin completa en pantalla.

Terminologa utilizada
Hasta ahora usted habr ledo trminos como compilar y programa. En el transcurso de este libro tambin se utilizar con mucha frecuencia la palabra proyecto y por lo tanto, en esta seccin explicaremos cada uno de estos trminos.

Programar en Visual Basic

Compilar: Compilar significa crear un archivo ejecutable que pueda ser utilizado sin necesidad de tener instalado Visual Basic. Cuando compila un programa est creando un archivo con extensin .EXE. Programa: Un programa es un conjunto de instrucciones orientadas a realizar una tarea, tal como administrar archivos, manejar el presupuesto familiar, etc. Un programa puede ser algo tan simple como lo nombrado anteriormente o tan complejo como la administracin del personal de una empresa (con horarios, liquidacin de sueldos, etc.), una hoja de clculo (como Microsoft Excel), etc. Un programa realizado con Visual Basic es una aplicacin para Windows. Proyecto: Cuando programa en Visual Basic se crea un proyecto que luego se convertir en una aplicacin. Un proyecto es un conjunto de formularios, controles, objetos, propiedades de los objetos utilizados y el cdigo Visual Basic de programacin. Es decir que en un proyecto se encuentran enlazados todos los componentes que Visual Basic utiliza para desarrollar un programa.

Ventajas de programar con Visual Basic


El entorno grfico de Windows contiene tres elementos principales: las ventanas, los eventos y los mensajes. Cuando usted crea una aplicacin para Windows debe tener presente que en un entorno grfico los programas siempre responden a eventos. Por ejemplo, si oprime una tecla determinada ocurre "algo" o cuando da doble clic con el mouse sobre un objeto pasa "algo diferente", estos son eventos a los que debe estar preparada una aplicacin creada con Visual Basic. En las aplicaciones tradicionales o "por procedimientos", la aplicacin es la que controla qu partes de cdigo y en qu secuencia se ejecutan. La ejecucin comienza con la primera lnea de cdigo y contina con una ruta definida a travs de la aplicacin, llamando a los procedimientos segn se necesiten. En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada, ejecuta distintas secciones de cdigo como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicacin Visual Basic. La secuencia de esos eventos determina la secuencia en la que se ejecuta el cdigo, por lo que la ruta a travs del cdigo de la aplicacin es diferente cada vez que se ejecuta el programa. El cdigo tambin puede desencadenar eventos durante la ejecucin. Por ejemplo, cambiar mediante programacin el formato de texto hace que se produzca el evento y se ejecuten los comandos correspondientes. Otra ventaja es que Visual Basic utiliza una aproximacin interactiva para el desarrollo. En la mayora de los lenguajes, si comete un error al escribir el cdigo, el compilador intercepta este error cuando comience a compilar la aplicacin. Debe encontrar y

Visual Basic 6.0 en un solo libro


corregir el error y comenzar de nuevo con el ciclo de compilacin, repitiendo el proceso para cada error encontrado. Visual Basic interpreta el cdigo a medida que lo escribe, interceptando y resaltando la mayora de los errores de sintaxis en el momento. Es casi como tener un experto vigilando cmo escribe el cdigo. Adems, para interceptar errores sobre la marcha, Visual Basic tambin compila parcialmente el cdigo segn se escribe. Cuando est preparado para ejecutar y probar la aplicacin, tardar poco tiempo en terminar la compilacin. Si el compilador encuentra un error, quedar resaltado en el cdigo. Puede corregir el error y seguir compilando sin tener que comenzar de nuevo.

Cmo programar con Visual Basic


Cuando tenga que crear un programa en Visual Basic va a tener dos alternativas: se puede sentar delante de la computadora y empezar a crear todos los elementos que necesita, o puede determinar los pasos para el desarrollo del programa antes de escribirlo en su computadora. La primera alternativa, que aparenta ser la ms rpida, es la menos indicada para realizar un programa porque se pierde mucho tiempo determinando, a prueba y error, qu es lo que necesitar y cmo debe mostrarse la informacin. Si se sienta a planificar antes de programar, podr definir claramente qu necesita para lograr su objetivo: LA APLICACION.

Crear el programa

'7
Planificar Probar

: -!
, , ,

Interfaz de usuafio

Asignar propiedades

~scribir el & ~ g o

Figura 1.1 Ciclo de programacin

Los pasos que se deben considerar para la creacin del programa son los siguientes:

1.

Planificar el programa. Determinar la interfaz de usuario (diseo de pantallas, imgenes, controles).

2.
4.

3. Fijar qu debe hacer el programa.


Crear el programa con Visual Basic.

Programar en Visual Basic


5. Probar el programa.

6. Crear el archivo ejecutable.

Despus de realizar estos pasos, puede decidir si desea distribuir la aplicacin creada.

La planificacin
Una planificacin es una lista de pasos a seguir en un determinado orden. En programacin, sto se denomina algoritmo. La planificacin consiste en determinar qu debe hacer el programa. Esta tarea es muy importante porque en ella se p r e v e h los pasos que deben realizarse para obtener el resultado deseado. Realizar la planificacin del programa es algo similar a la planificacin de una salida al teatro un sbado a la noche. Invita a la o las personas que lo acompaarn al teatro, sacar las entradas pquaudo llega el da se preparar para asistir a la funcin, la figura 1.2 muestra una gsible planificacin de una salida al teatro.

--

--

---

--

Figura 1.2 Planijkacin de una salida al teatro

Realizar una buena planificacin ahorra tiempo y esfuerzo en el desarrollo del programa o proyecto en Visual Basic.

La interfaz de usuario
La interfaz de usuario (figura 1.3) est formada por el conjunto de las pantallas que se utilizarn en el programa.

Visual Basic 6.0 en un solo libro


Adems de las pantallas, tambin incluye:
J J

Los cuadros de dilogo. Los botones. Los objetos y dibujos. La barra de men. El formato del puntero del mouse.

J
J

Todos estos objetos se pueden crear con Visual Basic de una forma muy rpida. Si bien es posible modificar el formato estndar de cada uno de los elementos nombrados, conviene utilizar este formato, pues en la mayora de los casos, el usuario del programa Visual Basic ser una persona diferente al programador del mismo.
e. Propiedades de cuadro de texto

~a

Figura 1.3 Ejemplo de una interfaz de usuario

Cuando realiza una aplicacin en Visual Basic, es recomendable que dibuje un esquema de la interfaz de usuario, de esta forma estar ganando tiempo en la creacin del programa Visual Basic.

Qu debe hacer el programa


Adems de disear en borrador la interfaz de usuario, es muy importante planear qu debe hacer el programa. Para ello conviene realizar una serie de preguntas que nos orienten en la creacin del programa Visual Basic. Algunas preguntas que podnan formularse son las siguientes: Cul es el objetivo del programa? Qu informacin ingresar el usuario? Qu har el programa con la informacin?

Programar en Visual Basic


Qu respuestas producir y cmo las dar?

mi

Una buena definicin de lo que el programa debe realizar agilizar5 mucho el desarrollo del mismo.

Crear el programa Visual Basic


La programacin en Windows utilizando Visual Basic es muy simple y fcil. Consta de tres pasos: 1. Utilizar los controles de Visual Basic para crear la interfaz de usuario. La creacin del programa, como ya se dijo, es muy fcil, ya que la interfaz de usuario se dibuja como si fuera un grfico creado con cualquier graficador (PowerPoint, Paint, etctera).

Figura 1.4 Colocar un control para comenzar a crear una inte$az de usuario

Se elige el control que utilizar, luego mantiene presionando el botn del mouse y arrastra hasta que tenga el tamao deseado. Una vez ubicado el control puede moverlo o cambiarlo de lugar dentro de la interfaz de usuario que est creando (figura 1.4). 2.
Determinar las propiedades de cada uno de los controles utilizados en la interfaz de usuario. Una vez colocados los controles dentro del formulario que servir para la interfaz de usuario, podr personalizarlos cambindoles las propiedades, por ejemplo: el tipo de letra, colores de fondo, aspecto, etc. Las propiedades que se pueden modificar dependen del tipo de control que se est personalizando, o si se estn cambiando las propiedades de un grupo de controles. obje-

% Todos los controles que se utilizan en la interfaz de usuario se denominan Una vez insertados en ella cambian su denominacin para luego aplicar sotos. bre ellos cdigos de programacin.

)Cp

Visual Basic 6.0 en un solo libro


3.
Escribir el programa o cdigo para los elementos de la i n t e ~ a de z usuario. Finalizadas las dos etapas anteriores, deber utilizar la ventana de cdigo en donde construir el cdigo de la interfaz de usuario.

Figura 1.5 Control personalizado

En esta ventana de cdigo se determina la forma de ingresar datos al programa y la manera en que saldr la informacin. Tambin se indica la accin que realizar un control cuando el usuario haga un clic sobre el mismo (figura 1 .S). Cuando se programa el cdigo de un objeto o control se pueden escribir en el mismo las propiedades que modifican al objeto en el momento de la ejecucin, esto se denomina modificacin en tiempo de ejecucin (figura 1.6).
-

Figura 1.6 Ventana de cdigo

Programar en Visual Basic

Probar el programa
Cuando finaliza la programacin del proyecto, ste ser un modelo que deber ser probado para verificar si ejecuta lo que se espera de l. Si encuentra un problema o error tendr que resolverlo ya que usted es el programador. Pero no necesita hacerlo usted solo, puede utilizar las herramientas de depuracin de Visual Basic. En otros captulos, se tratar el uso de estas herramientas. Nota: Los errores en los programas se denominan defectos del software.

Crear un archivo ejecutable


Una vez desarrollado y probado el programa o proyecto Visual Basic, podr compiiarlo, es decir, crear un archivo ejecutable con extensin .EXE que funcionaren W i o w s . Este ser el ltimo paso en la creacin de la aplicacin Visual Basic para Windows. Luego podr ejecutarlo desde el Explorador de Windows o podr crearle un acceso directo en el escritorio de Windows.

Cmo distribuir el programa Visual Basic


Para comercializar o compartir el programa con otros usuarios, necesitar no slo la aplicacin Visual Basic creada sino que, en algunos casos, deber incluir archivos de Biblioteca de enlace dinmico (.DLL). Todos los programas que realice en Visual Basic necesitarn uno o ms de estos archivos para poder comercializarlos o distribuirlos. Los archivos .DLL que deber incluir, dependern del sistema operativo que est utilizando el "cliente" de su programa y de la versin de Visual Basic que haya utilizado para crear la aplicacin.

Conociendo Visual Basic

Cmo ingresar a Visual Basic

3 l. Haga

Para iniciar una sesin de Visual Basic 6.0 puede utilizar el mtodo que se describe a continuacin. un clic en el botn Inicio. 2. Elija la opcin Programas.

3. Seleccione la carpeta Microsoft Visual Basic 6.0.

4. Marque la opcin Visumil Basic 6.0. La figura 2.1 muestra cmo se ver la eleccin de la aplicacin que se utilizar.

Figura 2.1 Inicio de Visual Basic

Conociendo Visual Basic

% Si utiliza con frecuencia Visual Basic, le convendra crear un acceso directo en el escritorio de Windows e ingresar con doble clic sobre el mismo.
Visual Basic 6. O

Figura 2.2 Acceso directo & Visual Basic

La ventana de Visual Basfc


Cuando ingresa a Visual Basic aparece el cuadro del nuevo proyecto, tal como muestra la figura 2.3, donde podr elegir qu desea crear o abrir un proyecto ya existente.

Figura 2.3 Cuadro inicial para crear un proyecto nuevo

3
1-

1. Deje marcada la opcin EXE esthndar.

2. Presione el botn Abrir para cerrar este cuadro y as, visualizar la ventana o entorno de trabajo de Visual Basic con un proyecto nuevo para comenzar a crear un programa.
El entorno de trabajo posee caractersticassimilares a las aplicaciones del entorno de Windows, tal como lo muestra la figura 2.4. Dentro de la ventana de Microsoft Visual Basic aparece, a la izquierda, un cuadro con controles para utilizar en la creacin de la interfaz de usuario. Adems, prepara un fomzulario en blanco para que el usuario comience con la creacin de un nuevo proyecto.

Visual Basic 6.0 en un solo libro


Barra de titulo: La barra de ttulo muestra el nombre de la aplicacin y el nombre del proyecto que se est desarrollando. Tambin indica si se est en modo diseo o en modo ejecucin. Esto seala si est creando y personalizando controles o est probando el programa para verificar si realiza lo esperado.

Figura 2.4 Entorno de trabajo de Visual Basic


J

Barra de men: Posee todos los comandos que puede utilizar para desarrollar un nuevo proyecto o modificar uno existente. As como tambin poder elegir qu desea visualizar en el entorno de trabajo de Visual Basic. Barra de herramientas: Contiene a los iconos que permiten realizar tareas comunes para el desarrollo del proyecto. A la derecha de la barra se observan dos recuadros que muestran nmeros, uno de ellos indica la posicin del ngulo superior izquierdo del formulario de la interfaz de usuario, en tanto que el otro muestra el tamao del formulario o control que se est agregando a esa interfaz, tal como puede observarse en la figura 2.5.

Figura 2.5 Coordenadas del formulario y tamao del objeto

Conociendo Visual Basic

El cuadro de herramientas
Dentro de la ventana de Visual Basic se encuentra, a la izquierda, un cuadro que posee todos los controles que se pueden utilizar en el desarrollo de la interfaz de usuario: botones, listas desplegables, barras de desplazamiento, imgenes, etc., como muestra la figura 2.6.
Control para cerrar el cuadro de herramientas.

Figura 2.6 Cuadro de herramientas

Una vez que los controles son aadidos a la interfaz de usuario se convierten en objetos cuyas propiedades pueden modificarse, es decir, cambiar sus atributos (tamao, color, texto, etc.). La mayora de los controles del cuadro de herramientas, insertados en el formulario, estarn visibles mientras disea la interfaz de usuario y cuando ejecute el proyecto. Existen algunos controles que slo se visualizan en modo diseo y en el momento de la ejecucin se ocultan. Estos controles se utilizan para que ejecuten instrucciones sin que el usuario del proyecto se d cuenta. Ejemplos de estos controles son: control del tiempo de ejecucin del programa (tambin llamado Timer), manejo de la informacin en las bases de datos, etctera.
1 \
I I

Para ocultar el cuadro de herramientas:

D un clic en el icono de cierre que aparece en el ngulo superior derecho del cuadro.
Para visualizar el cuadro de herramientas: En el men Ver, elija la opcin Cuadro de herramientas o el icono correspondiente.

Visual Basic 6.0 en un solo libro

La ventana Explorador de proyectos . Todos los programas que se realizan con Visual Basic estn formados por un conjunto
de archivos que, en el momento de la compilacin, se entrelazan. Estos archivos entre otro son:

a 1

Formularios: Los programas pueden estar formados por varios formularios, cada uno de ellos representado por un archivo con extensin .FRM. Mdulos: Son archivos con extensin .BAS que contienen cdigos que comparten todas las partes del programa.
La ventana del Examinador de proyectos contiene la lista de todos los archivos (formularios, mdulos) que conforman el proyecto Visual Basic y en la barra de ttulo muestra el nombre del proyecto. Los archivos de proyecto se almacenan con una extensin .VBP. La figura 2.7 muestra la ventana del Explorador de proyectos con un proyecto nuevo, que tiene un nombre temporal Proyectol, y est formado por un nico formulario para definir en l la interfaz de usuario.
- Cuadro para cerrar la ventana del Explorador de proyectos.

Figura 2.7 Ventana del Explorador de proyectos

Para ocultar la ventana del Explorador de proyectos:

PI

3
a

D un clic en el icono de cierre que aparece en el ngulo superior derecho de la ventana.

Para visualizar la ventana del Explorador de proyectos:


En el men Ver, elija la opcin Explorador de proyectos o en el icono correspondiente.

La ventana Propiedades
La ventana correspondiente a las Propiedades permite cambiar las caractersticas de los controles que forman la interfaz de usuario y los valores correspondientes al formulario que sirve de base para la creacin de las pantallas que se necesitarn. Las propiedades se pueden cambiar para un elemento en especial o para un grupo de

Conociendo Visual Bacic


elementos. Por ejemplo, si se incluyeron en el formulario dos etiquetas y ambas deben tener el mismo tipo de letra, color, etc., se podrn seleccionar y luego hacer el cambio deseado. Con esta ventana de propiedades se pueden modificar las opciones correspondientes al formulario, es decir cambiar el ttulo de la barra de ttulo, el color de fondo del formulario, etc., tal como puede apreciarse en la figura 2.8.
Cuadro para cerrar la ventana de Propiedades.

Figura 2.8 Ventana Propiedades

1 \

Para ocultar la ventana Propiedades:


Haga un clic en el icono de cierre que aparece en el ngulo superior derecho de la ventana.

Para visualizar la ventana Propiedades:


En el menii Ver, elija la opcin Ventana Propiedades o el icono correspondiente. Las propiedades de cada uno de los objetos de un programa, incluyendo las correspondientes al formulario, se pueden modificar en modo diseo utilizando la ventana de propiedades o se pueden modificar en modo ejecucin del programa. Esto significa que las propiedades pueden ser programadas dentro del cdigo del programa. En este libro se irn tratando las propiedades a medida que sean requeridas para no dificultar el aprendizaje de las mismas.

La ventana Posicin del formulario


Cuando est diseando la interfaz de usuario es muy importante definir dnde aparecer el cuadro o la ventana que le mostrar la informacin al usuario. Es decir, que de establecer la posicin del formulario sobre el escritorio de Windows. Esta tarea se vuelve ms importante cuando la interfaz de usuario est formada por dos o ms formularios. Por ejemplo, si despus de ingresar datos en una ventana debe abrirse otra con datos adicionales, es recomendable que la segunda ventana no oculte

Visual Basic 6.0 en un solo libro


totalmente a la primera, de esa forma el usuario de la aplicacin que est creando podr volver a la ventana anterior sin ningn problema. La ventana llamada Posicin del formulario le brinda una visin de la posicin del formulario activo en la pantalla o el escritono de Windows, tal como exhibe la figura 2.9.
Posicin actual del formulario.

Cuadro que cierra la ventana que muestra la Posicibn del formulario.

Figura 2.9 Ventana que muestra la Posicin del formulario

Como puede observar en la figura anterior, el formulario (o la interfaz de usuario) aparecer arriba y a la izquierda de la pantalla. Si desea que aparezca en otra posicin solamente necesitar moverlo de la siguiente forma:

1. Posicione el puntero del rnouse en la ventana Posicin del formulario y ubquelo


sobre el formulario propiamente dicho. Notar que el puntero del mouse asume el formato de una cruz con puntas de flechas.

2. Arrastre hasta ubicar el formulario en la posicin deseada. Solamente visualizar


el cambio en la ventana que muestra la Posicin del formulario, ya que esto afecta a la ejecucin del programa o proyecto, no al diseo del mismo.

Para ocultar la ventana Posicin del formulario:


1 \

Haga un clic en el icono de cierre que aparece en el ngulo superior derecho de la ventana.

Para visualizar la ventana Posicin del formulario:

En el men Ver, elija la opcin Ventana Posicin del formulario o el icono correspondiente.

El Diseador de formularios
Cuando se inicia una sesin de Visual Basic y se indica que se desea crear un proyecto estndar, aparece la estructura de un proyecto nuevo para que se pueda comenzar a trabajar. Este proyecto nuevo muestra una ventana llamada Diseador de formularios que contiene un formulario vaco y con un nombre temporario: Forml. Dentro del formulario se puede observar una rejilla que le ayudar en la creacin de la interfaz de usuario, como puede observar en la figura 2.10. Este formulario puede tener un tamao personalizado, tarea que se puede realizar con el mouse de la misma forma que se redimensiona cualquier objeto de un entorno grfico como el de Windows, es decir utilizando los nodos que rodean al formulario.

Conociendo Visual Basic

lEfj

Dentro del formulario se pueden colocar todo tipo de controles: menes, botones, cuadros de lista, barras de desplazamiento, etc. Adems, puede incluir a aquellos controles que no se ven en modo ejecucin del programa, pero que sirven para ejecutar alguna tarea especial.

a. Provecto1 - Forml
,
Farml

[Forml

mal
1

Figura 2.10 Formulario base para la integaz de usuario


1 \

Para ocultar la ventana del Diseador de formularios:


Haga un clic en el icono de cierre que aparece en el ngulo superior derecho de la ventana.

3 l.

Para visualizar la ventana del Diseador de formularios:


Haga un clic en el icono de la ventana del proyecto, si no estuviera visible. 2. Seleccione el formulario que desea examinar, actualmente slo existe un formulario que ya est seleccionado.

3. Haga un clic en el icono Ver objeto, tal como muestra la figura 2.11.

Figura 2.11 Forma de volver a visualizar el formulario cerrado

Un programa en Visual Basic

En este captulo se detallarn los pasos a seguir para crear un programa sencillo. Posteriormente se lo personalizar hasta obtener un programa ms "elaborado". El resultado final de este programa ser un archivo ejecutable que podr ser ejecutado de la misma forma en que ejecuta una aplicacin Windows.

Planificacin del programa


Como se explic en el Captulo 1, el primer paso para crear un programa es preparar la planificacin. Esto significa que se debe definir el objetivo que tendr el programa y qu pasos se realizarn para lograr dicho objetivo. Debido a que es el primer programa que realizar, conviene comenzar con uno fcil. Suponga que desea crear un programa que muestre un mensaje de bienvenida para que ejecute cuando inicia Windows. La planificacin de este programa es la siguiente: Objetivo: Mensaje de bienvenida al ingresar a Windows. Escribir y disear el mensaje. Agregar una o varias imgenes para realzarlo. Ajustar y personalizar la ventana que contendr el mensaje. Escribir el cdigo de programacin Visual Basic, si fuera necesario. Probar y compilar el programa. Agregar un acceso directo a la carpeta Inicio para que se autoejecute al iniciar Windows. Resultado esperado: Iniciar Windows. Visualizar el mensaje y salir.

Pasos iniciales:

Cmo insertar los controles para crear el mensaje


En esta parte, se detallarn los pasos para disear la i n t e ~ ade z usuario, en este caso, el cuadro de mensaje de bienvenida.

Un programa en Visual Basic

Cuando usted est creando un programa en Visual Basic, est creando un proyecto. Al iniciar Visual Basic para crear un programa ejecutable estndar, siempre aparece un formulario de un proyecto nuevo y que, en este caso, utilizar para crear el programa de mensaje. Todos los formularios sirven para crear una interfaz de usuario. Para crear la interfaz de usuario de este programa, se utilizarn diferentes herramientas que aparecen en el Cuadro de herramientas. Cada una de ellas generar controles, y cada uno de stos tendr un nombre, el que se utilizar para crear el cdigo de programacin en Visual Basic. Cuando un control es incluido en un formulario se convierte en un objeto al que se le pueden modificar sus propiedades y asignarle algn cdigo de programacin. Para facilitar el aprendizaje de la programacin en Visual Basic, en este libro se nombrarn los controles de la misma forma que en el cdigo de programacin. Cuando se inserta un control, por ejemplo el control Label, ste asume el nombre Labell. Un nmero acompaar siempre al nombre del control y este nmero ir variando de acuerdo con la cantidad de controles iguales que se agreguen al formulario, es decir que al insertar un segundo control Label, ste tendr el nombre Label2. Los controles que se utilizarn en este programa o proyecto Visual Basic son los siguientes:

a a l

Label

Etiqueta o texto fijo que apimceren el formulario de la interfaz de usuario.

Picture Recuadro de imagen o dibujo que puede insertarse en el formulario.

% Todos los controles se de la misma forma que creara un elemento dentro de Paint o cualquier herramienta de graficacin.
dibujan

Cmo colocar los controles en el formulario


Insertar controles en un formulario para crear la interfaz de usuario, es similar a colocar un objeto dentro de cualquier aplicacin para el entorno de Windows (ya sea 95, 98 o NT). Es decir que debe seleccionarse el control que se desea insertar y luego trazar con el mouse el tamao que tendr, indicando adems la posicin del formulario.

6%3

1. Inicie una sesin de Visual Basic.

2. Haga un clic en el icono Label del cuadro de herramientas.


3. Coloque el puntero del mouse en la parte superior izquierda del formulario y dibuje un rectngulo. A media que va arrastrando aparecer un cartel con el tamao que le est dando al control. Cuando suelte el mouse habr creado el control Labell. El formulario de la figura 3.1 muestra el control insertado.
4. Haga un clic en el icono Picture.

Visual Basic 6.0 en un solo libro


5. Dibuje un cuadrado en el ngulo inferior izquierdo del formulario. Al crearlo ver un recuadro con efecto tridimensional sin ningn nombre visible, pero si puede observar el cuadro de propiedades, ver que tiene el nombre Picturel (figura 3.2, derecha).

Figura 3.1 Formulario con un control insertado

La figura 3.2 muestra los dos controles insertados. Luego se proceder a cambiar las propiedades de los controles insertados en el formulario y de esta forma se podrn cambiar los parmetros de la etiqueta de texto y de la imagen.

Nombre del control insertado en el formulario.

Figura 3.2 Dos controles insertados

Un programa en Visual Basic

Cmo modificar el tamao y la posicin de los controles u objetos


Tanto el formulario como los controles incluidos en l pueden ser modificados en su tamao o posicin. El tamao del formulario se modifica de la misma forma que una ventana de aplicacin de Windows:

l. Posicione el puntero del mouse sobre los bordes del formulario.


2. Mantenga presionado y arrastre hasta obtener el tamao deseado.

9
3
1 \

Con los controles u objetos que estn dentro del formulario el procedimiento es similar.

Si desea mover un objeto:


1. Coloque el puntero del mouse sobre el objeto que desea mover.

2. Mantenga presionado y arrastre hasta llegar al lugar deseado. Si desea cambiar el tamao de un objeto: 1 . Haga un clic sobre el objeto que desea redimensionar. De esta forma el objeto queda seleccionado y se visualizan nodos alrededor de l. 2. Posicione el puntero del mouse sobre uno de los nodos.

3. Mantenga presionado y arrastre hasta obtener el tamao deseado.

Cmo modificar las propiedades de l o s objetos


-

I r -

&,r . .

>%

La modificacin de las propiedades se puede realizar utilizando solamente la ventana de propiedades o el formulario y dicha ventana. En la parte superior de la ventana de propiedades se puede observar la lista desplegable con los controles u objetos que fueron insertados en el formulario para crear el proyecto, tal como muestra la figura 3.3.

Figura 3.3 Lista de controles u objetos utilizados para la interfaz de usuario

El formulario en s tarnbiCn es considerado un objeto.

Cada tipo de objeto tiene sus propias caractersticas, ya que no es lo mismo personalizar un control de texto (Label) que una imagen o dibujo (Picture).

Visual Basic 6.0 en un solo libro


Para visualizar los objetos cuyas propiedades pueden modificarse, ejecute los siguientes pasos:

l. En el men Ver, elija la opcin Ventana Propiedades 0 el icono correspondiente.


2. Haga un clic en el control que aparece en la parte superior de la ventana de propiedades para visualizar la lista de controles utilizados.
3. Elija un objeto y observe el listado de propiedades disponibles para modificar.
4. Cambie a otro tipo de control y verifique que las propiedades no sean las mismas que observ en el punto anterior.
No es necesario cambiar todas las propiedades, sino que se deben "tocar" solamente aqullas que resulten necesarias para la tarea que se desea llevar a cabo. Incluso puede cambiar el nombre del control para que refleje el tipo de dato, por ejemplo: si utiliza dos controles iguales, uno para un ttulo y otro para un texto adicional, tal vez le convenga cambiar el nombre Labell y Label2 por Ttuio y TextoAdicional, respectivamente. Para facilitarle el aprendizaje del manejo de las propiedades, se irn describiendo a medida que stas se necesiten. A continuacin se detallan las propiedades que aparecen en casi todos los controles u objetos y que son muy utilizadas.
J

Caption: Contiene el texto que se visualizar en el control que se est personalizando. Puede contener, por ejemplo, el texto del botn de comando, el texto de la barra de ttulo del formulario, etctera. Font: En esta propiedad se puede especificar el tipo de letra, tamao y atributos que tendr el texto de una etiqueta, cuadro de texto, etctera. Name: Contiene el nombre del control u objeto que se est personalizando. Si no se modifican, quedan los nombres por omisin, que son indicados anteriormente (cuando se insertaron en el formulario). Picture: No es una opcin que est disponible para muchos objetos, pero se utilizar en este ejemplo y por lo tanto se incluye en esta lista de propiedades. En esta propiedad se indica el archivo de imagen (.BMP, .WMF, etc.) que se visualizar en un cuadro de imagen o dibujo, y tambin puede incluirse en el formulario.

Otras propiedades que se utilizarn en este ejemplo no se listan dentro de las ms utilizadas porque, segn el control que se est personalizando, vara su efecto. En otros captulos se utilizarn otras propiedades e incluso, algunas de ellas sern modificadas utilizando la programacin en Visual Basic.

Un programa en Visual Basic

Cmo cambiar las propiedades del control Label


A continuacin se indicarn los pasos para personalizar una etiqueta o texto fijo en el formulario.

3 1.
U 1

En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

2. Haga un clic en el control de la ventana Propiedades y elija el control Labell de la lista desplegable.

3. Haga doble clic sobre la propiedad Caption. Luego ver que el texto que figura en la segunda columna queda seleccionado, como muestra la figura 3.4.

Figura 3.4 Propiedad a modijkar

U
Figura 3.5 Cuadro de cambio de tipografa

Visual Basic 6.0 en un solo libro


4. Escriba el mensaje de bienvenida, por ejemplo: Que tengas un buen da. Observe que a medida que va escribiendo en la ventana Propiedades, tambin aparece el texto en el formulario.
5. Presione la tecla] [ para finalizar el ingreso de texto dentro de la propiedad.

6. Utilice la barra de desplazamiento para visualizar la propiedad Font.


7. Haga doble clic sobre la propiedad Font y aparecer el cuadro de la figura 3.5 que se muestra en la pgina anterior, donde podr elegir el tipo de letra que desea para el mensaje.

8. Si desea seguir este ejemplo, elija las siguientes opciones para la propiedad Font: Arial, Negrita de 22 puntos.

9. Haga un clic en el botn Aceptar. Si el texto es demasiado grande para el espacio reservado al efecto, tal como se aprecia en la figura 3.6, podr ampliar el recuadro del control Labell utilizando los nodos que rodean al mismo.

,.

. . . . . . . . .

......................

.Que tengas un buen. ! ! :

.:::::::.:
. . . .
' ' ' '

'

Figura 3.6 Texto demasiado grande para el espacio que se le reserv

10. Haga doble clic sobre la propiedad ForeColor para modificar el color del texto
del mensaje. Ver un cuadro indicando los colores activos para los distintos elementos del entorno de Windows. 11. Haga un clic en la solapa Paleta y ver la gama de colores que puede utilizar para el texto, tal como aparece en la figura 3.7.

AlFabdtica por catworbas

Un programa en Visual Basic


12. Elija el color que desea usar para el texto. Por ejemplo, utilice uno de los tonos azules. 13. Utilice la barra de desplazamiento para visualizar la propiedad Alignment. 14. Haga un clic sobre la propiedad Alignment y visualizar un control en la columna derecha de la ventana Propiedades.
15. Haga un clic en el control y elija 2 Center.

Para seleccionar un tipo de alineacin, tambin puede utilizar el doble clic sobre la propiedad: el primer doble clic cambia a la alineacin derecha y el segundo doble clic, a la alineacin centrada, si presiona nuevamente doble clic, volver a la alineacin izquierda. Este procedimiento es vlido para cualquier propiedad que presente un botn de control.

Como resultado de las modificaciones realizadas al cuadro de texto Labell, deber haber llegado a un control modificado similar al que se observa en la figura 3.8.
Proyecto1 - Forml [Form]

i Que tengas un bue


II
Figura 3.8 Control Labell modijicado

Sugerencia: Si desea que el texto quede centrado en el formulario, deber6 aumentar el ancho del control para que sea igual al del formulario, es decir llevar los nodos de los laterales hasta que toquen el borde del formulario.

Cmo cambiar las propiedades del control Picture


En un control de este tipo se puede colocar cualquier tipo de archivo de imagen, por ejemplo podran ser incluidos en el control de imagen o dibujo los archivos con extensin .BMP o .WMF, que siempre traen los programas estndares que uno instala en Ia computadora.

3
l a

l. En el menl Ver, elija la opcin Ventana Propiedades o haga un clic en el icono correspondiente.

2. Haga un clic en el control de la ventana Propiedades y elija el control Picturel de la lista desplegable.
3. Haga doble clic sobre la propiedad Picture y aparecer el cuadro de la figura 3.9.

Visual Basic 6.0 en un solo libro

Figura 3.9 Cuadro de eleccin de una imagen o dibujo

4. Elija la carpeta y el nombre del archivo de imagen que desee incluir en el control Picturel. Si instal los grficos que trae la versin Profesional, podr elegir alguno de ellos o tomar los que trae el paquete de Microsoft Office o cualquier otro programa que contenga imgenes. Para el ejemplo se utilizar el archivo [Link] que se encuentra en la carpeta C:\Archivos de programaWicrosoft Office\Clipart\Popular.
5. Haga un clic en el botn Abrir y la imagen quedar insertada en el control Picturel.
6. Utilice la barra de desplazamiento para visualizar la propiedad Appearance, que le va permitir cambiar la apariencia tridimensional que tiene el control Picturel.
7. Haga doble clic sobre la propiedad Appearance para cambiar la apariencia tridimensional a O Flat (plano).

8. Haga doble clic sobre la propiedad BorderStyle para eliminar el borde o marco que rodea a la imagen, elija O - None. Si la imagen tiene un fondo blanco y no le agrada, podr darle el mismo que tiene el formulario o cambiarlo por otro. 9. Haga doble clic sobre la propiedad BackColor para modificar el color de fondo de la imagen insertada.

10. Haga un clic en la solapa Paleta y elija el color que desee, por ejemplo: el mismo que tiene de fondo el formulario.
Finalizado el cambio de las propiedades de la imagen o dibujo, si fuera necesario, podr cambiar el tamao y la posicin de los controles que personaliz. La figura 3.1 1 muestra un ejemplo de la apariencia actual del formulario.

Un programa en Visual Basic

Figura 3.10 Eleccin del color de fondo de la imagen

Figura 3.1 1 Formulario con todos los controles personalizados

Cmo cambiar las propiedades del formulario


A un formulario se le pueden modificar las propiedades correspondientes al color de fondo, el texto de la barra de ttulo, el icono que lo acompaa, etctera.

Nota: Si cambia el icono que acompaa al formulario, ste ser el que represente a la aplicacin una vez creado el archivo ejecutable (.EXE), que se ver ms adelante en este captulo.

Visual Basic 6.0 en un solo libro

3 l.
m

En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

2. Haga un clic en el control de la ventana Propiedades y elija el formulario Forml de la lista desplegable.
3. Haga doble clic sobre la propiedad Caption para cambiar el texto de la barra de ttulo, y escriba Bienvenida.
4. Presione la tecla

[m) para confirmar el ingreso del titulo.

5. Utilice la barra de desplazamiento hasta mostrar la propiedad MaxButton.

6. Haga doble clic sobre la propiedad MaxButton para cambiarla al estado False. Este cambio anula el botn de maximizar y de esta forma se impide que el formulario sea maximizado.
7. Haga doble clic sobre la propiedad MinButton para cambiarla al estado False. Al modificar esta propiedad se anula el botn de minimizar, impidiendo que el formulario sea minimizado.

8. Utilice la barra de desplazamiento para mostrar la propiedad BorderStyle, que le permitir definir si desea o no que se pueda cambiar el tamao de la ventana. 9. Haga un clic en la propiedad BorderStyle para mostrar el control de eleccin de opciones.

10. Haga un clic en el control y elija la opcin 1-Fixed Single. De esta forma no se podr cambiar el tamao de la ventana del formulario. 11. Utilice la barra de desplazamiento para visualizar la propiedad Icon. 12. Haga doble clic sobre la propiedad Icon y visualizar el cuadro que muestra la figura 3.12 para que elija el archivo de imagen de icono (archivos con extensin .ICO o .CUR) que desee asociar al formulario. Esta propiedad puede darle calidad al programa que se est creando.
rr icono
Buscar e r - 1 -

Figura 3.12 Cuadro de eleccin del icono para el formulario

Un programa en Visual Basic

13. Elija la carpeta que contiene al archivo que representar a la aplicacin que est creando, y luego elija al archivo. Por ejemplo, si instal los componentes grficos que trae la versin Profesional de Visual Basic 6.0, podr elegir alguno de los que figuran en la ruta que muestra la figura 3.13.

ISC

Figura 3.13 Ejemplo de carpeta que contiene iconos para utilizar con Visual Basic 6.0

14. Presione el botn Abrir y el icono elegido aparecer en el ngulo superior izquierdo de la barra de ttulos del formulario.

Sugerencia: Elija un icono que est acorde con el programa o proyecto que est desarrollando, ya que ste ser el que acompaar al programa cuando sea compilado, es decir convertido en un ejecutable (.EXE).

Bienvenida

Figura 3.14 Fonnulario con los cambios de propiedad realizados

Si lo desea, puede cambiar el color de fondo del formulario para dar un mejor aspecto al programa:

Visual Basic 6.0 en un solo libro

3 1.

Haga doble clic sobre la propiedad BaekColor.

2. Seleccione la solapa Paleta, si no estuviera visible.

3. Elija el color que desee aplicar. Un color claro o blanco permitira destacar mejor el texto y la imagen insertada.

' Cuidado: Si cambia el color de fondo, es muy probable que tambi6n tenga que
hacerlo con el de otros objetos. En este ejemplo: los objetos Labell y Picturel debern sufrir el cambio del color de fondo si se modifica el del formulario. La figura 3.14 (pgina anterior) muestra los cambios realizados en las propiedades del formulario y el cambio de color de fondo de los objetos Labell y Picturel.

Cmo insertar un botn de comando


Los controles CommandButtons sirven para ejecutar comandos. Por ejemplo, los botones Aceptar y Cancelar son botones de comandos. Para insertar un botn de comando que ejecute la accin de salir o finalizar el programa, deber ejecutar los siguientes pasos:

3
.

l. Seleccione el icono ComrnandButton que aparece en el cuadro de herramientas.

2. Dibuje un rectngulo en la parte inferior derecha del formulario. Finalizada esta operacin aparecer un objeto con el nombre Commandl.

3. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


e. Proyecto1 - Forml
[Form]

mlml

--

Que tengas un buen da


............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... .................. ..................

Figura 3.15 Diseo del formulario terminado

Un programa en Visual Basic


4. Haga doble clic sobre la propiedad C a p h y escriba el texto que acompaar al botn insertado. Por ejemplo, escriba Sak. 5. Oprima la tecla [Enter para finalizar el ingreso del texto. Observe que el texto est dentro del rectngulo que representa al botn, tal como muestra la figura 3.15 en la pgina anterior. Este botn debe ser acompaado por una programacin, que en este caso ser una sola palabra. Si no tiene asociadas instrucciones, solamente ser un objeto ms dentro del formulario.

Cmo escribir un cdigo en un objeto


Ms adelante usted aprender cmo asociar instrucciones de programacin a los objetos de una interfaz de usuario, pero en este pequeo programa se necesita darle "algo" al botn Salir creado anteriormente. Por lo tanto, solamente se explicar cmo escribir el cdigo que se necesita, pero no se profundizar en los aspectos tericos, porque stos sern detallados a partir del captulo 5. Para escribir el cdigo que se necesita en el botn Salir, deber ejecutar los siguientes pasos:

1 . Haga doble clic sobre el botn Sssr creado anteriormente. Se desplegar una nueva ventana, tal como se muestra en la figura 3.16, para que escriba las instrucciones que se debern ejecutar cuando se haga un clic en el botn Salir.

Private Sub Comandl-Click()

Figura 3.16 Ventana para escribir el cdigo para el botn de comando

2. Oprima la tecla ( E para ] dejar un pequeo espacio entre el borde y lo que va a escribir.

3. Escriba la instruccin: M.
4. Presione la tecla y observar que la palabra escrita toma el color azul. Esto significa que ha sido escrita correctamente pues fue reconocida como una palabra clave del lenguaje de programacin de Visual Basic.
5. Haga un clic en el botn de cerrar para visualizar solamente la ventana del for-

mulario.

Visual Basic 6.0 en un solo libro

Cmo probar el programa

Como primer paso, pruebe cmo se ejecutara este programa realizando los siguientes pasos:

l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Desaparecern la ventana de propiedades y el cuadro de herramientas y podr ver la ejecucin del programa.
2. Observe que los botones de maximizar y minimizar no estn visibles en el cuadro de bienvenida.

3. Verifique que tampoco puede cambiar el tamao de la ventana.


4. Para finalizar la ejecucin: en el men Ejecutar, elija la opcin Finalizar o en el icono correspondiente y volver al diseo del programa.
5. Vuelva a ejecutar el programa, pero esta vez finalice la ejecucin del mismo utilizando el botn Salir, creado por usted en el formulario. Observe que al hacer un clic sobre el botn, el programa finaliza. Habr advertido que la posicin del formulario es en la parte superior izquierda de la pantalla, por lo que sera conveniente cambiarla de ubicacin para que siempre aparezca en un lugar determinado, por ejemplo, en el centro.

Cmo cambiar la posicin del formulario


Utilizando la ventana Posicin del formulario podr definir dnde desea que aparezca la ventana de la interfaz de usuario que est diseando. La figura 3.17 muestra la posicin actual y la que debera ocupar el formulario. Para cambiar la posicin del formulario tiene dos tcnicas: una manual y otra mediante el men contextual.
Posici8n actual Nueva posicin

Figura 3.17 Ubicacin del formulario

Tcnica 1: Ubicacin manual. 1. Coloque el puntero del rnouse en la ventana Posicin del formulario y ubquelo sobre el formulario propiamente dicho. Notar que el puntero del mouse asume el formato de una cruz con puntas de flechas. 2. Arrastre hasta ubicar al formulario en la posicin deseada. Solamente ver el cambio en la ventana que muestra la Posicin del formulario, ya que esto afecta a la ejecucin del programa o proyecto, y no al diseo del mismo.

Un programa en Visual Basic


Tcnica 2: Utilizacin del men contextual.

1. Posicione el puntero del rnouse en la ventana Posicin del formulario y muvalo sobre el formulario propiamente dicho. 2. Haga un clic con el botn derecho del mouse y elija la opcin Posicin inicial. Observe que aparecern las opciones de las distintas posiciones que puede adoptar el formulario.

3. Elija la opcin Centro de la pantalla.


Una vez hecho esto, si ejecuta el programa o proyecto, observar que aparece en el centro de la pantalla.

Cmo guardar un proyecto


Cuando se guarda un proyecto se deben guardar todos los formularios que estn asociados a l. Si bien este ejemplo est formado por un solo formulario, es posible crear proyectos o programas que enlacen dos o ms formularios para solicitar el ingreso de informacin y presentar los datos procesados por el programa. Al guardar el proyecto, se crear un archivo con extensin .FRM que contendr el formulario y otro archivo con la extensin .VBP que representar a todo el proyecto. Pero tambin tendr la posibilidad de crear un tercer archivo, con extensin .VBG, que contendr al grupo de proyectos, esto le permitir administrar mejor los proyectos o programas que cree con Visual Basic.

- 3

l. En el men Archivo, eiija la opcin Guardar proyecto o el icono correspondiente. Aparecer el cuadro de la figura 3.18 donde deber indicar el nombre del formulario que forma al proyecto, el que se grabar con la extensin .FRM.

2. Elija la carpeta donde desea guardarlo.

Figura 3.18 Cuadro de guardar formulario

Visual Basic 6.0 en un soio i~bro


3. Escriba el nombre del archivo que guardar el formulario, por ejemplo: Bienvenida.

4. Presione el botn Guardar. A continuacin se abrir la ventana correspondiente a la grabacin del proyecto propiamente dicho. 5. Elija la carpeta donde desea guardarlo.

6. Escriba el nombre del archivo que guardar el proyecto, por ejemplo: Bienvenida y automticamente se agregar la extensin .VBP.
7. Presione el botn Guardar. Finalmente aparecer un cuadro solicitando el nombre del grupo de proyectos.

8. Elija la carpeta donde desea guardarlo.


9. Escriba el nombre del archivo que guardar el grupo de proyectos, por ejemplo: Prctica y automticamente se agregar la extensin .VBG.

Compilar el proyecto
Compilar un programa Visual Basic significa crear un archivo ejecutable, es decir un archivo extensin .EXE. Este procedimiento es muy sencillo de realizar aqu en Visual Basic.

% Es importante que el proyecto est guardado, ya que necesita el nombre del mismo para crear el archivo ejecutable.

3 l.

Guarde el proyecto como se indic anteriormente.

2. En el men Archivo, elija la opcin Generar [Link]. Habr notado que en la opcin de men est el nombre dado al proyecto. Despus de elegida esta opcin aparecer un cuadro como el de la figura 3.19.

Figura 3.19 Cuadro de creacin de archivo ejecutable

Un programa en Visual Basic


3. Elija la carpeta donde desea guardarlo.

$W

4. Indique el nombre con el que desea hacerlo, por omisin adopta el nombre del proyecto.

5. Presione el botn Aceptar y Visual Basic comenzar la compilacin y creacin del archivo ejecutable.
Este archivo ejecutable, no queda enlazado con los archivos de proyecto o formulario. Esto significa que si realiza una modificacin en el proyecto, deber crear nuevamente el archivo ejecutable (compilar el proyecto).

El resultado esperado
Finalizada la compilacin del programa o proyecto en Visual Basic, slo queda por realizar el paso final para que cumpla con el objetivo fijado al comienzo del captulo: Mostrar un mensaje de Bienvenida al inicio de Windows. Para ello, deber crear un acceso directo (del programa que cre en Visual Basic) en la carpeta Inicio, para que Windows lo ejecute automticamente cada vez que usted arranque el sistema. Para esto, en Windows 95 deber ejecutar los siguientes pasos:

3 1.

Demos un clic con el botn derecho del rnouse sobre el botn Inicio.

2. Elija la opcin Explorar. Se iniciar el Explorador de Windows en la carpeta Men Inicio.

3. Abra la carpeta Programas, haciendo doble clic sobre ella o un clic en el signo + que aparece a la izquierda del nombre de la carpeta.

4. D un clic en la carpeta Inicio.

5. En el men Archivo, elija la opcin Nuevo.


6. Seleccione Acceso directo.

7. Presione el botn Examinar para indicar la ruta y el nombre del archivo ejecutable que cre cuando compil el programa (Bienvenida). Tambin puede escribir la ruta y el nombre del archivo directamente.
8. D un clic en el botn Siguiente.

9. Indique el nombre que tendr el acceso directo. Por omisin asume ei nomDre aei archivo ejecutable que defini en el paso 7. 10. Presione el botn Finaiizar para concluir con la creacin del acceso directo. En la parte derecha de la ventana del Explorador de Windows ver el nombre del acceso directo creado.
Si utiliza Windows 98, la tarea es mucho ms sencilla, ya que deberejecutar menos pasos.

Visual Basic 6.0 en un solo libro

1. Ejecute el Explorador de Windows. 2. Abra la carpeta que contiene al archivo ejecutable creado anteriormente.
3. Utilice el signo + que aparece a la izquierda del nombre de las carpetas, para seleccionar la carpeta Inicio que se encuentra dentro de WindowsWen Inicio.
4. Mueva el archivo ejecutable hasta la carpeta Inicio y el acceso directo quedar creado. Ahora slo queda un paso: reiniciar Windows para observar cmo se ejecuta este programa.

1. Presione el botn Inicio.


2. Elija la opcin Apagar el sistema

....

3. Marque la opcin reiniciar.

4. Presione el botn Aceptar


Cuando reinicie Windows, se ejecutar automticamente el programa. Observe que el cuadro aparece en el centro de la pantalla (tal como se predetermin), adems los botones de maximizar y minimizar de la ventana no estn disponibles para la ejecucin, como se muestra en la figura 3.20, y tampoco puede cambiar el tamao de la ventana.
Solamente esta disponible el botn de cerrar porque se personaliz el formulario.

1 mBienvenida

Que tengas un buen da

Figura 3.20 Ejecucin del programa de mensaje

111

Para cerrar el cuadro de mensaje de bienvenida:


Presione el botn cerrar o el botn Salir, que tiene la instruccin de terminar con la ejecucin del programa.

Un programa en Visual Basic

Cmo modificar el proyecto


Es posible modificar el proyecto, ya sea para agregar un control al formulario o para cambiar las propiedades de los controles u objetos, por ejemplo: eliminar el botn de cerrar que aparece en la barra de titulo del cuadro de bienvenida y colocar otro texto en el espacio en blanco que queda a la derecha de la imagen.

% Recuerde: Debe compilar el programa nuevamente para que tome las modificaciones realizadas en Visual Basic. 3 1. Inicie una sesin de Visual Basic. Aparecer el cuadro del nuevo proyecto que aparece automticamente.
2. Seleccione la solapa Reciente y podr observar la lista de los ltimos proyectos abiertos. En este caso solamente aparecer el proyecto creado recientemente, tal como muestra el cuadro de la figura 3.21.

3. Elija el proyecto a modificar. En este caso Bienvenida.


4. Presione el botn Abrir. La ventana del Diseador de formularios que utiliz para crear la interfaz de usuario no aparecer abierta.
5. En la ventana del Explorador de proyectos, d un clic en el signo + que aparece a la izquierda de la carpeta Formulario. De esta forma podr visualizar todos los formularios que posee el proyecto actual.

Figura 3.21 Cuadro de apertura de un proyecto

Visual Basic 6.0 en un colo libro 6. D doble clic sobre el nombre del formulario para mostrar el diseo del mismo.
7. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

8. Marque el control de la ventana Propiedades y elija el formulario Forml de la lista desplegable.


9. Utilice la barra de desplazamiento para mostrar la propiedad ControlBox.

10. D un clic sobre la propiedad ControlBox para que asuma el valor False. Automticamente ver que en el formulario desaparece el cuadro de cerrar de la barra de ttulos. 11. Seleccione el icono Label del cuadro de herramientas. 12. Arrastre el puntero del mouse a la derecha de la imagen y dibuje un rectngulo. 13. Suelre el botn del mouse y habr creado al control Labei2. 14. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 15. D doble clic sobre la propiedad Caption. 16. Escriba el texto que desee, por ejemplo: Y buenos vientos te acompaen. 17. Presione la tecla] E [
para finalizar el ingreso de texto dentro de la propiedad.

18. Utilice la barra de desplazamiento para mostrar la propiedad Font.


I

Yroyectol

- torml

ItormJ

Bienvenida

Figura 3.22 Formulario modificado

Un programa en Visual Basic

1 9 . Haga doble clic sobre la propiedad Font y elija el tipo de letra que desee. Por ejemplo, Times New Roman, Negrita Cursiva y de U) puntos.

U).

Presione el botn Aceptar y podr ver los cambios realizados en el objeto.

2 1 . Haga doble clic sobre la propiedad ForeColor.


22. Seleccione la solapa Paieta y elija el color que desea para el texto. La figura 3.22 (pgina anterior) muestra cmo queda el formdario con las modificaciones realizadas.

Prueba y compilacin
Una vez realizadas todas las modificaciones,conviene hacer una prueba para verificar si realiza o muestra lo que espera y luego, habr que compilarlo para actualizar el archivo ejecutable, el cual no est enlazado con el proyecto que le dio origen.

3 1.

En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2 . Observe que los botones de minimizar, maximizar y cerrar no estn presentes y que no puede redimensionar la ventana.

3. En el men Ejecutar, elija la opcin Fllializar para volver al diseo del programa
o el botn Salir (creado por usted).

4. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.


5. En el men Archivo, elija la opcin Generar [Link] para compilar el proyecto y actualizar el archivo ejecutable.

6. Confirme el nombre del archivo, pero como ya existe, aparecer un cuadro donde se nos solicitar confirmacin & reemplazo.

7. Presione el botn Si para actualizar el archivo ejecutable y el acceso directo no necesita modificarse.

Conceptos y terminologa

En el captulo anterior hemos creado un programa o proyecto, se podra decir que se realiz sin cdigo de programacin en Visual Basic, alcanz con las modificaciones en las propiedades de los controles u objetos incluidos en el formulario. En este captulo se darn conceptos bsicos y terminologa que se utilizar de aqu en adelante para la creacin de diferentes ejemplos de programas o proyectos en Visual Basic. Por este motivo usted necesitar tener ciertos conceptos acerca de procedimientos, palabras clave o reservadas, funciones, etc., todos ellos lo ayudarn en el aprendizaje e implementacin de sus propios programas en Visual Basic.

Qu es un procedimiento
Un procedimiento es un conjunto de instrucciones que se ejecutan en cierto orden para lograr un objetivo. Los procedimientos constan de principio yfin. Para determinar el principio y el fin de un procedimiento se utilizan palabras clave o reservadas. Estas palabras, al igual que otras instrucciones,deben cumplir con cierto formato, denominado sintaxis. La sintaxis para iniciar y finalizar un procedimientoes: Sub
nombre-del-procedimiento instrucciones a ejecutar

End Sub
Por lo general la instruccin Sub se encuentra precedida por la palabra reservada Private. Esta palabra indica el alcance que tendr el procedimiento. Las palabras ms utilizadas son las siguientes:
J

Private: Significa que el procedimiento slo puede ser utilizado en el mdulo de programacin donde se est creando. Public: Significa que el procedimiento est disponible para cualquier mdulo que se utilice en el programa Visual Basic que se est creando.

Cuando se inicia la creacin de un procedimiento, aparece por default Private Sub, acompaado por el nombre del procedimiento, que es el nombre del objeto junto con el tipo de accin.

Conceptos y terminologa
Entre Private Sub y End Sub se deben escribir todas las instrucciones a ejecutar, que son las rdenes que deben ejecutarse para lograr un resultado. Adems de instrucciones, se pueden agregar comentarios, es decir texto que sirve para recordar o ayudar a detallar las rdenes que se estn registrando y que deben comenzar con un apstrofe. Dado que existen palabras reservadas, instrucciones y comentarios, Visual Basic utiliza diferentes colores para cada uno de ellos y un color para los errores de sintaxis que se cometan durante la escritura del cdigo. Estos colores son:
J

Azul: Identifica a las palabras reservadas como ser: Sub, True, Dim, etctera. Negro: Las instrucciones que deben ejecutarse son identificadas con este color. Verde: Es utilizado para mostrar los comentarios que son agregados en la programacin del cdigo. Rojo: Con este color son marcados los errores de sintaxis.

Qu es una propiedad
Dentro de un procedimiento, por lo general, se hace referencia a los objetos contenidos en un formulario. Un objeto es un control insertado en un formulario y cada objeto posee propiedades. Una propiedad es un valor o caracterstica perteneciente a un objeto de Visual Basic. Por ejemplo: en el programa Bienvenida se utiliz un control Label, que se convirti en el objeto Labell, al cual se le cambi el texto modificando la propiedad Caption. Esto mismo se puede realizar desde la programacin del cdigo, cumpliendo con la sintaxis: [Link] = Valor Para el programa Bienvenida, esta sintaxis sera la siguiente: [Link] = "Bienvenida Marta."

Qu es un evento
Un evento es una accin que se ejecuta para modificar un objeto Visual Basic. La sintaxis de un evento es la siguiente: [Link] Valor No todos los eventos asignan valores a los objetos, por lo tanto el valor es opcional. Observe que la sintaxis es similar a la correspondiente a la propiedad del objeto, la diferencia es que el evento no lleva el signo igual =).

Visual Bacic 6.0 en un solo libro

Qu es una variable
Cuando necesita guardar un valor numrico, cadena de caracteres, realizar un clculo, etc., debe utilizar una variable. Una variable permite guardar datos en forma temporal dentro de un programa:

Variable = Valor
El valor puede ser un texto (que debe ir entre comillas), un nmero, una frmula, etc. Por ejemplo:
Nombre = "Alex" Cuenta = 12 Inters = 1 O000 * 24 * 30 / 36500

Qu es una funcin
Una funcin es una instruccin que realiza un procedimiento especirico y puede o no devolver un valor. Por lo general, el valor devuelto es almacenado en una variable para utilizar el contenido de la misma en otra parte del procedimiento. Una funcin puede servir para solicitar informacin al usuario, mostrar un mensaje, etc. Adems de las funciones construidas en la programacin del cdigo de programacin, Visual Basic posee una serie de funciones (matemticas, fecha y hora, trigonomtricas, etc.) que pueden ser utilizadas para realizar un clculo, mostrar la fecha actual, etc. Si utiliz funciones en una hoja de clculo, notar que las funciones de Visual Basic son muy similares.

Trabajando con cuadros de entrada

Qu es un cuadro de entrada
Un cuadro de entrada es una ventana que solicita al usuario del programa que ingrese una determinada informacin. A partir de all el programa utilizar dicha informacin para ejecutar alguna tarea especfica. El programa, por ejemplo, podr solicitar al usuario que ingrese un nmero, luego utilizar dicho nmero en clculos y devolver la respuesta por algn medio. Para los cuadros de entrada, existe una funcin, InputBox, que se utiliza para solicitar el ingreso de un dato (figura 5.1). Esta funcin siempre devuelve un valor, y tambin lo har si el usuario cancela el cuadro de entrada. Esta es la sintaxis: Prompt: Es el texto que representa el mensaje del cuadro de entrada. Su longitud mxima es de 1024 caracteres. Adems puede estar formado por varias lneas de texto, utilizando caracteres especiales para indicar el retorno de carro en la escritura del mensaje. Ttulo: Es opcional. Es el texto que se mostrar en la barra de ttulo del cuadro de entrada. Si se omite, Visual Basic mostrar el nombre del proyecto. Default: Es opcional. Es la informacin que se muestra en el cuadro de texto como respuesta predeterminada. Si se omite, el cuadro de texto se mostrar vaco.

X:
Es opcional. Indica la posicin horizontal del cuadro de entrada, es decir la distancia entre el borde izquierdo del cuadro de entrada y el borde izquierdo de la pantalla. Esta distancia se expresa en twips (la 1/20 parte del punto). Si se omite, el cuadro de entrada se mostrar centrado horizontalmente en la pantalla.

Y: Es opcional. Indica la posicin vertical del cuadro de entrada, es decir la dis-

Visual Basic 6.0 en un solo libro


tancia entre el borde superior del cuadro de entrada y el borde superior de la pantalla. Esta distancia tambin se expresa en twips. Si se omite, el cuadro de entrada aparecer desde el borde superior de la pantalla, aproximadamente a un tercio de la altura de la misma.

El cuadro de entrada aparecer en pantalla con dos botones: Aceptar y Cancelar. Si el usuario presiona la tecla lEnter o hace un clic en el botn Aceptar, la funcin InputBox devuelve el dato ingresado en el cuadro de texto. Si el usuario presiona la tecla (Escl o hace un clic en el botn Cancelar, la funcin devuelve una cadena de longitud cero ("").
Ttulo

Prompt

Figura 5.1 Cuadro de entrada creado con la funcin InputBox

Proyecto con cuadro de entrada


El programa que se crear a continuacin es muy sencillo. Tendr un cuadro de entrada, en el que usted ingresar informacin y luego sta ser llevada a un formulario, el que contendr un objeto que mostrar el mensaje y adems, tendr un botn para cerrar el formulario y salir del programa. Los controles que se utilizarn son los siguientes: Label Etiqueta o texto fijo que aparecer en el formulario de la interfaz de usuario. Para este formulario se necesitarn dos: uno para un texto fijo y otro para colocar la informacin que se ingrese mediante el cuadro de entrada. Botn de comando al que se le asignar un cdigo de programacin para que realice la tarea de imprimir el formulario con la informacin ingresada.

Command

Adems de estos controles se personalizar el formulario para que tenga una imagen de fondo y un texto en la barra de ttulos, tal como se exhibe en la figura 5.2.

i . Inicie una resion de Visual Rasir.


2. En el cuadro inicial, deje marcada la opcin EXE estndar.
3. Haga un clic en el botn Abrir para iniciar la creacin del proyecto.

Trabajando con cuadros d e entrada

4. Con el mouse, cambie el tamao del formulario para hacerlo un poco ms alto. 5. Coloque el puntero del mouse sobre la ventana Posicin del formulario, ms pre-

cisamente sobre el cuadro que representa al formulario.

6. Haga un clic con el botn derecho del mouse y elija la opcin Posicin inicial.

Texto creado en el diseo del formulario.

- Texto inseitado mediante


la programacin, utilizando un cuadro de texto.

..-..""..""""""? ""..-..-., .."-.."..""" """* ..........+..+..-..-..*..*.......... ....A..a..A..A..A..A..A..-.... "...... "............ .."..".."..".,-.,-.,v.,y """..".."..".. .."...... ......... .....*.. -..-.. ......"......".."......"......AA ...... ............."..".~
% *.

,.*.. ".."..........-............-..........-..".."..*..A..A..A-......*........-.."..".."..v*9v""

"

"

" "

*........*.."..*..

" . . " . . * . . * . . " . . . . " . . " " " . . " . . " . . " A . .

Figura 5.2 Ejemplo de la interfaz de usuario que se crear

7. Elija la opcin Centro de la pantalla.

8. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 9. Haga doble clic en la propiedad Caption y escriba Recepcin de mensajes. Esto cambiar el texto de la barra de ttulo. 10. Presione la tecla 1 -[
para finalizar el ingreso del texto. 11. Haga doble clic sobre la propiedad BackColor.

12. Seleccione la solapa Paleta para mostrar los colores que puede utilizar como color de fondo del formulario.
13. Elija el color que desee, por ejemplo: blanco.
14. Utilice la barra de desplazamiento hasta ver la propiedad Picture, para colocar

un dibujo de fondo en el formulario.


15. Haga doble clic sobre la propiedad Picture y elija un archivo de dibujo (.BMP

o .WMF). Por ejemplo, si tiene instalado Microsoft Office puede tomar alguno de los metarchivos (.WMF) que tiene instalados en el ClipArt. Para este ejemplo se utilizar el archivo [Link], que se encuentra en la carpeta que muestra la figura 5.3.
16. Utilice la barra de desplazamiento hasta mostrar la propiedad Icon.

Visual Basic 6.0 en un solo libro

17. Haga doble clic sobre la propiedad Icon y aparecer un cuadro para que elija el icono que acompaar al formulario.

18. Elija la carpeta y el archivo de extensin .CUR o .ICO que utilizar.

Figura 5.3 Ubicacin de la imagen que se insertar como fondo del formulario

Para este ejemplo se usar el archivo [Link] que se encuentra en la carpeta que muestra la figura 5.4.
zargar icono

Figura 5.4 Ubicacin del archivo que se utilizar como icono del formulario

19. Elija la herramienta Label y trace un rectngulo en la parte superior del formulario. Crear el objeto Labell. 20. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 21. Haga doble clic sobre la propiedad Caption y escriba: Mensajes.

22. Presione la tecla [Enter para finalizar el ingreso del texto.


23. Haga un clic en la propiedad Alignment para mostrar el control que le permite elegir un tipo de alineacin.
24. Haga un clic en el control de la propiedad Alignment y elija la alineacin 2 Center.

25. Haga doble clic sobre la propiedad Font y elija los atributos: Arial, Negrita y tamao 12.

26. Presione el botn Aceptar.


27. Haga doble clic en la propiedad BackColor.

Trabajando con cuadros de entrada

28. Seleccione la solapa Paleta y elija el mismo color de fondo de la imagen que est como "tapiz" del formulario. 29. Elija la herramienta Label y trace un rectngulo debajo de la etiqueta creada anteriormente. Crear el objeto Label2. 30. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 31. Haga doble clic sobre la propiedad Caption y presione la tecla @&d para que el recuadro permanezca vaco. 32. Presione la tecla1 -(
para finalizar la operacin sobre la propiedad Caption.

33. Utilice la barra de desplazamiento hasta mostrar la propiedad AutoSize, que le permitir indicar que el control cambiar su tamao teniendo en cuenta el contenido que desee colocar en el mismo.
34. Haga doble clic sobre la propiedad AutoSize para cambiar su estado a True. Observe que el control redujo su ancho, luego deber ampliarlo.

35. Utilice la barra de desplazamiento hasta mostrar la propiedad WordWrap, con la que definir que el control deber contener a todo el texto que ingrese mediante el cuadro de entrada. 36. Haga doble clic sobre la propiedad WordWrap para cambiar su estado a True. 37. Posicione el puntero del mouse sobre los nodos de la derecha del control Label2 y aumente eiancho para definir el espacio que tendrii el texto.

Es importante que defina el ancho, ya que al ejecutar el programa, Visual Basic utilizar el ancho definido por usted para colocar el texto ingresado y, debido a las propiedades modificadas, usar la altura que necesite para colocar el texto.

38. Utilice la barra de desplazamiento hasta mostrar la propiedad BackColor. 39. Haga doble clic sobre la propiedad BackColor para visualizar el cuadro de colores disponibles.
40. Seleccione la solapa Paleta y elija el mismo color que tiene el dibujo de fondo del formulario.

41. Elija la herramienta Command y cree un botn en la parte inferior central del formulario. Habr creado el objeto Commandl.

42. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 43. Haga doble clic en la propiedad Caption y presione la tecla recuadro permanezca vaco. 44. Presione la tecla
para que el

para finalizar la operacin sobre esta propiedad.

45. Utilice la barra de desplazamiento hasta mostrar la propiedad Picture.


46. Haga doble clic sobre la propiedad Picture y aparecer un cuadro donde podr elegir la imagen que colocar en el objeto Commandl. Para este ejemplo se utilizar el archivo [Link] que se encuentra en la carpeta que muestra la figura 5.5.

Visual Basic 6.0 en un solo libro

--

Microsoft Visual Studio

Figura 5.5 UbicactQn e la imagen que se insertar en el botn de comando

P. Proyecto1 - Forml [Form]

Rece~cibn de mensaies

Figura 5.6 Diseo del formulario terminado

47. Haga doble clic en la propiedad Style para que tome el valor 1 Graphical. Cuando esta propiedad asume el valor 1 - Graphical mostrar la imagen que contiene la propiedad Picture.

48. Si fuera necesario, modifique el tamao del botn de comando. La figura 5.6 muestra cmo queda el diseo de la interfaz de usuario, ahora solamente queda crear la programacin necesaria para que aparezca el cuadro de entrada y coloque la informacin dentro del control Label2.

Trabajando con cuadros de entrada


Las propiedades AutoSize y WordWrap (que hasta ahora no se haban utilizado), permiten que el texto que aparezca en el objeto Label2, pueda ser visualizado completo, ms all del tamao dado al objeto dentro del diseo del formulario. El control Label2 se expandir verticalmente (en forma automtica) para que todo el texto ingresado mediante el cuadro de entrada pueda ser visualizado correctamente. Importante: Si las dos propiedades, AutoSize y WordWrap, no tienen el valor True, esto nofuncionar, en otras palabras no podr visualizar todo el texto en el control Label2.

Cmo construir el cdigo de programacin


Una vez diseado el formulario de la interfaz de usuario, deber crear los cdigos de programacin correspondientes a cada uno de los objetos que necesiten instrucciones para ejecutar. En el captulo anterior, se indic que todos los procedimientos se escriban dentro de las instrucciones de comienzo y fin del procedimiento. Adems, segn el tipo de objeto al que se le est asociando un cdigo de programacin, variarn las opciones de procedimientos que se pueden crear para dicho objeto. Por ejemplo, al formulario propiamente dicho se le puede crear un procedimiento que se active cuando el mismo es cargado en memoria y visualizado (como cuando se ejecuta el programa), pero este procedimiento no est disponible para las etiquetas o textos fijos que puede contener un formulario.

Cmo visualizar el cdigo de programacin de un objeto


Para ver el cdigo correspondiente a los objetos que componen la interfaz de usuario, tiene dos formas. La ms cmoda, cuando est diseando el formulario, es hacer doble clic sobre el objeto al que se le desea asociar un cdigo de programacin Visual Basic.

Haga doble clic sobre el objeto al que desea asociar un cdigo de programacin, para este ejemplo utilice el objeto Commandl. Aparecer la ventana de cdigo que muestra la figura 5.7 en la cual se puede elegir el objeto al que se desea crear o asociar un cdigo de programacin Visual Basic o modificar el tipo de procedimiento sobre el que se desarrollar la programacin del cdigo. Cuando se trata de un objeto Command, por omisin asume que el tipo de procedimiento es al hacer un Clic sobre el mismo. El tipo de procedimiento del objeto puede ser cambiado antes de crear o modificar el cdigo. Un objeto puede tener ms de un procedimiento asociado. Esto significa, por ejemplo, que puede asociarse un procedimiento cuando se hace un clic sobre el mismo y otro cuando se efecta un doble clic sobre dicho objeto. Otra forma de visualizar la ventana de cdigo correspondiente a la interfaz de usuario que se est diseando, es la siguiente:

Visual Bacic 6.0 en un solo libro

M I

1. En el men Ver, elija la opcin Explorador de Proyecto o el icono correspondiente (si no estuviera visible).

2. Elija el formulario que contiene los objetos a los que desea asociar cdigos de programacin. En este caso slo existe un formulario.
Objeto o control al que se asociar un cbdigo de programacin. Tipo de procedimiento, es decir el momento en que se ejecutara el cdigo.

IProyecto

Forml [Cdigo]

IEfE

I Muestra todos los procedimientos creados. Muestra de a un procedimiento para el objeto o control.
Figura 5.7 Ventana donde se crea el cdigo de programacin

3. Haga un clic en el icono Ver cdigo. Aparecer la misma ventana de cdigo mostrada anteriormente.
4. Haga un clic en el control del recuadro que contiene la lista de objetos, y elija el control al que desea asociar un cdigo de programacin. Para este ejemplo, elija Commandl y por default, asumir el procedimiento Click.

El cdigo para el botn de imprimir


Para este ejemplo, el botn de imprimir debe tener un cdigo que finalice la ejecucin del programa. Para ello se deber incluir una instruccin formada por una palabra reservada que finaliza la ejecucin del programa, esta instruccin es PrintForm.

l. Haga doble clic sobre el control Commandl para mostrar la ventana del cdigo y poder crear un procedimiento.
2. Verifique que el objeto seleccionado sea Commandl.

Trabajando con cuadros de entrada

3. Verifique que el procedimiento indicado en el recuadro de procedimientos sea Click.

4. Coloque el cursor entre Private Sub y End Sub, despus presione la tecla E para dejar una sangra antes de escribir la instruccin. Este paso no es obligatorio, pero le ayudar a seguir la secuencia de las instrucciones que se estn ejecutando dentro de un procedimiento.
5. Escriba la palabra: PrintForm. No importa si lo escribe en may&sculao minscula, automticamente Visual Basic mostrar la combinacin de maysculas y minsculas que lleve la instruccin.

6. Presione la tecla para observar cmo Visual Basic cambia el color a la palabra y coloca la primera letra en mayscula.

Sugerencia: A las palabras reservadas, nombres de funciones, propiedades, etc., conviene escribirlas en minscula y dejar que Visual Basic se encargue de pasar a mayscula las letras que corresponda. De esta forma tambin se puede verificar si la instruccin ha sido escrita correctamente o no, ya que si no es reconocida por Visual Basic, permanecer en minscula.

El cdigo para el cuadro de entrada


El objeto Labei2 debe completarse con la informacin ingresada por el usuario a travs de un cuadro de entrada, por lo tanto este cuadro de entrada debe aparecer antes del formulario. Debe crear un procedimientoque muestre el cuadro de entrada antes de que el formulario sea cargado. El cdigo de programacin debe estar enlazado o asociado al objeto formulario en el proceso de carga del formulario. El cuadro de entrada deber tener los siguientes parmetros o argumentos:
Prompt

Ingrese el mensaje que desea imprimir. Recepcin de mensaje. Nada.

Ttulo Default

Cuando se ejecute el cuadro de entrada, el usuario (en este caso: usted) ingresar texto, pero se perder si no se almacena en una variable. Debido a que las variables son "contenedores de informacin" es conveniente guardar la informacin que el usuario ingrese en el cuadro de entrada dentro de una variable y luego podr ser utilizada en cualquier momento. Para nuestro ejemplo, la variable podra llamarse Mensaje. Cuidado: Los nombres de variables deben ser diferentes a los de las palabras reservadas o nombres de funciones, para que Visual Basic no tenga conflicto en la ejecucin del cdigo de programacin.

Visual Basic 6.0 en un solo libro

3 1.

Vea la ventana de cdigo por cualquiera de los procedimientos antes descritos.

2. Haga un clic en el control del recuadro que contiene a los objetos y elija Form, si no estuviera seleccionado.

3. Verifique que el procedimiento indicado en el recuadro de procedimientos sea Load. De esta forma crear un procedimiento que se ejecutar antes de cargar el formulario.

4. Coloque el cursor entre Private Sub y End Sub.


5. Presione la tecla
para dejar una sangra antes de escribir la instruccin.

6. Escriba la siguiente instruccin: Mensaje=InputBox( observe que aparece un cuadro de ayuda debajo de la instruccin que est creando, tal como se aprecia en la figura 5.8, ste es el Generador de instrucciones).

m Proyecto1 - Forrnl [Cdigo]

, [He$Fiie], [Conted)As String

Indicador del argumento que se est completando.

Figura 5.8 El Generador de instrucciones activo

7. Escriba entre comillas el texto que desea que aparezca como prompt, por ejemplo: "Ingrese el mensaje que desea imprimir" y escriba una coma (,). Observar que el Generador de instrucciones coloca en negrita la palabra Title para indicar que ese es el parmetro que se completar.

8. Escriba entre comillas el texto que desea que aparezca como ttulo, por ejemplo: "Recepcin de mensaje" y cierre el parntesis.
9. Presione la tecla [Entercil para pasar a la siguiente lnea. Ahora deber crear una instruccin que permita colocar el texto que est almacenado en la variable Mensaje (creada en la instruccin anterior) en el control Label2. Cuando usted crea un formulario con controles de etiquetas, coloca el texto en la propiedad Caption, dentro de un cdigo de programacin, tambin debe indicar el texto en dicha propiedad. 10. Comience a escribir la siguiente instruccin: Label2, aparecer el cuadro de Autocompletar, tal como muestra la figura 5.9, que es otra herramienta que Visual Basic le brinda para ayudarlo a programar.

Trabajando con cuadros de entrada

) 1 9

*m

-.

id

Private Sub CoamandlPrintForm

Figura 5.9 La herramienta de Autocompletar

1 1 . Elija la propiedad Caption.

12. Contine escribiendo: =Mensaje.


Como habr observado, la primera lnea es muy larga y no se muestra completamente en la ventana. Cuando esto ocurre, usted tiene la posibilidad de "cortar" las instrucciones para continuar en la lnea siguiente. Esto es posible si se agrega un guin bajo (pero debe dejar un espacio en blanco antes de colocarlo), tal como se observa en la figura 5.10.
Guiones que indican que la instruccidn contina en la lnea siguiente

Figura 5.10 Procedimiento para el formulario

Ejecucin del programa creado


Finalizada la construccin de la interfaz de usuario y el cdigo de programacin necesario, deber probar cmo funciona el programa o proyecto que cre en Visual Basic.

1. En el ment [Link] la opcin Iniciar o el icono correspondiente. Al comen-

zar con la ejecucin del programa, aparecer el cuadro de entrada, tal como se exhibe en la figura 5.11, solicitando el ingreso de la informacin para el formulario.

Visual Basic 6.0 en un solo libro

2. Escriba la informacin que desea incluir en el formulario. Por ejemplo: Esto puede ser el comienzo de una hermosa amistad.

1Recepci6n de mensaje

BI

Figura 5.11 Ejecucin del cuadro de entrada

3. Haga un clic en el botn Aceptar o presione la tecla [Entrreil. A continuacin aparecer el formulario mostrando la informacin que ingres en el cuadro de entrada.

4. Haga un clic en el botn cerrar. Luego finalizar la ejecucin y volver a la ventana de diseo del programa o proyecto.

5. Ejecute nuevamente el programa.


6. Escriba un mensaje que desee imprimir y encienda la impresora. Si lo deseara, podra ingresar un texto muy largo en el cuadro de entrada para verificar cmo funcionan las propiedades AutoSize y WordWrap.

7. Haga un clic en el botn de imprimir el formulario y el texto ingresado, junto con


la imagen de fondo del formulario, se imprimirn. Este programa tiene un pequeo problema: cuando cancela el cuadro de entrada, el formulario no queda vaco. Realice los siguientes pasos para probarlo:

3 l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


tecepcin de mentales

Figura 5.12 El formulario aparece vaco cuando se cancela el cuadro de entrada

Trabajando con cuadros de entrada

P<j

2. Haga un clic en el botn Cancelar o presione la tecla @d. Luego aparecer el formulario como lo muestra la figura 5.12.

3. Haga un clic en el botn cerrar para finalizar la ejecucin del programa.


Para solucionar este problema es necesario que conozca una de las instrucciones ms importantes y ms utilizadas en la programacin. Si bien las estructuras de decisin se vern ms adelante, se explicar brevemente el uso bsico de la instruccin If.

Cmo utilizar bsicamente estructuras de decisin


El problema que tiene el programa que se est creando es que siempre muestra el formulario, ms all de si se acept o cancel el cuadro de entrada. De este problema se desprende que el programa debe tomar dos acciones:
J

Mostrar el formulario cuando el usuario acepta el ingreso de datos a travs del cuadro de entrada. Finalizar la ejecucin del programa si cancela el ingreso de informacin a travs del cuadro de entrada.

Cuando se tienen por lo menos dos posibles acciones a ejecutar, se debe utilizar "algo" que permita evaluar una condicin o caso, y luego ejecutar la accin correspondiente al caso dado. Para esta tarea se cuenta con la instruccin If (si usted utiliz alguna planilla de clculo tal vez conozca la funcin If o Si). Todas las estructuras de decisin tienen un principio y un final. Siempre el final es End y la instruccin que se est utilizando, en este caso es End If. La sintaxis simple es la siguiente: If condicin Then Instrucciones si se cumple la condicin Else Instrucciones si No se cumple la condicin End If
J

Condicin: Es la expresin que trata de evaluarse. Por ejemplo: Mensaje = "",en esta expresin se estara haciendo referencia a la variable Mensaje con un valor igual a una cadena de longitud cero (""). Los operadores matemticos que se pueden utilizar son: =, o, >, >=, <, <=. Tambin pueden utilizarse operadores lgicos para unir dos o ms condiciones, estos operadores son: And, O r y Not, este ltimo utilizado para negar variables con valores lgicos. Ms adelante se tratarn las estructuras de decisin con mayor profundidad y se vern ejemplos con operadores lgicos. Instrucciones si se cumple la condicin: Indica la o las instrucciones que el programa deber ejecutar si la condicin enunciada en la primera lnea de la instruccin es verdadera.

Visual Basic 6.0 en un solo libro


Else: Es optativo. Si se agrega la instruccin Else, se est indicando que deben ejecutarse instrucciones cuando no se cumple la condicin enunciada en la primera lnea de la instruccin If. Instrucciones si No se cumple la condicin: Si se incluy la instruccin Else, debe indicarse la o las rdenes que deben llevarse a cabo si no se cumple la condicin enunciada en la primera lnea de la instruccin If.

La solucin al programa que se est creando


La solucin es incluir la instruccin If para que verifique si el usuario acept o cancel el cuadro de entrada. Si acept, incluyendo texto en el recuadro de texto que posee este cuadro, entonces que muestre el formulario, en caso contrario, que finalice la ejecucin del programa (como lo hace el botn Cerrar). La instruccin If debe estar despus del cuadro de entrada, para que valide el resultado del mismo y luego, si corresponde, pasar la informacin del cuadro de entrada al control Label2.

1. Muestre el formulario en modo diseno.

2. Haga doble clic sobre el formulario, donde no exista ningn objeto, para ingresar a la ventana del cdigo mostrando todos los procedimientos creados, es decir: para el formulario y para el botn de comando.
3. Si lo desea, haga un clic en el botn para ver solamente el procedimiento donde est posicionado el cursor, en este caso el del formulario.

4. Coloque el cursor al final de la instruccin Mensaje=InputBox(

....

5. Presione la tecla [Enter para insertar una lnea manteniendo la sangra de las instrucciones que hasta ahora ejecutaba este procedimiento.
6. Escriba la instruccin: If Mensaje="" Then.
7. Presione la tecla [Enter y ver que las palabras If y Then toman el color azul.

8. Presione la tecla para aumentar la sangra e identificar de esta forma las instrucciones que debern ejecutarse si se cumple la condicin.

9. Escriba la instruccin: End. Con esta instruccin se finaliza la ejecucin del programa.
10. Presione la tecla [Entercll y luego la tecla [B"LWrLI para llevar el cursor a la altura de la instruccin If. 11. Escriba la instruccin: Else. 12. Presione la tecla

m y ver que la palabra toma el color azul.

13. Lleve el cursor al principio de la instruccin [Link]=Mensaje y presione la tecla1-( .

Trabajando con cuadros de entrada

14. Coloque el cursor al final de la lnea, presione la tecla IEnterci] y luego la tecla 1 -[ para llevar el cursor a la altura de If.
15. Escriba la instruccin: End 1P y presione la tecla La figura 5.13 muestra cmo deberan quedar las instrucciones ingresadas al procedimiento de carga del formulario.
Ahora slo queda probar si esto se cumple. El programa deber finalizar cada vez que:
J
J

m.

Haga un clic en el botn Cancelar. Presione la tecla (Escl. Haga un clic en el botn Aceptar, dejando vaco el recuadro de texto del cuadro de entrada.

P r i v a t e Sub Comandl-C l i c k ( ) P r intForm

,1

=II

P r i v a t e Sub Form Load() Rensaje = 1n;ut~ox ( " I n g r e s e e l mensaje que d e s e a imprimir rr , "Recepcin de mensaje") I f Mensaje = "Ir Then End Else Label2. Caption = Mensaje End If End Sub

Figura 5.13 Procedimiento con una estructura de decisin simple

3
m

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2. Haga un clic en el botn Cancelar. Deber terminar la ejecucin del programa.


3. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

4. Presione la tecla IEsc) para finalizar el programa. El programa finalizar. 5. Vuelva a ejecutar el programa. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.
6. Sin escribir nada en el recuadro de texto, haga un clic en el botn Aceptar.

Visual Basic 6.0 en un solo libro 7. Vuelva a ejecutar el programa. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

8. Escriba algo en el cuadro de entrada.


9. Haga un clic en el botn Aceptar o presione la tecla . A continuacin aparecer el formulario con el texto que usted escribi en el cuadro de entrada.
Guarde el proyecto ya que ser utilizado en el captulo siguiente, donde se lo mejorar utilizando cuadros de mensaje:

1. En el men Archivo, elija la opcin Guardar proyecto. 2. Indique el nombre del archivo que contendr al formulario, por ejemplo: Mensajes.

3. Haga un clic en el botn Aceptar.


4. Indique el nombre del archivo de proyecto, por ejemplo: Mensajes, como el formulario.
5. Haga un clic en el botn Aceptar.

Cuadros de entrada con varias lneas de prompt


Al comienzo del captulo, cuando se detallaron las partes de la funcin InputBox, se dijo que el prompt poda estar formado por ms de una lnea. Esto es, forzar a que el cuadro muestre un mensaje en varias lneas de texto y que usted sea el que controle el retorno de carro. Para realizar esta tarea, debe conocer una funcin llamada Chr que devuelve el carcter que se especifica en cdigo. La sintaxis es la siguiente: Chr(Cdigo)
J

Cdigo: Es el cdigo ASCII o ANSI que se desea agregar. Por ejemplo: los caracteres ASCII que van de O a 31 son caracteres no imprimibles y el valor 10 corresponde a un salto de lnea.

Para este programa el prompt del cuadro de entrada deber estar formado por: Textol + Chr(l0) + Texto2. Donde Texto1 y Texto2 son los mensajes que se desea visualizar y la funcin Chr indica que el segundo texto debe aparecer debajo del primero. El texto actual del prompt es: Ingrese el mensaje:. Suponga que desea visualizar el prompt de la siguiente forma: Ingrese el mensaje y luego pulse la tecla ENTER. Para ello deber realizar los siguientes pasos:

Trabajando con cuadros de entrada

1 . Haga doble clic sobre el formulario, donde no exista ningn objeto, para ingresar a la ventana del cdigo correspondiente al objeto Form.

2. Mueva el cursor en la lnea que tiene la instruccin InputBox.


3. Coloque el cursor entre las comillas (") de cierre de la frase "Ingrese el mensaje que desea imprimir" y la coma (,).
4. Deje un espacio en blanco y escriba lo siguiente: + Chr(l0) + "pulse la tecla ENTER". Con esto se agrega el salto de lnea despus de la primera oracin y luego aparecer el texto de la siguiente lnea.
5. En el men Ejecutar, elija la opcin Iniciar o haga un clic en el icono correspondiente. Aparecer el cuadro de entrada como muestra la figura 5.14.

Figura 5.14 Cuadro de entrada con retorno de carro o salto de lnea programado

Sugerencia: Como se indic anteriormente, para evitar que las instrucciones se extiendan a lo ancho de la ventana de cdigo, puede utilizar el guin bajo C )para indicarle a Visual Basic que la instruccin que se est escribiendo contina en el rengln siguiente, tal como se exhibe en la figura 5.15. Puede utilizar tantos guiones bajos como necesite, pero no puede ubicarlos dentro de un texto entre comillas.
Proyecto1 - Forml (Cdigo]

Private Sub Comaandl-Click() Pr intForm

Private Sub Form-Loado Mensaje = InputBox ( "Ingrese e l mensaje que desea imprimirw + Chr(l0) + "y pulse l a t e c l a ENTERw, "Recepcin de mensaje") If Hensaje = Then End Else Labele. Caption = Mensaje End If End Sub

Figura 5.15 Procedimiento completo

Trabajando con cuadros de mensaje

Qu es un cuadro de mensaje
Un cuadro de mensaje es una ventana que muestra informacin como resultado emergente de alguna operacin realizada en el programa. Por ejemplo, si se ingresa un valor para realizar un clculo, un cuadro de mensaje puede mostrar el resultado del clculo efectuado en el programa. Para los cuadros de mensaje existe una funcin, MsgBox, utilizada para exhibir un texto, advertencia, resultado o cualquier otro tipo de mensaje. Como funcin, devuelve un valor que depender del botn presionado por el usuario. La sintaxis es la siguiente: Prompt: Es el texto que representa el mensaje que se desea visualizar en este tipo de cuadro, su longitud mxima es de 256 caracteres. Puede estar formado por varias lneas de texto, utilizando caracteres especiales para indicar el retorno de carro en la escritura del mensaje. Botones: Es opcional. Indica el tipo de botn que acompaar al cuadro de mensaje. Tambin se podr indicar en esta seccin de la funcin el icono que se visualizar y cul ser el botn predeterminado. Si se omite, Visual Basic mostrar el botn Aceptar. Los tipos de botones se pueden identificar por el nombre o por el nmero que representa al botn o la combinacin de botonp a mostrar. A continuacin se listan los tipos de botones que se pueden utilizar: Nombre Valor Muestra Slo el botn Aceptar. El botn Aceptar y Cancelar Tres botones: Abortar, Reintentar e Ignorar. Tres botones: S, No y Cancelar. Los botones S y No. Los botones Reintentar y Cancelar.

Trabajando con cuadros de mensaje

r -

69

Junto con los botones que se utilizarn para el cuadro de mensaje, puede incluir cualquiera de los siguientes iconos: Nombre vbcritical vbQuestion vbInformation Valor 16 32 64

Adems del tipo de botn y el icono que lo acompaar, puede indicar cul de todos los botones que aparecern ser el pdeteminado. La tabla para indicar esto es la siguiente: Nombre vbDefaultButtonl vbDefaultButton2 vbDefaultButton3
J

Valor

El predeterminado es: El primer botn. El segundo botn. El tercer botn.


k

O
256 512

Ttulo: Es opcional. Es el texto que se mostrar en la barra de ttulo del cuadro de mensaje. Si se omite, Visual Basic mostrar el nombre del proyecto.
Ttulo

Icono Botones

Prompt

Figura 6.1 Cuadro de mensaje generado por la funcin MsgBox

Qu resultado se obtiene de MsgBox


Esta funcin, devuelve un valor que depender del botn utilizado por el usuario. La tabla siguiente, muestra los valores posibles de respuesta que se pueden obtener de esta funcin: Nombre vbOK Valor 1 2

3
4

Visual Basic 6.0 en un solo libro

Si el cuadro de mensaje tiene el botn Cancelar y el usuario presione la tecla [Escj, devolver exactamente el mismo valor que el botn mencionado.

Cmo utilizar en un programa un cuadro de mensaje


Para probar los distintos modelos de cuadros de mensaje, se utilizar el programa o proyecto creado en el captulo anterior, al cual se le dio el nombre de Mensaje. El primer mensaje que se programar deber indicar que el proceso de cancelar el cuadro de entrada (InputBox) o dejar en blanco el recuadro de texto, finaliza la tarea del programa. Para ello, el cuadro de mensaje deber tener: Prompt Botones Finalizacin del programa. Ninguno (para que solamente muestre el botn Aceptar). Fin.

~t&

a3

Por lo general, cuando se utiliza un cuadro de mensaje en un programa, se espera una contestacin del usuario. Esta respuesta est dada por diferentes botones que pueden usarse dentro del cuadro. Si bien en el primer ejemplo de utilizacin del cuadro de mensaje no se validar la respuesta del usuario porque tiene un solo botn, se asignar a una variable la instruccin que muestra al cuadro de mensaje para que pueda usarse su contenido en una validacin de la respuesta del usuario (que se realizar ms adelante).

1 . Inicie una sesin de Visual Basic. 2. Seleccione la solapa Reciente.

3. Indique el proyecto que desea abrir, en este caso Mensaje.


4. Haga un clic en el botn Abrir. Luego mostrar la ventana del formulario y la ventana del cdigo de programacin, si estuviera abierta al guardar el proyecto.
5. Haga un clic en el icono de visualizacin del cdigo para que se abra la ventana con los procedimientos escritos. Por omisin, Visual Basic muestra la ventana de cdigo c m todos los procedimientos.

6. Haga un clic en el procedimiento que tiene las instrucciones para el formulario.

7. Verifique que est el objeto Form en el recuadro que tiene los controles y objetos de la interfaz de usuario que est creando.

8. Coloque el cursor al final de la instruccin If Mensaje = "" Then.

9. Presione la tecla truccin End.

y luego

para llevar el cursor a la altura de la ins-

Trabajando con cuadros de mensaje

10. Escriba la instruccin: Final=MsgBox("Finalizacindel programa.",,"Fin") .


1 1 . Presione la tecla para finalizar el ingreso de la instruccin. Observe que la funcin MsgBox fue escrita sin colocar ningn botn o icono para acompaar el mensaje, por lo tanto se debe dejar el lugar en blanco utilizando dos comas (,) seguidas. Siempre se debe respetar la sintaxis de las funciones o instrucciones que se estn utilizando en la programacin. Ahora slo queda ejecutar el programa y observar qu pasa cuando se utiliza el botn Cancelar o se presiona la tecla

m.

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Haga un clic en el botn Cancelar del cuadro de entrada y aparecer el cuadro de mensaje creado con la funcin MsgBox, tal como lo exhibe la figura 6.2.

Figura 6.2 Cuadro de mensaje creado con la funcin MsgBox

3. Haga un clic en el botn Aceptar. Luego finalizar la ejecucin del programa y volver al diseo del mismo.

Cuando un cuadro de mensaje no tiene definidos botones, aparece por default, el botn Aceptar.

Modificacin del cuadro de mensaje


Para mejorar la apariencia del cuadro de mensaje creado anteriormente, puede realizar cualquiera de las siguientes tareas:
J J

Agregar un icono para acompaar al mensaje. Definir los botones que tendr el cuadro de mensaje, para tomar una accin segn el botn que indique el usuario. Si se utilizan dos o ms botones en un cuadro de mensaje, se podr indicar cul de ellos ser el predeterminado.

En los cuadros de mensaje, solamente puede agregar un icono a la vez, por lo que debe saber qu tipo de informacin desea presentarle al usuario: una advertencia, una detencin, etctera.

Visual Bacic 6.0 en un solo libro

Cmo agregar iconos al cuadro de mensaje

% Sugerencia: Si no desea escribir todo el nombre del icono, lo que puede provocar errores de escritura, escriba las tres primeras letras y luego presione las teclas [[Link] no recuerde esta combinacin de teclas, podr utilizar el botn derecho del mouse y elegir la opcin Palabra completa.

1. Despliegue la ventana de cdigo.

2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto Form.
3. Coloque el cursor entre las dos comas (,) de la instruccin: Final=MsgBox ("Finalizacin del programa.",,"Finl').

4. Escriba: vbcritical.
5. Presione la tecla para finalizar la modificacin de la instruccin.

6. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


7. Haga un clic en el botn Cancelar o presione la tecla (Escj. El cuadro de mensaje aparecer como muestra la figura 6.3.

Figura 6.3 Cuadro de mensaje acompaado con un icono

8. Haga un clic en el botn Aceptar para finalizar la ejecucin del programa.


Pruebe con otros tipos de iconos, que existen listados al comienzo del captulo, para observar el mensaje con otra apariencia.

e''
3 1.

Cuidado:Slo puede utilizar un tipo de icono a la vez. Si coloca dos tipos de iconos, Visual Basic mostrar uno cualquiera, pero tampoco lo identificar como un error.

Cmo definir los botones que tendr el mensaje


Despliegue la ventana de cdigo.

2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto Form.

Trabajando con cuadros de mensaje

r d

3. Muestre la instruccin: Final=MsgBox("Finalizacin del programa.", vbCritical,"Fin").


4. Borre el tipo de icono que est identificado, por ejemplo: vbcritical.
5. Escriba el grupo de botones que utilizar, por ejemplo: vbYesNo.

6. Reemplace el prompt del mensaje "Finalizacin del programa." por "Est seguro que desea finalizar?".

7. Presione la tecla

para finalizar la modificacin de la instruccin.

8. En el men Ejecutar, seleccione la opcin Iniciar o el icono correspondiente. 9. Haga un clic en el botn Cancelar o presione la tecla [Escl. La figura 6.4 muestra el actual formato del mensaje.

Esth sepuro que desea fitdkw?

Figura 6.4 Cuadro de mensaje con botones SNo

10. Presione cualquier botn para finalizar la ejecucin del programa. Luego se debern agregar las instrucciones necesarias para definirle una accin a cada botn.

3
h ! f

Pruebe con otros tipos de botones para observar cmo se presenta el cuadro de mensaje con ellos. Para finalizar este ejemplo, se deber crear el cdigo de programacin correspondiente para cada uno de los botones utilizados. Se supondr que los botones son S y No, como los creados en el ejercicio anterior. Si usted desea utilizar otro tipo de botones, verifique la tabla de los valores que devuelve esta funcin en el tema titulado Qu es un cuadro de mensaje.

El cdigo de programacin se realizar utilizando las instrucciones If,explicadas en el captulo anterior, y la instruccin Do (esta instruccin se explicar con mayor detalle en el captulo 10, correspondiente a la utilizacin de bucles). La instruccin Do permite ejecutar varias veces un grupo de instrucciones, las que se encuentran debajo de la misma y antes de la instruccin Loop, la que indica la finalizacin del ciclo. La sintaxis ms comn de esta instruccin es la siguiente:

Do While condicin
Instrucciones que se ejecutarn

LOOP

7 Visual Basic 6.0 en un solo libro


J

Condicin: Es una estructura idntica a la utilizada en la instruccin If. Se pueden utilizar los operadores matemticos y lgicos descriptos para la instruccin If. Tambin puede utilizarse la palabra True en lugar de expresar una condicin. Esto permitir la ejecucin de las instrucciones mientras "sea verdad" es decir siempre. Cuando se cumpla con una condicin dentro del ciclo, ste finalizar. Instrucciones que se ejecutarn: Es el grupo de instruccionesque se ejecutarn mientras se cumpla la condicin o mientras sea verdadera una condicin dentro del bucle.

Loop: Es una palabra reservada que se utiliza para cerrar la instruccin Do. Todas las instrucciones contenidas entre Do While y Loop se ejecutarn repetidamente mientras se cumpla con la condicin.

En el programa que se est creando, se debe incluir la programacin que permita realizar lo siguiente:
J

Finalizar la ejecucin del programa si el usuario hace un clic en el botn S. Volver a mostrar el cuadro de entrada si el usuario hace un clic en el botn No.

3 1.

Despliegue la ventana de cdigo.

2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto Form.

3. Coloque el cursor al comienzo de la instruccin: Mensaje=InputBox(

....

4. Presione la tecla [Enter]y luego la tecla @ para mover el cursor en la nueva 1nea insertada.
5. Escriba la instruccin: Do While True. Con ella se ejecutarn todas las instruciones que se encuentran debajo.

6. Presione la tecla @ y observar que toda la lnea de la instruccin Do toma el color azul.
7. Mueva el cursor al final de la instruccin: Final=MsgBox("Est seguro que desea finalizar? ",vbYesNo,"Fin").

8. Presione la tecla
10. Presione la tecla 11. Presione la tecla

y ver que el cursor queda a la altura de la palabra F i .


y mueva el cursor delante de la instruccin End.

9. Escriba la instruccin: If Final=vbYes Then.

mpara aumentar la sangra de la instruccin.

12. Coloque el cursor al final de la instruccin End y presione la tecla 13. Presione la tecla [Backspace] para llevar el cursor a la altura de la instruccin If recientemente agregada.

Trabajando con cuadros de mensaje

14. Escriba la instruccin: End If.


15. Coloque el cursor al final de la instruccin: [Link] = Mensaje.

16. Presione la tecla

para insertar una lnea.

17. Escriba la instruccin: Exit Sub. Una vez que escribe el texto en el cuadro de entrada y es pasado al formulario, finaliza la ejecucin del procedimiento. 18. Mueva el cursor al final de la ltima instruccin End If y presione la tecla [Enter)para insertar una lnea.
19. Escriba la instruccin: Loop para cerrar el bucle creado con la instruccin Do.

20. Presione la tecla para finalizar el ingreso de la instruccin y observe que la instruccin Loop tambin toma el color azul. La figura 6.5 muestra cmo deberan quedar escritas las instrucciones en el procedimiento para el formulario.
m Proyecto1
t o r m l I I odiriiil

Pr i v a t e Sub Form-Load ( ) D o Vhile True Hensaje = InputBox ( " Ingrese e l mensaje que desee imprimir n + C h r ( l 0 ) ny pulse l a t e c l a ENTERn, nRecepci6n de mensaje w ) Then I f Mensaje = F i n a l = MsgBox (rrEst seguro que desea f i n a l i If F i n a l = vbYes Then

Label2. Caption = Hensaje E x i t Sub

Figura 6.5 Ventana de cdigo completa

Sugerencia: Utilice los guiones bajos (J para las instrucciones muy largas. Por ejemplo la funcin MsgBox es bastante larga y puede dividirla con ellos.
Ahora deber ejecutar el programa para verificar si realiza lo que se espera del mismo, que cancele cuando el usuario utilice el botn S o muestre nuevamente el cuadro de entrada si marca el botn No.

1 . En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Haga un clic en el botn Candar o presione la tecla
3. Haga un clic en el botn S o presione la tecla1 -[

a.
para finalizar la ejecucin.

4. Vuelva a ejecutar el programa. En el men Ejeaitar,elija la opcin Iniciar o el icono correspondiente. 5. Haga un clic en el botn Cancelar o presione la tecla

m.

6. Haga un clic en el botn No y ver que vuelve aparecer el cuadro de entrada.


Pruebe todas las alternativas posibles para verificar que el programa est respondiendo correctamente. Si no es as, revise los procedimientos escritos y trate de seguir la secuencia lgica de las instrucciones que los forman.

Cmo definir el botn predeterminado en el cuadro de mensaje


Sera conveniente que el botn predeterminado sea el No, para permitirle al usuario cambiar de opinin si se equivoc en la utilizacin del botn Cancelar del cuadro de entrada o por haber presionado la tecla [Escl sin intencin de finalizar.

1. Despliegue la ventana de cdigo. 2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto Form.

3. Localice la instruccin: Final=MsgBox("Est seguro que desea finalizar?", vbYesNo,"Finl').

4. Mueva el cursor despus del tipo de botn (vbYesNo).


5. Escriba el signo ms (+) y aparecer el cuadro de Autocompletar.

6. Haga doble clic en la opcin vbDefaultButton2 para que se agregue a la instruccin MsgBox. De esta manera se est predeterminando el segundo botn, No.
7. Presione la tecla @ para finalizar la modificacin en la instruccin.

8. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


9. Haga un clic en el botn Cancelar o presione la tecla [Esc). La figura 6.6 muestra el botn No como el predeterminado, es decir que si presiona la tecla podr volver al cuadro de entrada.

10. Presione la tecla @%$l y observe que aparece nuevamente el cuadro de entrada.

km
Est seguro que desea hdizar?

Figura 6.6 Cuadro de mensaje con el botn No predeterminado

Trabajando con cuadros de mensaje

Cmo combinar botones e iconos


Para darle ms calidad al cuadro de mensaje que est creando y brindar un toque profesional a su programa, le conviene utilizar iconos y botones. Hasta ahora solamente se utilizaron por separado, pero utilizando el signo ms (+) podr usarlos juntos.

1. Despliegue la ventana de cdigo.


2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto

Form. 3. Ubique la instruccin: Final=MsgBox("Estseguro que desea finalizar?", vbYesNo+vbDefaultButton2,"Fint').


4. Posicione el cursor despus de la definicin del tipo de botn y del que estar predeterminado (vbYesNo + vbDefaultButton2). 5. Escriba el signo ms (+) y aparecer el cuadro de Autocompletar.
6. Utilice la barra de desplazamiento para mostrar el tipo de icono que desea incluir, por ejemplo: vbQuestion.

7. Haga doble clic sobre el tipo de icono vbQuestion y observe que queda agregado a la instruccin MsgBox.
8. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.
9. Haga un clic en el botn Cancelar o presione la tecla @d. La figura 6.7 muestra la apariencia que tendr el cuadro de mensaje personalizado.

1 Fir

Figura 6.7 Cuadro de mensaje con combinacin de iconos y botones

10. Haga un clic en el botn S para finalizar la ejecucin del programa.

Cuadro de mensaje con varias lneas de texto


El prompt del cuadro de mensaje permite que ingresen en el mismo hasta 256 caracteres. Como consecuencia de la utilizacin de un mensaje largo, Visual Basic distribuir las palabras del mensaje en varias lneas dentro del cuadro de mensaje. Pero usted puede controlar las lneas del mensaje con la utilizacin de la funcin Chr, explicada en el captulo anterior, que permite agregar caracteres no imprimibles.

Visual Basic 6.0 en un colo libro


A continuacin se indicarn los pasos para modificar el prompt actual por uno de dos lineas controladas con un retorno de carro.

3 l.

Despliegue la ventana de cdigo.

2. Verifique que el cursor est ubicado en el rea del procedimiento para el objeto Form.

3. Ubique la instruccin: Final=MsgBox("Est seguro que desea finalizar?", vbYesNo + vbDefaultButton2 + vbQuestion,"Fin").
4. Mueva el cursor delante de las primeras comillas (") del prompt.
5. Escriba lo siguiente: "Final del programa."

+ Chr(l0) +.

6. Modifique el mensaje "Est seguro que desea finalizar?" por "Est seguro que desea continuar? ".
7. Presione la tecla @ J para finalizar la modificacin en la instruccin.

8. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 9. Haga un clic en el botn Cancelar o presione la tecla @d.
La figura 6.8 muestra el cuadro de mensaje con las dos lneas de texto ms un icono con forma de signo de pregunta para acompaar al mensaje, que le pregunta al usuario si finaliza la ejecucin del programa o no.

Final del programa. Est6 seguro que desea continuar

Figura 6.8 Cuadro de mensaje con dos lneas de prompt.

Contine probando con la combinacin de diferentes iconos, tipos de botones y predetermine alguno de los botones utilizados.

Sugerencia: Cree un mensaje que disponga de tres botones (vbAbortRetqIgnore) pruebe predeterminar el segundo y el tercer botn y trate de asignar, con la instruccin If, una funcin para cada uno.

Definiendo variables

Cmo utilizar variables


Una variable es un almacenamiento temporal de datos dentro de un programa. Los datos que puede contener una variable pueden consistir en texto ingresado por el usuario en la ejecucin de un programa, el resultado de un clculo, un grupo de caracteres,etctera. Por lo general la definicin de las variables se realiza al comienzo de un procedimiento, pero si la variable es utilizada en diferentes procedimientos, puede hacerse una definicin ms amplia de la misma si se la declara dentro de los objetos generales de la ventana de cdigo. En los captulos anteriores se han utilizados variables para almacenar la informacin que el usuario ingresaba dentro de un cuadro de entrada y para registrar el tipo de botn que se utilizaba en un cuadro de mensaje. Con Visual Basic se puede determinar el tipo de dato que puede contener una variable en particular. Para ello cuenta con una instruccin que reserva el espacio en memoria para la variable y adems, si se lo desea, puede definir el tipo de dato que contendr. Esta instruccin es Dim, que permite reservar el espacio en memoria para una variable, si cumple con la sintaxis:

Dim nombre-variable
J

Nombre-variable: Es el nombre que tendr la variable que almacenar informacin dentro del programa. En los captulos anteriores se utilizaron los nombres Mensaje y Final. Sin embargo para los nombres de variables existen restricciones, a saber: La longitud mxima para el nombre es de 256 caracteres.
Puede contener cualquier combinacin de letras y nmeros. Debe comenzar obligatoriamente con una letra. No puede contener comas. No se pueden utilizar las palabras reservadas, nombres de objetos o propiedades.

Sugerencias para los nombres de variables:


J

Utilice nombres cortos y fciles de recordar.

Visual Basic 6.0 en un solo libro


Los nombres descriptivos son ms cmodos para realizar un seguimiento de la programacin. Por ejemplo: FechaNacimiento es ms fcil de recordar que FN o FNac que, adems, se pueden prestar a confusin. Use la capitalizacin de la primera letra de cada palabra que utilice para el nombre de la variable. Por ejemplo: Cantidadcomprada.

Cmo indicar el tipo de dato que contendr la variable


En la mayora de los casos, el tipo de variable que se utiliza es el predeterminado, el que se denomina Variante o Variant. Estas variables permiten almacenar todo tipo de informacin, pero como consecuencia de esto, son un poco pesadas (mucho espacio) en la memoria de la computadora. Cuando una variable va a contener un determinado tipo de dato, por ejemplo un nmero pequeo, conviene definirla con la indicacin del tipo de informacin que contendr. De esta forma, la variable ocupar menos memoria, el programa se ejecutar ms velozmente y las operaciones matemticas realizadas con dicha variable se acelerarn. La instruccin Dim, adems de reservar el lugar en memoria para la variable, permite identificar el tipo de dato que contendr. Adems, sirve para validar el ingreso de datos por parte del usuario. La sintaxis es la siguiente:

Dim nombre-variable As Tipo-de-dato


J

Tipo-de-dato:
El tipo de dato que define a una variable es una palabra reservada e identifica el tamao que tendr la variable en la memoria, limitando adems el ingreso del dato por parte del usuario o del programa. La tabla siguiente muestra el tipo de dato que puede ser definido para una variable, el tamao que ocupa en la memoria y el rango de valores que puede almacenarse en la variable.

Tipo Byte Integer Long Single Double Currency

Tamao
1 byte 2 bytes

Rango

4 bytes

4 bytes
8 bytes 8 bytes

Definiendo variables

String Object Date

1 byte por carcter 4 bytes 2 bytes

O a 65.535 caracteres
Cualquier tipo de objeto True o False

8 bytes
Cualquier tipo de dato numrico

Variant (con nmeros) 16 bytes

Variant (con caracteres) 22 bytes + 1 bytelcar. Cualquier tipo de dato


Algunos tipos de variables pueden ser identificados utilizando signos al final del nombre de la misma. Esto significa que la instruccin Dim puede escribirse sin incluir As tipo-de-dato. A continuacin se detallan los tipos de variables aue ~ueden identificarse con un signo al final del nombre.

Tipo
Entero Entero largo Simple Doble Moneda Cadena

Carcter
&

Por ejemplo, puede declarar una variable entera utilizando cualquiera de las dos siguientes opciones:

Dim Stock As Integer Dim Stock%

Un programa con variables


Para probar la definicin de variables, conviene crear un pequeo programa destinado a ello. Como se indic en este captulo, definir las variables ayuda a agilizar el programa porque permite controlar el espacio reservad; para ellas. Adems, por default Visual Basic almacena las variables como Variant,esto significa que una variable con caracteres ocupa en memoria 22 bytes, ms un byte por cada carcter almacenado en la misma. Suponga que desea crear una ficha donde pueda calcular la antigedad en la empresa de una persona, adems, en base a esta antigedad, determinar la categora a la que pertenece. Para esto ltimo deber considerar la siguiente tabla:

Antigedad Categora Menos de 10 aos C B Entre 10 y menos de 20 aos 20 o ms A

Visual Basic 6.0 en un colo libro


Necesitar que se ingrese el nombre y apellido de la persona y su fecha de ingreso, luego tendr que programar los clculos necesarios para establecer la antigedad y la categora a la que pertenece. Para este ejemplo conviene definir las variables que utilizar para los clculos necesarios a fin de establecer la antigedad de la persona. Por ejemplo, podra utilizar dos variables: una para contener la cantidad de das trabajados y otra para la antigedad en aos, ambas debern ser de tipo Integer.

\LJb el Con estas definiciones. se estara ahorrando espacio en memoria y por lo tanto, programa se ejecutar ms velozmente. Como son dos variables en un programa pequeo no notar la diferencia en el tiempo de ejecucin, pero en un proyecto importante (por ejemplo, uno creado para su empresa) la correcta definicin de variables le permitir optimizar los recursos del equipo y agilizar el tiempo de respuesta del programa.

Controles a utilizar: Label Text Command


Para crear las etiquetas correspondientes a los datos que mostrar el formulario. Son cuadros de texto que permiten ingresar o modificar datos. Crea botones para la ejecucin de alguna accin.

El diseo del formulario


Si desea crear una ficha para calcular la antigedad en la empresa y la categora a la que pertenece la persona, la interfaz de usuario podra ser como la que presenta la figura 7.1, donde se debern completar los dos primeros cuadros (el nombre y la fecha de ingreso). Luego, el programa se deber encargar de indicar la antigedad y la categora de la persona.

Datos personales
i Nombre
i

y Apellido:

I :

Categora:

Figura 7.1 Ejemplo de inferjk,:de [Link] para calcular la antigedad y la categora

Definiendovariables

3 l.
I I

Inicie una sesin de Visual Basic.

2. Deje marcada la opcin EXE estndar. 3. Haga un clic en el botn Abrir para comenzar un formulario nuevo, que utilizar para crear la interfaz de usuario. 4. Utilice la ventana Posicin del formulario para ubicarlo en la parte central superior de la pantalla.

5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


6. Haga doble clic sobre la propiedad Caption.

7. Escriba: Ficha personal y presione la tecla [Enter.

8. Haga doble clic sobre la propiedad BackColor para cambiar el color de fondo del formulario. 9. Haga un clic en la solapa Paleta y elija el color que desee. Por ejemplo, el amarillo ms claro. 10. Utilice la barra de desplazamiento hasta mostrar la propiedad Icon.
11. Haga doble clic sobre la propiedad Icon y elija el archivo .CUR o .ICO que desee. Por ejemplo, elija el archivo [Link] que se encuentra en la carpeta que muestra la figura 7.2.

1Cargar icono

Figura 7.2 Carpeta que contiene al icono que acompaar al formulario

12. Elija la herramienta Label y trace un rectngulo, bastante ancho, en la parte superior del formulario. 13. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 14. Haga doble clic sobre la propiedad Caption.

15. Escriba el ttulo: Datos personales y presione la tecla [Enter. 16. Haga doble clic sobre la propiedad BackColor. 17. Haga un clic en la solapa Paleta y elija el mismo color que tiene el formulario.

Visual Basic 6.0 en un solo libro


18. Haga doble clic sobre la propiedad Font. 19. Elija el tipo de letra Times New Roman en Negrita y el tamao de 22 puntos. 20. Haga un clic en el botn Aceptar. 21. Haga doble clic sobre la propiedad ForeColor y elija el color que desee. 22. Utilice la barra de desplazamiento hasta mostrar la propiedad Alignment. 23. Haga un clic sobre el control de la propiedad Alignment y elija la alineacin 2

- Center.

24. Elija la herramienta Label y trace un pequeo rectngulo debajo del ttulo.
25. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 26. Haga doble clic sobre la propiedad Caption. 27. Escriba: Nombre y Apellido: y presione la tecla -. 28. Elija la herramienta Label y trace un rectngulo debajo del anterior. 29. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 30. Haga doble clic sobre la propiedad Caption. 31. Escriba: Fecha de ingreso: y presione la tecla

32. Elija la herramienta Label y trace un rectngulo debajo del anterior. 33. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 34. Haga doble clic sobre la propiedad Caption. 35. Escriba: Antigedad: y presione la tecla ]E -[
36. Elija la herramienta Label y trace un rectngulo debajo del anterior.

37. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 38. Haga doble clic sobre la propiedad Caption. 39. Escriba: Categora: y presione la tecla [Entercil. 40. Utilice la tecla

[ m para ] seleccionar las etiquetas Nombre y Apellido:, Fecha de ingreso:, Antigedad: y Categora: como lo muestra la figura 7.3. Tambin puede hacerlo "enmarcando" con el mouse.

41. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 42. Haga propiedad Font y elija Negrita. - doble clic sobre la 43. Haga un clic en el botn Aceptar.

44. Elija la herramienta Text y trace un rectngulo al lado de la etiqueta Nombre y Apellido:. Con este objeto podr ingresar el nombre de la persona.
45. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Definiendovariables

Ficha personai

aom

Datos personales

Figura 7.3 Seleccin mltiple de los objetos Label

46. Haga doble clic sobre la propiedad Text.


47. Presione la tecla (

y luego la tecla [Entercil.

48. Elija la herramienta Text y trace un rectngulo al lado de la etiqueta k'echade

ingreso:.

49. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


50. Haga doble clic sobre la propiedad Text.

51. Presione la tecla ( e l

y luego la tecla [Enter.

52. Elija la herramienta Text y trace un rectngulo al lado de la etiqueta Antigedad:.

53. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

54. Haga doble clic sobre la propiedad Text.

55. Presione la tecla gora:.

luego la tecla [m).

56. Elija la herramienta Text y trace un rectngulo a la derecha de la etiqueta Cate-

57. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


58. Haga doble clic sobre la propiedad Text.
59. Presione la tecla [Deleie] luego la tecla [ .l

Visual Basic 6.0 en un solo libro


60. Elija la herramienta Command y trace un rectngulo a la derecha del formulario. Este botn permitir salir del programa.
61. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 62. Haga doble clic sobre la propiedad Caption. 63. Escriba: Salir y presione la tecla [Entrrcllpara finalizar el ingreso del texto.

64. Elija la herramienta Command y trace un rectngulo a la derecha del formulario. Con este botn podr imprimir la ficha del personal.
65. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 66. Haga doble clic sobre la propiedad Caption. 67. Presione la tecla1-( propiedad.

y luego la tecla -para

borrar el contenido de la

68. Utilice la barra de desplazamiento hasta mostrar la propiedad Picture. 69. Haga doble clic sobre la propiedad Picture y elija la imagen que desea colocar en el botn. Por ejemplo, utilice el archivo [Link] que se encuentra en la carpeta que muestra la figura 7.4. 70. Haga doble clic sobre la propiedad Style para que asuma el valor 1 Graphical. 71. Si fuera necesario, ajuste el tamao de este objeto para que rodee a la imagen que lo representa.

1Cargar imagen

Utiutton

O Common

m Gra~hics

Figura 7.4 Carpeta que contiene a la imagen del botn de comando

72. Seleccione los dos ltimos objetos Text (Text3 y Text4), que contendrn la antigedad y la categora, tal como muestra la figura 7.5. 73. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 74. Haga doble clic sobre la propiedad Locked para cambiar al estado True.

Activar la propiedad Locked impide que los datos contenidos en los objetos Text puedan ser modificados, pem s permite la seleccin de los datos para, por ejemplo, mpmlos.

Definiendo variables

Figura 7.5 Seleccin de los objetos Text

La escritura del cdigo


Para este programa se necesitan tres procedimientos: uno para el botn Salir que deber finalizar la ejecucin del programa, otro para el botn de imprimir y uno para el objeto Text2, que contendr la fecha de ingreso. Este ltimo procedimiento deber contener:
J J
,

Las definiciones de las variables. La asignacin del contenido de las variables a los objetos Text. Los clculos de la antigedad y la categora. La asignacin de los resultados de los clculos a los objetos.

J J

Para realizar los clculos necesarios deber conocer la funcin CDate que permite transformar caracteres en fechas. La sintaxis es la siguiente: Expresin: Es el objeto que tiene un formato de cadena de caracteres (texto y nmeros), que se desea convertir a un formato de fecha.

Esta funcin es necesaria porque para los clculos se necesita la fecha de nacimien to, que el usuario almacenar en el objeto Text2, y debido a que el contenido de es tos objetos es texto, ste deber ser convertido a fecha.

1 . Haga doble clic sobre el botn Commandl, que corresponde al botn Salir, para ingresar a la ventana de cdigo.

2. Verifique que en el recuadro que contiene a los objetos figure Commandl.

3. Presione la tecla
4. Presione la tecla

my escriba End.
para finalizar el ingreso del c6digo correspondiente a este objeto.

5. Haga un clic en el control del recuadro que lista los objetos y elija Command2, que corresponde al botn de imprimir.

Visual Basic 6.0en un solo libro


6. Presione la tecla para comenzar a escribir el cdigo de la impresin del formulario. Anteriormente se utiliz en el programa de Mensaje la instruccin PrintForm sin ninguna otra instruccin, y si usted realiz una prueba de impresin del formulario habr notado que se imprimen los botones de comando. Para que los dos botones que contiene este formulario no se impriman, debern ocultarse y finalizada la impresin deben volver a aparecer.

7. Escriba la instruccin: [Link] = False y presione la tecla. Con esto est indicando que no se muestre el botn de comando que tiene el texto Salir.

8. Escriba la instruccin: [Link] = False y presione la tecla [Enter. Oculta al botn de imprimir.
9. Escriba la instruccin: PrintForm y presione la tecla -.
10. Escriba la instruccin: [Link] = True y presione la tecla1 .( Vuelve a mostrar el botn Salir.

1 1 . Escriba la instruccin: [Link] = True y presione la tecla . Vuelve a mostrar el botn de imprimir.
Los clculos deberan realizarse cuando finalice la carga de la fecha de ingreso y el cursor se ubique en otro control u objeto. Para ello, las instrucciones deben escribirse para el procedimiento LostFocus, esto significa, que se va a ejecutar cuando el objeto pierda el "foco", es decir que se ejecutar cuando el cursor se posicione en otro control. Haga un clic en el control del recuadro que lista los objetos y elija Tewt2, que a 3 l. corresponde al cuadro de texto que contendr la fecha de ingreso. Observe que el procedimiento que muestra es Change, el que deber ser cambiado por LostFocus. 2. Haga un clic en el control del recuadro que lista los procedimientos y elija LostFocus, que corresponde al botn de imprimir.

3. Presione la tecla para comenzar a escribir el cdigo que calcular la antigedad y la categora.

4. Escriba la instruccin: Dim Antiguedad As Integer y despus la tecla Esta definicin de la variable est indicando que el clculo de la antigedad ser un nmero entero y que ocupar 2 bytes.

[m].

5. Escriba la instruccin: Dim DiasTrabajados As Integer y despus la tecla

[Enterci].

6. Presione la tecla IEnterdpara dejar una lnea en blanco entre las definiciones de las variables y el resto de la programacin.

7. Escriba la instruccin: DiasTrabajados = Date CDate([Link]). La funcin Date devuelve la fecha actual, es decir, la que est utilizando el equipo.

Definiendo variables

8. Presione la tecla (Entercl). 9. Escriba la instruccin: Antiguedad = Int(DiasTrabajad0s1365). La funcin Int devuelve el valor entero de una expresin o un nmero. 10. Presione la tecla

[m].

11. Escriba la instruccin: [Link] = Antiguedad & " aos". Esta instruccin concatena datos de diferente naturaleza, es decir que a un nmero (almacenado en la variable Antiguedad), le agrega un espacio en blanco y la palabra aos. 12. Presione la tecla .l [ 13. Escriba la instruccin: If Antiguedad < 10 Then. Evala si la antigedad es menor a 10 aos. 14. Presione la tecla [EnterclJ y la tecla [m]. 15. Escriba la instruccin: [Link] = "C". Asigna al objeto Text4 la categora correspondiente. 16. Presione la tecla [Enter y despus la tecla [Dackspacel. 17. Escriba la instruccin: ElseIf Antiguedad < 20 Then. Esta condicin evala si la antigedad est comprendida entre 10 y 20. 18. Presione la tecla 20. Presione la tecla
y la tecla[EEG).

19. Escriba la instruccin: [Link] = "Bu.

[ w c yi la ] tecla [Backspace] .
y la tecla

21. Escriba la instruccin: Else. 22. Presione la tecla 1 -[ 24. Presione la tecla 26. Presione la tecla

m.

23. Escriba la instruccin: [Link] = "A".


y la tecla [S]

25. Escriba la instruccin: End If.

m. La figura 7.6 muestra los tres procedimientos.

Sugerencia:Cuando dos o ms variables son del mismo tipo pueden definirse en una sola lnea, escribiendo los nombres de cada una de ellas separados por comas (,). Por ejemplo: Dim DiasTrabajados, Antiguedad As Integer.

Grabacin y prueba del programa

- 3

Antes de probar el programa conviene grabarlo para no perder ninguna informacin.

1. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente. 2. Indique el nombre del formulario, por ejemplo: Ficha personal.

1 Visual Basic 6.0 en un solo libro

Figura 7.6 Procedimientos para salir, imprimir y calcular

3. Haga un clic en el botn Aceptar.


4. Indique el nombre del proyecto, por ejemplo: Ficha personal.
5. Haga un clic en el botn Aceptar.

Ahora puede probar el programa para verificar si el proyecto inserta la informacin de las variables en los cuadros de texto del formulario y, adems, qu sucede cuando se ingresa un dato que no corresponde para la variable, por ejemplo: escribir texto en el cuadro de entrada de la fecha de nacimiento.

1. En el meni Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2. Aparecer el formulario solicitando los datos. Escriba un nombre, por ejemplo el suyo y presione la tecla -.

3. El cursor se ubicar en la fecha de ingreso para que indique una fecha, por ejemplo: 8/8/90. Recuerde que debe cumplir con el formato definido en el Panel de
Control de Windows.

4. Presione la tecla Observe que el clculo de la antigedad se realiza correctamente y se asigna, en base a ella, la categora correspondiente.
5. Encienda la impresora, haga un clic en el botn de imprimir y observe que los botones no se imprimen.

m.

Definiendo variables

6. Haga un clic en el botn Salir para finalizar la ejecucin del programa y volver al diseo del mismo.
Reejecute el programa para probar el tipo de dato definido en las variables:

1 . En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Aparecer el formulario solicitando, como primer dato, el nombre, escriba el que desee y presione la tecla

m.

3. Con el cursor en el recuadro de la fecha de ingreso, escriba una letra y presione la tecla1-[ y aparecer el cuadro de error de tipo de dato que muestra la figura 7.7.

Figura 7.7 Cuadro de error de tipo de dato

4. Haga un clic en el botn Terminar. Este es el cuadro de error de tipo de dato que Visual Basic visualiza cuando se ingresa texto en una variable que est destinada para nmeros o fechas. En el captulo siguiente se explicar el control de errores para que el mensaje que aparezca sea uno programado por usted o, si la situacin lo amerita, no visualizar ningn mensaje de error.

Control de errores

En este captulo se tratar el tema de los errores producidos en tiempo de ejecucin del programa y la depuracin de los mismos. Adems, junto con la depuracin, se ver el seguimiento paso a paso para poder detectar exactamente el lugar en que se encuentra una instruccin con problemas. En el captulo anterior hemos creado un programa con variables que utilizaban informacin ingresada en un formulario. Adems se observ que Visual Basic presentaba un cuadro de error cuando el dato ingresado en uno de los cuadros de texto no coincida con el tipo de variable utilizada para el clculo. Estos cuadros de error identifican el tipo de error con un nmero, nmero que sirve para controlar el error mediante la programacin.

Qu es un manejador de error
Un error que ocurre durante la ejecucin de un programa constituye una ruptura del programa que se presenta inesperadamente. Cuando se detecta un error, Visual Basic muestra un cuadro al efecto, esto significa que el programa no tiene rdenes para ejecutar cuando ocurre ese evento y por lo tanto Visual Basic debe detener la ejecucin del programa al advertir ese cuadro de error. Los manejadores de errores se colocan dentro de los procedimientos en que pueden producirse errores, permitiendo la solucin de los mismos sin cancelar la ejecucin del programa. Estos manejadores pueden utilizarse en cualquier problema que genere un error durante la ejecucin del programa. A continuacin se listan algunos de los errores que pueden controlarse mediante dichos manejadores:
J

Problemas del drive de discos: Discos no formateados, sectores defectuosos o el disquete no est presente. Problemas de impresoras: Impresoras apagadas, sin papel o fuera de servicio. Problemas de memoria: Error provocado por cantidad insuficiente de memoria para ejecutar un programa. Errores del Portapapeles: Problemas de transferencia de informacin o problemas propios del Portapapeles.

Control de errores Errores lgicos: Problemas de sintaxis no detectados en la prueba y compilacin del programa.

Cmo detectar errores


Para detectar errores se utiliza la instruccin O n Error, su sintaxis es la siguiente:

O n Error GoTo marcador


J

Marcador: Los marcadores son palabras seguidas de dos puntos (:) y cuando trabajan comc marcadores o manejadores de error conviene colocarlos al final del procedimiento para separar las instrucciones propias del programa de las que controlan el error.

La instruccin O n Error se debe colocar antes de la instruccin que puede generar u n error, y cuando el error es detectado, salta hasta el marcador indicado en la instruccin para ejecutar las acciones correspondientes. En muchas ocasiones, despus de ejecutar las instrucciones para corregir el error, debe volver el control a la rutina que gener el error o a la siguiente. Para ello existen dos instrucciones que estan formadas por palabras reservadas y son las siguientes: Resume: Devuelve el control a la instruccin que caus el error. Por ejemplo: si la solucin del error es mostrar un mensaje, lo ms probable es que despus del mismo deba volver a ejecutarse la instruccin que caus el error. Si se desea reasumir las instrucciones del programa pero a partir de un determinado lugar, puede colocar un marcador en el sitio donde se reasumirn las instrucciones. La sintaxis es la siguiente: Resume marcador Resume Next: Devuelve el control a la instruccin siguiente a la que caus el error. Por ejemplo si se carga un archivo a travs de un programa, y este archivo no existe, puede continuar con la siguiente instruccin, la que podra ser la salida del procedimiento. La sintaxis de esta instruccin es la siguiente: Resume Next

Cmo resolver los errores


Con la instruccin O n Error se detecta cualquier tipo de error y pasa el control a las instrucciones que resolvern el mismo. Los errores que se producen en tiempo de ejecucin del programa estn identificados con un nmero. De esta forma, si una instruccin provoca ms de un tipo de error, puede controlar los mensajes o instrucciones a ejecutar si ocurre un error determinado. Existe un objeto que puede utilizar: En,que permite manejar los errores que ocurren en tiempo de ejecucin. Este objeto posee una propiedad llamada Number que identi-

7 Visual Basic 6.0 en un solo libro


fica el error ocurrido y permite ejecutar las instrucciones necesarias para el control del error. Por lo general se utiliza junto a la instruccin If. La sintaxis es la siguiente: [Link] operador nmero-error
J

Operador: Son los operadores matemticos que se utilizan para la instruccin If. Estos operadores son: =, o , >, >=, c y c=. Nmero-error: Es el nmero que muestra Visual Basic en el cuadro que presenta cuando ocurre un error en tiempo de ejecucin de un programa.

Cmo programar el control de errores


Para probar el control de errores se utilizar el programa creado en el captulo anterior, donde se valida el ingreso de informacin en los cuadros de entrada. Cada vez que se ingresa informacin con formato inadecuado en el cuadro de texto que contiene la fecha de ingreso aparece el cuadro de error de la figura 8.1.

Figura 8.1 Cuadro de error que aparece cuando no existe manejador de errores

Por lo tanto, hay que colocar la instruccin On Error antes de la primera instruccin que genera error.

3 1.

Inicie una sesin de Visual Basic.

2. Seleccione la solapa Reciente para mostrar los ltimos proyectos creados o modificados.
3. Elija el archivo de proyecto creado en el captulo anterior, Ficha personal.

4. Utilice el signo ms para abrir el formulario que contiene el proyecto.


5. Haga un clic en el icono que muestra la ventana del cdigo del proyecto.

6. Haga un clic en el control del recuadro que contiene la lista de objetos de la interfaz de usuario y elija Text2. Si tiene visible la lista de todos los procedimientos puede colocar el cursor en el que corresponde al que realiza el clculo.

Control de errores

7. Haga un clic en la lnea en blanco que dej entre las definiciones de variables y los clculos.

8. Presione la tecla [Enter para insertar una lnea.


9. Escriba la instruccin: O n Error GoTo Solucin.

10. Presione la tecla @ para finalizar el ingreso de la instruccin. Observe que todas las palabras, salvo Solucin, quedan en color azul.
11. Posicione el cursor al final de la instruccin End If. 12. Insertar nuevamente una lnea. 13. Escriba la instruccin: Exit Sub. Esta instruccin finalizar el procedimiento y saldr del mismo. Si se omite, Visual Basic continuar ejecutando las instrucciones escritas debajo, en este caso para corregir el error. 14. Presione la tecla [Entercil y escriba el nombre del marcador: Solucin:. 15. Presione la tecla 1-[ jar sangra.

y ver que el marcador se ubica en el margen, sin de-

16. Escriba la instruccin: Mensaje = MsgBox("FORMAT0 INCORRECTO."+ Chr(l0) + "Ingrese correctamente la fecha." + Chr(l0) + "Se asignar la fecha actual.",vbCritid,"Emor de tipo de dato"). 17. Presione la tecla 1 ( y escriba la instruccin: [Link]=[Link] esta sentencia se le asigna al objeto Text2 el valor de la fecha actual, ya que es importante que el mismo tenga un valor con formato de fecha. Puede asignarle cualquier fecha, pero asignarle la fecha actual es ms genrico. Ahora debe darle al usuario la posibilidad de cambiarla.
18. Presione la tecla (Entercil y escriba la instruccin: [Link]. SetFocus es una instruccin que devuelve el foco o el enfoque a un objeto o control, en otras palabras, hace que el cursor se ubique en el cuadro que tiene la fecha para que el usuario la cambie.

19. Presione la tecla y escriba la instruccin: Resume. Esto le devolver el control a la ejecucin de la instruccin.
20. Presione la tecla para finalizar el ingreso de la instruccin. La figura 8.2 muestra el procedimiento completo.

Con estas instrucciones se trata & evitar el cuadro que muestra Visual Basic cada vez que se ingresa un dato que no cumple con la definicin de la variable utilizada. Cuando ejecute el programa, y escriba una fecha de ingreso con un formato diferente (por ejemplo, incluyendo texto), aparecer el cuadro de mensaje creado en el paso 16, colocar la fecha actual como fecha de ingreso de la persona, ubicar el cursor en dicha fecha y, como la instruccin siguiente es Resume, volver a mostrar el formulario para que reingrese la fecha mal escrita.

Visual Basic 6.0 en un solo libro

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Escriba un nombre y presione la tecla

m.
.OatOCU.

Private Sub Text2-LostFocus ( ) Dim Antiguedad As Integer Dim DiasTrabajados As Integer On Error GoTo Solucin DiasTrabajados = Date - CDate ([Link]) Antiguedad = Int (DiasTrabajados / 3 65) [Link] = Antiguedad & aHosw If Antiguedad 10 Then [Link] = " C W ElseIf Antiguedad 20 Then [Link] = "BW E lse Text4. Text = "Arr End If Exit Sub Solucin: Mensaje = MsgBox("FORMAT0 INCORRECTO." + Chr (lo) + "Ingrese correctamente l a fecha." + Chr (lo) + "Se asignara la fecha actual. ", vblritical, "Error de tipo de datorr) [Link] = Date [Link] Resume End Sub
& +~ * , @ A * + & & w & & & *

& /* ,

Figura 8.2 Procedimiento completo para el objeto Text2

3. Escriba una letra en lugar de una fecha. Tambin puede escribir un nmero sin formato de fecha.

4. Presione la tecla [ S y aparecer ] el cuadro de mensaje creado, tal como muestra la figura 8.3.

1~rror de tipo de dato

Figura 8.3 Cuadro de mensaje creado para solucionar el error que Visual Basic presenta

Control de errores
5. Haga un clic en el botn Aceptar y se mostrar el formulario con la fecha actual como la de ingreso.

6. Escriba la fecha de ingreso, por ejemplo 15/12/80.


7. Presione la tecla [ E y obtendr ] los clculos correctos para la fecha de ingreso indicada. 8. Haga un clic en el botn Salir para finalizar la ejecucin del programa y volver al diseo del mismo.

9. Si el programa se ejecut correctamente, gurdelo y preprese para crear un nuevo proyecto.

Otro programa que muestra mensajes de error


Suponga que desea crear un programa que le permita elegir una unidad de disco, un directorio y un archivo de imgenes (por ejemplo: los archivos .WMF, .BMP, .ICO, .CUR, etc.). Una vez elegidos estos elementos, una muestra de la imagen debera aparecer en el cuadro de imagen. Esto significa que podra crearse un Explorador de imgenes y para ello se necesitarn los siguientes controles:

Drive Dir File

Permite crear un control donde se puede elegir una unidad de disco. El objeto tendr el nombre Drivel. Con este control se puede crear un objeto, Dirl, que muestre la lista de directorios o carpetas de una unidad de disco. Permite crear una lista de archivos pertenecientes a una carpeta especfica. Adems se puede especificar en este objeto el tipo de archivo que deber mostrar, por default asume todos (*.*). El objeto tendr el nombre Filel. Permitir colocar en el formulario un recuadro para mostrar una imagen dentro del mismo. El objeto tendr el nombre Imagel. Se puede crear con este control un objeto llamado Labell que mostrar un texto fijo. En este programa, la informacin que mostrar ser el nombre del archivo seleccionado, y como ste variar segn lo que elija el usuario del programa, se deber modificar su propiedad Caption a travs del cdigo de programacin.

Image Label

1 . En el men Archivo, elija la opcin Nuevo proyecto y aparecer el cuadro de la figura 8.4 que muestra los tipos de proyectos. 2. Deje marcada la opcin EXE estndar.
3. Haga un clic en el botn Aceptar.

4. Mueva el puntero del mouse en la ventana Posicin del formulario y haga un clic con el botn derecho.

Visual Basic 6.0 en un solo libro 5. Elija la opcin Posicin inicial.


6. Elija la opcin Centro de la pantalla.

7. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


3

8. Haga doble clic sobre la propiedad Caption y escriba: Examinador de imgenes y dibujos.
Huevo vrovecto

E ! !

EXE ActiveX

DLL ActiveX

Control

'tentepara Administrador Proyecto de :aciones.., de asistent.. datos

Aplicacin 115

DI1de docume..

Exe de docume..

Aplicacisin DHTML

Figura 8.4 Cuadro para crear un nuevo proyecto

9. Presione la tecla I 1 ' los del formulario.

para finalizar el ingreso del texto de la barra de ttu-

10. Utilice la barra de desplazamiento para mostrar la propiedad Icon. 1 1 . Haga doble clic sobre la propiedad Icon y ver el cuadro que le permitir elegir el icono que acompaar al formulario. Para este ejemplo se utilizar el archivo [Link] que se encuentra en la ruta que muestra la figura 8.5.
Caraar icono

Buscar en

Figura 8.5 Carpeta donde se encuentra el icono del formulario

Control de errores 12. Haga un clic en el botn Abrir para definir el icono que colocar en la barra de titulo del formulario. 13. Ample el alto y el ancho del formulario para que quepan todos los controles. 14. Haga un clic en el control Driver y dibuje un rectngulo para observar en el mismo el listado de las unidades de disco. 15. Haga un clic en el control Dir y dibuje un recuadro debajo del objeto anterior. 16. Haga un clic en el control File y dibuje un recuadro debajo del objeto anterior. 17. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 18. Haga doble clic sobre la propiedad Pattern y escriba: *.bmp,*.wmf,*.ico,*.cur. Esto servir para identificar los archivos que se mostrarn en la lista de archivos. 19. Presione la tecla ] [ se deben listar.
para finalizar el ingreso de los tipos de archivos que

1
I

20. Haga un clic en el control Image y dibuje un gran recuadro a la derecha de todos los objetos insertados. Debe tener un tamao importante porque este recuadro mostrar la imagen seleccionada. 21. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

22. Haga doble clic sobre la propiedad Strech para pasar al estado Tme. Cuando se activa esta propiedad, la imagen del archivo se ajusta al tamao que tiene el recuadro de imagen. Si no se activa, se ver el tamao real de la imagen o dibujo seleccionado, pero se correr el riesgo de no mostrar la totalidad de la imagen.

B
m
I

23. Haga un clic en el control Label y dibuje un rectngulo debajo del objeto Imagel creado en el paso anterior.
24. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

25. Haga doble clic sobre la propiedad Caption. 26. Presione la tecla [m] para borrar su contenido y luego la tecla ] [ para finalizar. 27. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.
28. Grabe el formulario con el nombre: Examinador.

29. Haga un clic en el botn Guardar. 30. Grabe el proyecto con el mismo nombre que el formulario. 31. Haga un clic en el botn Guardar. La figura 8.6 muestra el diseo del formulario del explorador.
Si ejecuta el programa ahora, ver que si bien los controles aparecen, el listado de carpetas no vara cuando usted elige una unidad de disco, porque los controles estn desenganchados. Adems, si apareciera un archivo con la extensin especificada en la propiedad Pattem, no se mostraa en el cuadro de imagen.

Visual Basic 6.0 en un solo libro

El cdigo para el programa

1. Haga doble clic sobre el objeto Drivel. Luego aparecer la ventana de cdigo.

2. Verifique que el procedimiento sea Change. De esta forma cada vez que cambie de unidad de disco se tendr que modificar el listado de directorio.

Examinador de imgenes y dibujos

Figura 8.6 Diseo del formulario del Explorador de imgenes

3. Presione la tecla

para dejar sangra antes de escribir.

4. Escriba la instruccin: [Link] = Drive1,Drive. Con esta instruccin se est indicando que la lista de carpetas deber mostrar la informacin de la unidad de disco (Drive) elegida en el objeto Drivel.
5. Haga un clic en el control del recuadro que tiene la lista de objetos y elija Dirl.
6. Presione la tecla

mpara dejar sangra antes de escribir.

7. Escriba la instruccin: [Link] = [Link]. Con esta instruccin se estn enlazando dos objetos: la lista de carpetas (Dirl) y la lista de archivos (Filel), por lo tanto, cada vez que cambie de carpeta, cambiar la lista de archivos.

8. Haga un clic en el control del recuadro correspondiente a la lista de objetos y elija Filel, para escribir las instrucciones que enlacen la lista de archivos con el cuadro que mostrar la imagen y la etiqueta colocada debajo de la misma, la que mostrar la ruta y el nombre del archivo seleccionado.

Control de errores
9. Presione la tecla [ T X para ) dejar sangra antes de escribir. 10. Escriba la instruccin: [Link] = LoadPicture([Link] + "\" + [Link]). Esta instruccin asigna a la propiedad el Path o ruta donde se encuentra el archivo ([Link]), luego le suma (+) la barra \ para separar la ruta del nombre de archivo y por ltimo, le suma el nombre del archivo seleccionado ([Link]).
1 1 . Presione la tecla LE"'ercily escriba la instruccin: [Link] = [Link] + "\" + Fiel.f'lename. Con esta instruccin se asigna la ruta y el nombre del archivo a la etiqueta que aparecer debajo de la imagen.

Puede utilizar el signo & o el signo +. Ambos cumplen la misma funcin.

Nota: La propiedad Path utilizada en este programa, sirve para identificar la ruta correspondiente a una carpeta o a un archivo. La funcin LoadPicture permite asignar a un objeto Image o Picture el contenido de un archivo de imagen o dibujo. Este programa provoca dos errores: uno cuando se elige una unidad de disco que no est lista (por ejemplo una disquetera) y otro cuando se selecciona un archivo de disco duro (porque no encuentra la ruta correcta para mostrarlo).

l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2. Elija una unidad de disco, por ejemplo el disco duro.


3. Seleccione la carpeta que tiene archivos de imgenes o dibujos. Aparecer la lista de los archivos que contiene.

4. En el recuadro de las unidades de discos, elija la unidad A:. Si el disquete no est colocado, aparecer el cuadro de la figura 8.7.

Error '68' en tiempo de ejecucin :

El dispositivo no esta disponible

Figura 8.7 Error que Visual Basic indica cuando la unidad de disco no est preparada

5. Haga un clic en el botn Terminar para volver a la ventana de diseo del programa.

6. Vuelva a ejecutar el programa. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

Visual Basic 6.0 en un solo libro


7. Elija una unidad de disco que contenga un archivo de imagen en el directorio raz. Si no tiene ninguno, copie un archivo de imagen en el directorio raz del disco duro de su PC o en un disquete.

8. Elija el archivo de imagen que desea ver. A continuacin aparecer el cuadro de error de la figura 8.8.

Figura 8.8 Cuadro de error cuando se trata de ver un archivo del directorio raz

Examinador de imgenes y dibujos

Figura 8.9 Resultado de la ejecucin del programa

9. Haga un clic en el botn Terminar para volver a la ventana de diseo del progmm.

Control de errores

I .

10. Vuelva a ejecutar el programa. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 11. Elija una unidad de disco que contenga un archivo de imagen. 12. Elija el archivo de imagen que desea ver. A continuacin aparecer la imagen del archivo seleccionado, tal como se exhibe en la figura 8.9 de la pgina anterior.

Cmo solucionar estos errores


En este programa existen dos errores diferentes: el nmero 68 y el nmero 76, pero ocurren en dos procedimientos distintos. El error 68 correspondiente a una unidad de disco no preparada, se presenta cuando se elige la unidad de disco, es decir en el procedimiento correspondiente al objeto

Driverl. El error 76 indica un nombre incorrecto de archivo, porque a la barra (\)del directorio raz se le agrega otra en el cdigo de programacin (paso 10 del grupo correspondiente a la escritura del cdigo). Este error ocurre cuando se hace un clic sobre el nombre del archivo, es decir, en el procedimiento del objeto Filel. Solucin del error nmero 68: Para corregir el error 68 (unidad no preparada) podra aparecer un mensaje para que el usuario decida si desea leer la unidad no preparada o cancelar la lectura. Si el usuario cancela la lectura de la unidad aue gener el error, entonces deber mostrar la unidad de disco duro: C:.

3 1.

Abra la ventana de cdigo.

2. Localice el procedimiento del objeto Drivel.


3. Mueva el cursor delante de la instruccin [Link] = [Link] y presione para crear un lnea nueva antes de esta instruccin. la tecla
4. Presione la tecla
la tecla .lI
y escriba la instruccin: On Error GoTo Solucin.

5. Mueva el cursor al final de la instruccin [Link] = [Link] y presione


6. Escriba el marcador: Solucin:.
7. Presione la tecla [Enter.

8. Escriba la instruccin: If [Link] = 68 Then. De esta forma se valida el error correspondiente a una unidad no preparada. 9. Presione la tecla

[m] y luego la tecla1 -(

para aumentar la sangra.

10. Escriba la instruccin: Respuesta = MsgBox("Verifique que la unidad est preparada." + Chr(l0) + "Haga un clic en Aceptar para volver a leerla.", vbOKCancel + vbExclamation, "Error de disco"). 11. Presione la tecla

[m) y escriba la instruccin: If Respuesta = vbOK Then.

Visual Bacic 6.0 en un solo libro

12. Presione la tecla 1 I

y luego la tecla

[m] para aumentar la sangra.

13. Escriba la instruccin: Resume.

14. Presione la tecla IEnterLi) y luego la tecla [B.c"pseil para disminuir la sangra.
15. Escriba la instruccin: Else.

16. Presione la tecla


18. Presione la tecla1 -[ 20. Presione la tecla

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

17. Escriba la instruccin: [Link] = "c:".


y luego la tecla1 -( 19. Escriba la instruccin: End If. y luego la tecla I"F"[Link] para disminuir la sangra. 21. Escriba la instruccin: End If para finalizar el primer If utilizado. 22. Presione la tecla para finalizar el ingreso. La figura 8.10 muestra el procedimiento completo.
Forml [Cdiool

Private Sub Drivel Change[] On Error GoTo Solucibn [Link] = [Link] Solucibn: If [Link] = 68 Then Respuesta = MsgBox ( "Verifique que 1 ; unidad est preparada." + Chr [lo] + "Haga un clic en Aceptar. ", vbOKCance1 + vbExclamation, "Error de discorr) I f Respuesta = vbOK Then Resume Else [Link] = "c:" End If End If
1

Figura 8.10 Procedimiento completo que controla el error 68

1. En el ment Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. En el recuadro que lista a las unidades de discos, elija la disquetera, pero no coloque el disquete. Aparecer el cuadro que muestra la figura 8. l l , que reemplaza al de error que mostraba Visual Basic.

Control de errores

Figura 8.1 1 Cuadro de error cuando la unidad de disco no est preparada

3. Haga un clic en el botn Cancelar y el formulario mostrar la unidad C: seleccionada.


4. Vuelva a elegir la unidad de disco flexible. Ver nuevamente el cuadro de error creado en la programacin.
5. Coloque el disquete en la unidad de disco.

6. Haga un clic en el botn Aceptar para leer el contenido del disquete.

La solucin para el error 76: Para mostrar la imagen o dibujo del archivo seleccionado, se program la instruccin [Link] = LoadPicture@[Link] & "\" & [Link]). El problema de esta instruccin es que agrega una barra \ despus de la ruta seleccionada, pero cuando la ruta es el directorio raz de un disco, aparece el error nmero 76. Una posible solucin podra ser utilizando la instruccin On Error. Los pasos seran los siguientes:

3 1.

Despliegue la ventana de cdigo.

2. Muestre el procedimiento para el objeto Filel.

3. Coloque el cursor delante de la instruccin [Link] = LoadPicture... y presione la tecla para crear una lnea nueva antes de esta instruccin.

[w]

4. Presione la tecla

y escriba la instruccin: On Error GoTo Caminocorrecto.

5. Mueva el cursor al final de la instruccin [Link]= [Link] + "\" [Link] y presione la tecla 1 .(
6. Escriba el marcador: Caminocorrecto:.
7. Presione la tecla [Enter,

8. Escriba la instruccin: If [Link] = 76 Then. De esta forma se valida el error correspondiente a un nombre de archivo incorrecto. 9. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

10. Escriba la instruccin: [Link] = LoadPicture([Link] & [Link]). 11. Resione la tecla [Enter y escriba la instruccin: [Link] = [Link] & [Link].

1
'

Visual Basic 6.0 en un solo libro

12. Presione la tecla

[ m 1y luego la tecla

para disminuir la sangra. para finalizar el ingreso. La

13. Escriba la instruccin: End If y presione la tecla figura 8.12 muestra el procedimiento completo.
ri Proye<:tol

Forml

Ir

m
[Link] = LoadPicture ([Link] + rr + Filel. FileName) [Link] = [Link] + f f \ f r + [Link] Caminocorrecto : If [Link] = 76 Then [Link] = LoadPicture([Link] & [Link]) [Link] = [Link] & [Link]

----

Figura 8.12 Procedimiento para controlar al error 76

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. En el recuadro que lista a las unidades de disco, elija la unidad de disco que tenga una imagen en el directorio raz.

3. Haga un clic en el nombre del archivo de imagen y podr mostrarse correctamente.


4. Si el programa funciona correctamente gurdelo, pero no lo cierre porque podr ver cmo seguir paso a paso la secuencia de las instrucciones escritas.

Cmo seguir la secuencia de un programa


Para detectar dnde ocurren los errores o para seguir los pasos que realiza un programa, se pueden utilizar las herramientas de depuracin, una de ellas es el seguimiento paso a paso. Este seguimiento permite ir observando las instrucciones que se ejecutan de una a la vez. Si bien el programa Examinador tiene todos los controladores de errores necesarios, igual puede probar el seguimiento paso a paso para observar cmo se ejecutan las instrucciones.

l. En el men Ver, elija la opcin Barra de herramientas.

2. Seleccione la barra Depuracin y aparecer una barra de herramientas como la


que muestra la figura 8.13.

Figura 8.13 Barra de herramientas Depuracin

Control de errores

3. En el men Depuraci6n, elija la opcin Paso a paso por instrucciones o el icono correspondiente.
4. Elija una unidad de disco, por ejemplo: A:. Automticamente aparecer la ventana de cdigo con la instruccin que se est ejecutando marcada con un recuadro sombreado, tal como lo muestra la figura 8.14.
iProyecto l

- borm l (LodigoJ

i v a t e Sub Drivcl Change (11 On Error GoTo Solucin [Link] = [Link] Solucin: If [Link] = 68 Then Respuesta = MsgBox(

Instruccin que se esta ejecutando.

Figura 8.14 Marca de la instruccibn que se est ejecutando

5. Haga un clic en el icono Paso a paso por instrucciones para pasar a la instruc-

cin siguiente.

6. Repita el paso anterior hasta llegar al final del procedimiento. Al finalizar, automticamente, Visual Basic mostrar otro procedimiento o el formulario para que seleccione algo.
7. Cuando est en la ventana del cdigo de algn procedimiento, coloque el puntero del mouse sobre un objeto o variable y podr observar su contenido, tal como exhibe la figura 8.15. Esto puede ser muy til para verificar si el objeto o la variable han tomado un valor y cul es ste.
L Proyecto1 - Forml [Cdigo)
vl

m m

Private Sub Filel Click() On Error GOTO-~amino~orrecto Imagel. Picture = LoadPicture ([Link] + *'\ ** + Fi: Labell.~aptionT= [Link] + " \ " + [Link]

Imagel. Picture = LoadPicture (Dirl. Path & File: [Link] = [Link] & [Link] End If Figura 8.15 Visualizacin del contenido de un objeto

8. En el men Ejecutar, elija la opcin Terminar o el icono correspondiente.

Estructuras de decisin

Qu es la programacin dirigida por eventos


En el ambiente de los programadores, se denomina programacin dirigida por eventos a la metodologa utilizada para crear programas capaces de interactuar con el usuario. Esto significa que el programa recibe informacin del usuario, luego la procesa y, como consecuencia de este procesamiento, devuelve un resultado. Como se ha visto en los ejercicios desarrollados hasta ahora, la programacin de un proyecto se divide en los siguientes pasos:

2. Con los pro#dimt~sse procesa la infomcin ingresada.

delsusloa el con4ml al

Figura 9.1 Diagrama de una programacin dirigida por eventos

1.

Utilizar objetos para presentar al usuario las opciones: cada uno de estos objetos est personalizado de tal forma que presenta una actuacin inteligente frente al usuario, el objeto sabe cmo debe mostrarse. Estos objetos sirven para que el usuario realice el ingreso de informacin al programa. Asociar a los objetos procedimientos para controlar los eventos durante la ejecu-

2.

Estructuras de decisin

r-1

cin del programa. Estos procedimientos tambin se denominan procedimientos de eventos, pues se ejecutan cuando cambia la informacin contenida en el objeto, cuando se hace un clic sobre el objeto, cuando se hace doble clic sobre un determinado objeto, cuando se carga un formulario, etctera.

3. Devolver el control: una vez procesada la informacin a travs de los procedimientos, se debe devolver el control al usuario para que contine con las tareas dentro del programa o salga de l.
Segn el objeto que se encuentre en el formulario de la interfaz de usuario, variarn los tipos de eventos sobre los que se puede crear un procedimiento. Por ejemplo, un objeto Text tiene los eventos: Click, DblClick, Change, DragDrop, etc., pero un objeto Form tiene al evento Load, que no figura en la lista del objeto Text. Todos los eventos que Visual Basic controla para cada objeto se pueden observar utilizando la ventana de cdigo, en el recuadro que contiene a la lista de los procedimientos. La figura 9.2 muestra la lista de los eventos correspondientes a un objeto Form.

I Propedol - Forml [Cdigo]

Figura 9.2 Eventos de un objeto Fonn

Un objeto puede tener procedimientos para ms de un evento.

Utilizacin de estructuras de decisin


Las estructuras de decisin, a travs de las condiciones, sirven para controlar la programacin de eventos. Las estructuras de decisin estn formadas por condiciones de las que salen resultados por lo general verdadero y falso como en el caso de la instruccin If, que ya se ha utilizado anteriormente. Cuando un objeto o variable puede tomar ms de dos valores, se puede utilizar la instruccin Select Case, que permite evaluar diferentes valores para ms de un objeto o variable. Esta instruccin podra reemplazar a la instruccin If.

Visual Basic 6.0 en un solo libro


A continuacin se explicarn estas dos instrucciones. Como la instruccin If ya se ha utilizado anteriormente, solamente se explicar la forma de utilizar esta instruccin con la anidacin de preguntas, es decir utilizando ElseIf.

Cmo utilizar la instruccin If con Elself


En el Captulo 5 se explic bsicamente la sintaxis de la instruccin If. La sintaxis completa de esta instruccin es la siguiente: If condicinl Then Instrucciones si se cumple la condicinl ElseIf condicin2 Then Instrucciones si se cumple la condicin2 (pueden agregarse tantos ElseIf como sean necesarios) Else Instrucciones si No se cumple ninguna de las condiciones anteriores End If Este formato de instruccin If tambin es denominado If anidado porque una pregunta o condicin contiene a otra.
J

Condicin: Es la expresin que trata de evaluarse. Por ejemplo: Mensaje = "": en esta expresin se estara haciendo referencia a la variable Mensaje con un valor igual a una cadena de longitud cero (""). Los operadores matemticos que se pueden utilizar son: =, o,>, >=, e , e=. Tambin pueden utilizarse operadores lgicos para unir dos o ms condiciones, estos operadores son: And, Or y Not, este ltimo utilizado para negar variables con valores lgicos. Ms adelante se tratarn las estructuras de decisin con mayor profundidad y se vern ejemplos con operadores lgicos. Instrucciones si se cumple la condicin 1: Indica la o las instrucciones que el programa deber ejecutar si la condicin enunciada en la primera lnea de la instruccin es verdadera. ElseIf: Es optativo. Si se agrega la instruccin ElseIf se puede evaluar una nueva condicin, por ejemplo la condicin2 que se evala despus de la condicinl. Pueden utilizarse tantos ElseIf como sean necesarios para anidar una condicin o pregunta dentro de otra. Instrucciones si se cumple la condicin 2: Indica la o las instrucciones que el programa deber ejecutar si la segunda condicin enunciada en la instruccin ElseIf fuese verdadera. Else: Es optativo. Si se agrega la instruccin Else, se est indicando que deben ejecutarse instrucciones cuando no se cumplen las condiciones enunciadas en la instruccin If y ElseIf.

Estructuras de decisin

Instrucciones si No se cumplen las otras condiciones: Si se incluy la instruccin Else, debe indicarse la o las rdenes que deben llevarse a cabo si no se cumplen las condiciones enunciadas en la instruccin I f y ElseIf.

Programa con la instruccin Elself


El programa que se crear permitir calcular el monto de la cuota de un club, incluyendo los intereses por mora y los punitorios correspondientes a los das de demora en el pago. Para realizar este programa se necesitar una interfaz de usuario que presente una ventana mostrando la fecha de vencimiento de la cuota y solicitando la fecha de pago de la misma y el importe. Una vez que el usuario ingrese estos dos datos, el programa deber calcular los intereses y los punitorios, si el socio pagara fuera de trmino, con todos estos datos deber calcular el total que debe abonar. Para el clculo de los punitorios deber tener en cuenta la siguiente tabla: Das de mora Entre 1 y 5 das Entre 6 y 10 das Entre 11 y 20 das M s 20 das Porcentaje 0,5%. 1,0%. 1,5%. 2,0%.

Los controles que se utilizarn para este programa son:


Label Text para crear un cuadro de ttulo en la ventana y para la creacin de las distintas etiquetas que mostrarn informacin y texto fijo. para crear un cuadro de texto que permita ingresar informacin, para este caso: la fecha de ingreso. para crear un botn de salida del programa.

l a

Command

1. Inicie una sesin de Visuai Basic. 2. Deje marcada la opcin EXE estndar.
3. Haga un clic en el botn Abrir para tener un proyecto nuevo para trabajar.

t l

4. Agrande un poco el formulario utilizando el mouse.


5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

6. Haga doble clic en la propiedad Caption y escriba: Clculo de Cuotas.

7. Presione la tecla

para finalizar el ingreso.

8. Haga doble clic en la propiedad BackColor para cambiar el color de fondo del formulario.
9. Seleccione la solapa Paleta y elija un color claro para el formulario.

Visual Basic 6.0 en un solo libro 10. Utilice la barra de desplazamiento para mostrar la propiedad Icon, y as agregar un toque profesional al formulario. 11. Elija el archivo de icono (.CUR o .ICO) que desee. Por ejemplo, elija el archivo [Link] que se encuentra en la carpeta que muestra la figura 9.3. 12. Haga un clic en el botn Abrir. 13. Elija la herramienta Label y trace un rectngulo en la parte superior del formulario. Debe ser lo suficientemente grande como para contener un ttulo.

14. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

lCaraar icono
B~acar en: -

Figura 9.3 Carpeta que contiene al icono que acompaar al formulario

15. Haga doble clic sobre la propiedad Caption y escriba: Clculo de Intereses y Punitorios.
16. Presione la tecla

para finalizar el ingreso.

17. Haga doble clic sobre la propiedad Font y elija Times New Roman, Negrita y tamao 16. 18. Haga doble clic sobre la propiedad ForeColor y elija un color para el ttulo. 19. Elija la herramienta Label y trace un rectngulo debajo del ttulo para colocar la etiqueta del primer dato: la fecha de vencimiento de la cuota. 20. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 21. Haga doble clic sobre la propiedad Caption y escriba: Fecha de Vencimiento:. 22. Presione la tecla
para finalizar el ingreso de texto.

23. Haga doble clic sobre la propiedad Font y elija Negrita.

24. Elija la herramienta Label y trace un rectngulo a la derecha del anterior. 25. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
26. Haga doble clic sobre la propiedad Caption y escriba: Fecha de Pago:.

Estructuras de decisin
27. Presione la tecla

para finalizar el ingreso.

28. Haga doble clic sobre la propiedad Font y elija Negrita.


29. Elija la herramienta Label y cree un rectngulo debajo de la etiqueta que indica la

fecha de vencimiento, pero deje un espacio para colocar otro objeto entre estos dos.
30. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 31. Haga doble clic sobre la propiedad Caption y escriba: Importe:. 32. Presione la tecla

para finalizar el ingreso.

33. Haga doble clic sobre la propiedad Font y elija Negrita.

34. Elija la herramienta Label y trace un rectngulo debajo del anterior.


35. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 36. Haga doble clic sobre la propiedad Caption y escriba Intereses por Mora:. 37. Presione la tecla [Enter para finalizar. 38. Haga doble clic sobre la propiedad Font y elija Negrita. 39. Elija la herramienta Label y trace un rectngulo debajo [Link].

40. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


41. Haga doble clic sobre la propiedad Caption y escriba Punitorios:. 42. Presione la tecla [Enter para finalizar. 43. Haga doble clic sobre la propiedad Font y elija Negrita.

44. Elija la herramienta Label y trace un rectngulo debajo del anterior.


45. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

46. Haga doble clic sobre la propiedad Caption y escriba Total a Pagar:.
47. Presione la tecla [Enter para finalizar.

48. Haga doble clic sobre la propiedad Font y elija Negrita.


49. Seleccione todos las etiquetas colocadas en el formulario. 50. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 51. Haga doble clic sobre la propiedad BackColor. 52. Haga un clic sobre la solapa Paleta y elija el mismo color que tiene el fondo del

formulario.
53. Elija la herramienta Text y trace un rectngulo debajo de la etiqueta Fecha de

Vencimiento:.
54. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 55. Haga doble clic sobre la propieda Text y presione la tecla1-[

para borrar

su contenido.

Visual Basic 6.0 en un solo libro


56. Presione la tecla

para finalizar.

57. Utilice la barra de desplazamiento hasta la propiedad (Name), que actualmente muestra el nombre genrico del control: Textl. 58. Haga doble clic sobre la propiedad (Name) y escriba: tvencimiento. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin.

El cambio del nombre de un control permite identificar claramente su posicin y el tipo de dato que maneja, adems, el nombre genrico (Textnmero) puede generar confusin cuando un formulario tiene varios controles del mismo tipo.
59. Elija la herramienta Text y trace un rectngulo debajo de la etiqueta Fecha de Pago:. 60. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

61. Haga doble clic sobre la propiedad Text y presione la tecla1 -( su contenido.
62. Presione la tecla

para borrar

para finalizar.

63. Haga doble clic sobre la propiedad (Name) y escriba: tPago. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin.

64. Elija la herramienta Text y trace un rectngulo a la derecha de la etiqueta Importe:.


65. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 66. Haga doble clic sobre la propiedad Text y presione la tecla [Deletel para borrar su contenido.
67. Presione la tecla [Enter para finalizar.

68. Haga doble clic sobre la propiedad (Name) y escriba: tIrnporte. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin. 69. Elija la herramienta Text y trace un rectngulo a la derecha de la etiqueta Inte-

reses por Mora:.


70. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 71. Haga doble clic sobre la propiedad Text y presione la tecla su contenido. 72. Presione la tecla

@dd para borrar

lEnter para finalizar.

73. Haga doble clic sobre la propiedad (Name) y escriba: tIntereses. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin.

74. Elija la herramienta Text y trace un wngulo a la derecha de la etiqueta Punitorkc.


75. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Estructuras de decisin
76. Haga doble clic sobre la propiedad Text y presione la tecla su contenido. 77. Presione la tecla [Enter para finalizar. 78. Haga doble clic sobre la propiedad (Name) y escriba: tpunitorios. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin. 79. Elija la herramien.

[ e l para borrar

Text y trace un rectngulo a la derecha de la etiqueta Total

a Pagar:.
80. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 81. Haga doble clic sobre la propiedad Text y presione la tecla su contenido. 82. Presione la tecla

[m] para borrar

para finalizar.

83. Haga doble clic sobre la propiedad (Name) y escriba: tTotal. Este cambio permitir que el control tenga otro nombre y por consiguiente se deber utilizar este nombre para la programacin.

84. Elija la herramienta Command y cree un rectnguloen la patte inferior del formulario.
85. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 86. Haga doble clic sobre la propiedad Caption y escriba: Salir. 87. Haga doble clic sobre la propiedad (Name) y escriba: cmSalir. 88. Elija la herramienta Command y cree un rectngulo a la derecha del anterior. 89. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

90. Haga doble clic sobre la propiedad Caption y escriba: Imprimir.


91. Haga doble clic sobre la propiedad (Name) y escriba: cmImprimir.

Si desea que las fechas y los importes aparezcan alineados a la derecha, deber seleccionar todos los controles Text y cambiar la alineacin. Adems, para destacar el importe que se debe pagar, puede colocar en negrita la informacin del control tTotal y trazar una lnea de separacin entre el total y los clculos de intereses y punitorios.

1 . Seleccione todos los controles Text.

2. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

3. Haga un clic en la propiedad Alignment y luego utilice el control para elegir la


alineacin que desea.

4. Elija la alineacin 1 - Right Justify.

5. Seleccione solamente el control tTotal.


6. Haga doble clic sobre la propiedad Font y elija Negrita.

Visual Bacic 6.0 en un solo libro


7. Si fuera necesario, mueva el control tTotal, junto con su etiqueta, hacia abajo para dejar una pequea separacin y as ubicar una lnea.

8. Elija la herramienta Line y trace una lnea arriba del control tTotal.
9. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

1 0 . Haga doble clic sobre la propiedad BorderWidth, para cambiar el ancho o grosor de la lnea creada.

11. Escriba el grosor, en puntos, que desea darle a la lnea, por ejemplo: 2.

1 2 . Presione la tecla IEnter para finalizar el ingreso de la informacin. La figura 9.4 muestra el formulario terminado.

) L. Proyecto1 - Forml [Form]


O

~ o m
Li

t Clculo de Intereses y Piniit orius

. Fecha da V~nM8Umto: . Fecha de Paga:

.......................................

..... . .. .. .. .. . ...... ......


......

. Importe:
,

:.: :.: :.: -.j :.: :.: : :

: .: .: .: .: .: . ....................................... .................. ..... ...... ...... . . .... TotdaPagar: ...... ...... ...... ....................................... ....................................... ................ ................ ................ ................

Intmsw pm Mora: .: .: .: , Purtaiirw: .::::::-/ .....

......
.. .. .. .. .. ..

......

i 8

Figura 9.4 Formulario de clculo de intereses y punitorios

3 l.

En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

2 . Indique un nombre para el formulario, por ejemplo: Cuotas.


3. Indique el mismo nombre al proyecto. Si lo desea puede darle otro nombre.
La fecha de vencimiento de la cuota la colocar el programa, por lo tanto, si no desea que el cursor se ubique en el control que la contendr (tvencimiento) y que no pueda ser modificada, tendr que realizar los siguientes pasos:

3 1.

Haga - un clic en el control Text, ahora llamado: tvencimiento.

2 . En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Estructuras de decisin

3. Mueva la barra de desplazamiento hasta la propiedad Locked, que le permitir bloquear el control para que su contenido no sea cambiado.
4. Haga doble clic sobre la propiedad Locked para que asuma el valor True. 5. Mueva la barra de desplazamiento hasta la propiedad TabStop, que le permitir indicar si desea o no que el cursor se ubique en dicho control. Por default esta propiedad tiene el valor True.

6. Haga doble clic sobre la propiedad TabStop para que asuma el valor False.
7. Haga un clic en el icono de guardar para que los archivos se actualicen con las modificaciones efectuadas.

El cdigo de programacin
El cdigo de programacin necesitar indicar la fecha de vencimiento de la cuota (que es el 10 de cada mes), pero para que dicha fecha vare a travs de los meses y de los aos, se tendr que construir la fecha a partir de la fecha actual. Es decir que segn el mes y el ao con el que est trabajando el equipo variar la fecha de vencimiento. Se debern utilizar dos funciones: una para determinar el mes actual y otra para el ao actual, estas son: Month(fecha) y Year(fecha). Estas funciones determinan el mes y el ao de la fecha que se encuentra entre los parntesis de la misma. Se necesitar que se realice el clculo de los intereses y de los punitorios cuando el usuario ingrese el importe y presione la tecla Para esto se deber crear un procedimiento para el evento LostFocus del objeto tImporte. El evento LostFocus ejecutar instrucciones cuando el cursor se encuentre en otro objeto. Es decir que el objeto tImporte perdi su enfoque ya que el cursor se encuentra en otro objeto.

m.

1 . Haga doble clic sobre el botn Sslir del formulario. Se abrir la ventana de cdigo.
2. Presione la tecla

mpara aumentar la sangra.

3 . Escriba la instruccin: End.


4. Haga un clic en el control del recuadro que contiene a la lista de los objetos del formulario y elija cmImprimir.

5. Presione la tecla
7. Presione la tecla

[m] para aumentar la sangra.


y escriba la instruccin: [Link] = Faise.

6. Escriba la instruccin: [Link] = False. 8. Presione la tecla 9. Presione la tecla1 -(

y escriba la instruccin: PrintForm.


y escriba la instruccin: [Link] = True.

10. Presione la tecla [EnterLily escriba la instruccin: [Link] = True. La figura 9.5 muestra estos dos procedimientos.

Visual Basic 6.0 en un solo libro

I ~royectol - Forml [cdigo]

ame

[Link] = False Pr intForm [Link] = True

Private Sub cmSalir-Click()

Figura 9.5 Procedimientos para los botones Salir e Imprimir

Los procedimientos para asignar, automticamente, la fecha de vencimiento y la realizacin de los clculos son los siguientes:

!M

l. Haga un clic en el control del recuadro que contiene a la lista de los objetos del formulario y elija Form.

2. Escriba la instruccin: [Link] = "lO/"+CStr(Month@ate)) +"/" + CStr(Year(Date)). La funcin CStr() convierte una expresin numrica o de fecha en una cadena de caracteres (texto).

3. Presione la tecla

para pasar a la siguiente lnea.

4. Haga un clic en el control del recuadro que contiene a los objetos y elija tImporte. Automticamente, Visual Basic asumir que corresponde a un procedimiento

Change.
5. Haga un clic en el control del recuadro que tiene a la lista de procedimientos y

elija LostFocus.

6. Si lo desea puede seleccionar el procedimiento Change, que qued de la eleccin del objeto del paso 4 y borrarlo con la tecla [Delael.
7. Ubique el cursor en el procedimiento LostFocus y presione la tecla aumentar la sangra.

mpara

8. Escriba la instruccin: [Link]. Con esta instruccin se le da el foco o el enfoque al botn Salir.

9. Presione la tecla1 -(

para pasar a la siguiente lnea.

Estructuras de decisin 10. Escriba la instruccin


: DiasMora = CDate([Link]) CDate([Link]). Date es una fun-

cin que devuelve la fecha con la que est trabajando el equipo. Este clculo determina los das de mora, pero si el socio pag antes de la fecha de vencimiento, dar un valor negativo.

11. Presione la tecla [Enter para pasar a la siguiente Inea. 12. Escriba la instruccin: If DiasMora <= O Then. Con esta instruccin se comienza a evaluar si el socio incurri en mora o no, es decir que si el contenido de la variable es negativo o cero, el socio pag en trmino y no se le cobrarn intereses, caso contrario se le cobrar un 0,2% por cada da de mora. 13. Presione la tecla [Enter y luego la tecla 15. Presione la tecla

mpara aumentar la sangra.

14. Escriba la instruccin: [Link] = 0.

[m] y luego la tecla (Backspace) para disminuir la sangra.

16. Escriba la instruccin: Else. 17. Presione la tecla [Enter y luego la tecla [m] para aumentar la sangra. 18. Escriba la instruccin: [Link] = tImporte * 0.2 / 100 * DiasMora. Se le asigna al objeto tIntereses el resultado del clculo de los intereses por mora. 19. Presione la tecla 21. Presione la tecla 1 ( de los punitorios. 23. Presione la tecla 25. Presione la tecla

y luego la tecla1-(

para disminuir la sangra.

20. Escriba la instruccin: End If.


para pasar a la Inea siguiente y comenzar el clculo

22. Escriba la instruccin: If DiasMora <= O Then.

y luego la tecla1 -(

para aumentar la sangra.

24. Escriba la instruccin: [Link] = 0.

I -

y luego la tecla [Backspacel para disminuir la sangra. y luego la tecla

26. Escriba la instruccin: ElseIf DiasMora <= 5 Then. 27. Presione la teclaJ-( 28. 29.

[m] para aumentar la sangra. Escriba la instruccin: [Link] = tImporte * 0.5 / 100. Presione la tecla 2-[ y luego la tecla [ E l para disminuir la sangra.
para aumentar la sangra.

30. Escriba la instruccin: ElseIf DiasMora <= 10 Then. 31. Presione la tecla [Enter] y luego la tecla 33. Presione la tecla 32. Escriba la instruccin: [Link]'= tImporte * 1 1100.

[m] y luego la tecla (

S 1 para disminuir la sangra.

34. Escriba la instruccin: ElseIf DiasMora <= 20 Then.

Visual Basic 6.0 en un solo libro


35. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

36. Escriba la instruccin: [Link] = tImporte * 1.5 / 100.


37. Presione la tecla 39. Presione la tecla 1-( 41. Presione la tecla [ ]

y luego la tecla [E] para disminuir la sangra. y luego la tecla @ a b s , para ' l aumentar la sangra. y luego la tecla [E] para disminuir la sangra.

38. Escriba la instruccin: Else. 40. Escriba la instruccin: [Link] = tImporte * 2 / 100.

Figura 9.6 Procedimiento de LostFocus con la instruccin Elself

42. Escriba la instruccin: End If. 43. Escriba la instruccin: [Link] = CSng(t1mporte) + CSng(t1ntereses) + CSng(tPunitorios).La funcin CSng() convierte a nmeros con decimales el texto contenido en los objetos: tImporte, tIntereses y thnitorios. Esta conversin lleva a un nmero tipo Single que tiene las mismas restricciones en valores que las variables definidas como Single. Esta instruccin calcula el total a pagar y el resultado lo asigna al objeto tTotal. La figura 9.6 (pgina anterior) muestra el procedimiento correspondiente al evento LostFocus.

44. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente. Ahora pruebe el programa y verifique cmo calcula los intereses y los punitorios,

Estructuras de decisin

segn la cantidad de das de mora en que incurri el socio para pagar la cuota. Observe, adems, que si el socio pag antes de la fecha de vencimiento, los intereses y punitorios son cero (O).

1 . En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. El formulario aparece con el cursor en el recuadro de la fecha de pago y no permite que se modifique la de vencimiento. 2. Escriba una fecha de pago, por ejemplo: 16/2/99.
3. Presione la tecla1-(

y escriba el importe de la cuota, por ejemplo: 100.

4. Presione la tecla [ e l y observe los clculos que se realizan y cmo queda resaltado el botn Salir, es decir que el botn obtuvo el enfoque.
1

; ; i
Cilculo de Cuotas

Clculo de Intesescs y Piuiitorios


Fecha & VancUaiWac
10/2/19991 fs&hs ds Prrgac

16i2199

Tokd a Pagai:

Figura 9.7 Clculo de los intereses y punitorios

Cmo utilizar If con operadores lgicos


De la misma forma que puede utilizar una condicin simple, por ejemplo DiasMora <= 5 en la instruccin If, tambin puede utilizar varias condiciones pero unidas con operadores lgicos. La sintaxis para utilizar operadores lgicos es la siguiente: If condicin1 operador-lgico condicin2 ... Then (pueden agregarse tantas condiciones como sean necesarias) Instrucciones1 Else Instrucciones2 End If

Visual Basic 6.0 en un solo libro

Nota: Tambin pueden utilizarse operadores lgicos en ElseIf. Operadores-lgicos: Son palabras reservadas que sirven para unir dos o ms condiciones en una instruccin If o ElseIf. Los operadores lgicos son los siguientes: And: Todas las condiciones unidas con este operador deben cumplirse para que se ejecuten las Instruccionesl. Por ejemplo: Sueldo < 1 OOO And Hijos >=3 Si tiene un sueldo inferior a 1000 y 3 o ms hijos es verdadera. Or: Basta con que una de las condiciones unidas con este operador se cumpla para que se ejecuten las Instruccionesl. Si se cumplen todas, tambin se ejecutarn estas instrucciones. Por ejemplo: Sueldo < 1000 O r Hijos >=3 Si el sueldo es menor a 1000 es verdadera, aunque tenga menos de 3 hijos. Lo mismo ocurre si tiene 3 o ms hijos pero un sueldo de 1000 o ms. Not: Si se agrega este operador delante de la condicin y sta se cumple o es verdadera, la dar por falsa y se ejecutarn las Instrucciones2. Es decir que un resultado verdadero lo da falso y viceversa. Tambin se utiliza para negar variables lgicas (tipo Boolean). Por ejemplo: Not Sueldo < 1 OOO Si el sueldo es 1000 o ms, entonces la condicin es verdadera. Not Fuma Si la variable Fuma tiene un valor False, entonces es verdadera porque la est negando. Xor: S610 una de las condiciones unidas con este operador debe cumplirse para que se ejecuten las Instruccionesl. Por ejemplo: Sueldo < 1000 Xor Hijos >=3 Si el sueldo es inferior a 1000 y la cantidad de hijos es inferior a 3, es verdadera porque se cumple solamente el sueldo. Lo mismo ocurrir si el sueldo es 1000 o ms y la cantidad hijos es 3 o ms.

Programa con operadores lgicos en la instruccin If


En el programa o proyecto Cuotas se necesita saber si al socio se le hace una bonificacin por hijos y por vivir a ms de 30 kilmetros del club. Este descuento se le dar slo si cumple con las dos condiciones: tener hijos y vivir a ms de 30 km. Para dejar el ejercicio anterior como exista, deber guardar el formulario y el proyecto con otro nombre.

Estructuras de decisin

Para esta modificacin se utilizar un control, hasta ahora no usado, que permite marcar varias opciones, este control es el CheckBox (tambin llamado "casilla de verificacin"). En el formulario se necesitarn incluir dos controles de este tipo: uno para los hijos y otro para identificar si vive lejos del club. Adems, ser imprescindible que el usuario pueda responder (colocar la marca de verificacin) antes de que se realicen los clculos, ya que ellos dependen de esta nueva informacin. Cuando agregue estos objetos CheckBox, todos los cuadros de texto y el botn Sasaltar lir van a quedar antes de los mismos, por lo tanto, al utilizar la tecla del cuadro de la fecha de pago al importe, realizar el clculo y, despus de pasar por el botn Salir, podr marcar los dos objetos CheckBox. La figura 9.8 muestra este comportamiento.

fmhn de Vmeasrjliarld

f&ha da Paga:

0-8

9dic;araatart:

ionnsssl
Idaaaaat par Mow

1-

Figura 9.8 Secuencia que seguir la carga de informacin

Para solucionar esto se puede utilizar la propiedad TabIndex. Esta propiedad le asigna un nmero de orden, comenzando con el O (cero), a todos los objetos que se insertan en un formulario. Este nmero se asigna automticamentede acuerdo con el orden en que se hayan insertado los objetos. Si sigui una secuencia lgica, pensando en el uso del formulario, no necesitar tocar el valor correspondiente a esta propiedad, pero con la modificacin que se realizar, necesitar indicar que despus del cuadro de texto de la fecha de pago, el cwsor deber ubicarse en el primer CheckBox.

3 l.

En el men Archivo, elija la opcin Guardar Cuotas. f r m como y cambie el nombre del formulario, por ejemplo: Cuotas2.

2. En el men Archivo, elija la opcin Guardar proyecto como y cambie el nombre del proyecto, por ejemplo: Cuotas2.

3. Ensanche un poco el formulario para dejar lugar a los controles que se agregarn.

4. Elija la herramienta Label y cree un rectngulo debajo del cuadro de texto de la fecha de ingreso.

Visual Basic 6.0 en un solo libro

5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 6. Haga doble clic sobre la propiedad Caption y escriba: Datos adicionales:.

3- [ 7. Presione la tecla
objeto.

para finalizar el ingreso.

8. Haga doble clic sobre la propiedad BackColor para cambiar el color de fondo del
9. Haga un clic en la solapa Paleta y elija el mismo color que el del formulario. 10. Utilice la barra de desplazamiento, haga doble clic sobre la propiedad Font y elija Negrita. 11. Elija la herramienta CheckBox y trace un pequeo cuadrado debajo de la etiqueta insertada anteriormente. Con sto queda creado el objeto Checkl. Puede trazar un rectngulo para observar la etiqueta que por omisin acompaa a este control, pero si cambia la propiedad BackColor, el texto de la etiqueta mostrar un fondo blanco debajo del mismo. Por lo tanto en ocasiones es recomendable utilizar al control Label para las etiquetas de las casillas de verificacin. 12. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 13. Haga doble clic sobre la propiedad BackColor para cambiar el color de fondo del objeto. 14. Haga un clic en la solapa Paleta y elija el mismo color que el del formulario. 15. Haga doble clic sobre la propiedad Name y escriba: cHijos. 16. Presione la tecla

[w] para finalizar.

17. Elija la herramienta CheckBox y cree un pequeo cuadrado debajo del anterior.
18. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

19. Haga doble clic sobre la propiedad BackColor para cambiar el color de fondo del objeto. 20. Haga un clic en la solapa Paleta y elija el mismo color que el del formulario. 21. Haga doble clic sobre la propiedad Name y escriba: c30km. 22. Presione la tecla [
para finalizar.

23. Elija la herramienta Label y cree un rectngulo a la derecha de la primera casilla de verificacin creada.

24. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

25. Haga doble clic sobre la propiedad Caption y escriba: Hiios.. 26. Presione la tecla
para finalizar.

27. Utilice la barra de desplazamiento y haga doble clic sobre la propiedad Font y elija Negrita.

Estructuras de decisin

28. Elija la herramienta Label y cree un rectngulo a la derecha de la primera casilla de verificacin creada.

29. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 30. Haga doble clic sobre la propiedad Caption y escriba: Ms de 30 km.. 31. Presione la tecla1 -(
para finalizar.

32. Utilice la barra de desplazamiento, haga doble clic sobre la propiedad Font y elija Negrita. 33. Seleccione las dos etiquetas ingresadas.

34. Haga doble clic sobre la propiedad BackColor para cambiar el color de fondo del objeto.
35. Haga un clic en la solapa Paleta y elija el mismo color que el del formulario.

36. Haga un clic sobre el cuadro de texto donde el usuario ingresa la fecha de pago, llamado tPago.
37. Mueva la barra de desplazamiento hasta la propiedad TabIndex y observe el nmero que muestra, en este caso: 8, y si hace un clic en el cuadro de texto creado para que se ingrese el importe ver que tiene el nmero 9. Para que este programa o proyecto funcione correctamente, si el usuario utiliza el teclado para ingresar los datos, deber cambiar el ndice de tabulacin de las casillas de verificacin para que sean 9 y 10, esto permitir que el usuario presione la tecla y que el cursor se ubique en el primer cuadro de texto y luego en el segundo. Al asignar estos nuevos nmeros, Visual Basic renumerar automticamentelos ndices de los dems controles, es decir que el cuadro de texto del importe pasar a ser el nmero 11 en la lista. 38. Haga un clic sobre la primera casilla de verificacin, que representa a los hijos, para modificar su orden de tabulacin. 39. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 40. Utilice la barra de desplazamiento para visualizar la propiedad TabIndex. 41. Haga doble clic sobre la propiedad TabIndex y escriba 9. 42. Haga un clic sobre la primera casilla de verificacin, que representa a los hijos, para modificar su orden de tabulacin. 43. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

44. Utilice la barra de desplazamiento para visualizar la propiedad TabIndex.


45. Haga doble clic sobre la propiedad TabIndex y escriba 10.

46. Haga un clic en el cuadro de texto del importe y observar que el nmero de ndice de tabulacin cambi a 11.

Visual Basic 6.0 en un solo libro


47. Si desea, puede reubicar los botones Salir e Imprimir para aprovechar el espacio vaco, al lado de los clculos de intereses y punitorios. 48. Si fuera necesario, cambie el tamao del formulario.

49. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

Modificar el procedimiento
El procedimiento LostFocus que realiza el clculo de los intereses y punitorios, asigna al objeto que muestra el total de la suma de importe, los intereses y los punitorios, pero sobre este resultado se debe calcular la bonificacin: un 15% menos de lo que debe pagar el socio. Esta bonificacin est condicionada a que el socio tenga hijos y viva a ms de 30 kilmetros, y estos datos los devuelven los objetos o controles CheckBox. Los controles CheckBox poseen tres estados posibles y segn los mismos vara el valor que devuelven en la programacin. El cuadro vaco devuelve el valor cero (O). El cuadro con una marca devuelve el valor uno (1). El cuadro con una marca gris devuelve el valor dos (2). Esto es posible si se programa para que la casilla de verificacin asuma este estado.

0 1
C-]

E !

1. Haga un clic en el icono de ver cdigo para acceder a la ventana que posee todos los procedimientos creados.

2. Posicione el cursor en el cdigo correspondiente al control tImporte, que est creado para el procedimiento LostFocus.
3. Mueva el cursor en el comienzo de la instruccin: tTotal = CSng(t1mporte)+ CSng(t1ntereses)+ CSng(tPunitorios)y reemplace tTotal por el nombre de una variable, por ejemplo: TotalSinBonificacin.
4. Mueva el cursor al final de la instruccin que ha modificado y presione la tecla [Enter]para insertar una lnea en blanco.
5. Escriba la instruccin: If [Link] = 1 And [Link] = 1 Then.

6. Presione la tecla 1- [
7.

[m] para aumentar la sangra. Escriba la instruccin: [Link] = TotalSinBonificacin * 85 / 100. Esta insy luego la tecla

truccin le asigna al objeto tTotal el 15% menos del total sin bonificacin almacenado en la variable TotalSinBonificacin.
8. Presione la tecla (Enter y luego la tecla [Backspace] para disminuir la sangra.

9. Escriba la instruccin: Else.

10. Presione la tecla

[m] y luego la tecla (m] para aumentar la sangra.

1 1 . Escriba la instruccin: [Link] = TotalSinBonificacin.

Estructuras de decisin

12. Presione la tecla

y luego la tecla = []

para disminuir la sangra.

13. Escriba la instruccin: End If. La figura 9.9 muestra la modificacin efectuada.
Slo queda probar cmo funciona este programa. Recuerde que debe utilizar Ia tecla 1-c para pasar de un objeto a otro y la barra espaciadora para marcar o desmarcar las casillas de verificacin.

1. En el meni Ejecutar,elija la opci6n Iniciar o el icono correspondiente.


L Proyecto1 - Forml [C6digo]

PEJE

ElseIf DiasHora <= 20 Then

\ ,

End If [Link] = CSng(t1mporte) + CSng(tIntereses1 + CSng(tPunitorios1 If [Link] = 1 And [Link] = 1 Then

& ,/*w A ,

Vmii

J \ A " , .,
d A /" \

E lse

End If End Sub

Figura 9.9 Procedimiento con condiciones combinadas

2. Escriba una fecha de pago.


3. Presione la tecla 1 -( y el cursor se ubicar en la primera casilla de verificacin (que indica si tiene hijos o no).

4. Presione la barra espaciadora y ver una marca en la primera casilla, esto indicar al programa que el objeto tiene el valor 1.
5. Presione la tecla y luego la barra espaciadora nuevamente para que aparezca otra marca, pero en la casilla correspondiente a la distancia en que vive.

m,

6. Presione la tecla
7.

my escriba el importe de la cuota. Presione nuevamente la tecla [ e y se calcularn ] los intereses y punitorios,
y como las dos casillas de verificacin estn activas, el programa calcular el 15% menos del total sin bonificacin y mostrar el resultado en el cuadro de texto correspondiente al total a pagar, tal como se exhibe en la figura 9.10.

Visual Basic 6.0 en un solo libro

4
i

:lculo de Cuotas

Fscha da Vserurrimtll:

Fecha da Pago:

Datos adicionales:

1
Importib:

1 OI2I19991

10I21991 1001
O

H q m
Msda3Okm

Intemtes pm Mora:

rnt* Total a Pagar:

o[

Figura 9.10 Ejecucidn del programa con condiciones combinadas

Pruebe todas las opciones posibles, es decir marcando solamente una casilla de verificacin o ninguna, y notar que la bonificacin solamente se calcula cuando las dos casillas estn marcadas.

Cmo utilizar la instruccin Select Case


Cuando las condiciones a evaluar son muchas y siempre es un mismo objeto o variable que se est comparando con algo, puede utilizarse otra instruccin que permite evaluar casos. Esta instruccin se llama Select Case. Esta instruccin es muy similar a If con ElseIf, y conviene utilizarla cuando la ejecucin de las instrucciones dependa del valor de una variable clave o muy importante. Tambin es recomendado el uso de Select Case cuando son muchos los valores a evaluar para una misma variable. La instruccin Select Case comienza siempre con estas palabras reservadas y a continuacin se debe indicar el nombre de una variable. Finaliza con la instruccin End Select. Entre el comienzo y fin de la instruccin, se indican los casos que se evaluarn y para ello se utilizar la palabra reservada Case seguida del valor que se evaluar. La sintaxis de Select Case es la siguiente:

Select Case variable Case valorl Instrucciones si la variable tiene el valorl Case valor2 Instrucciones si la variable tiene el valor2 (pueden agregarse tantos Case como valores se necesiten evaluar) Case Else Instrucciones si la variable No tiene ninguno de los valores anteriores End Select

Estructuras de decisin Variable: Es una variable definida con la instruccin Dim o una variable a la cual se la ha definido y asignado el valor dentro del procedimiento. Case valor: Identifica el valor que tendr la variable que se est evaluando. El valor puede ser reemplazado por un nmero o por un operador numrico y un nmero. Por ejemplo, se puede colocar Case 20 y si la variable tiene el valor 20 se ejecutarn las instrucciones definidas debajo de Case. Pueden utilizarse los operadores matemticos =, o,>, >=, c y c=. Cuando estos operadores se usan, a la palabra reservada Case se le agrega Is, formndose as la instruccin Case Is, por ejemplo: se puede escribir Case 1s c 20 y si la variable tiene un valor menor a 20 ejecutar las instrucciones que figuran debajo de Case 1s. Instrucciones si la variable tiene el valor: Indica la o las instrucciones que el programa deber ejecutar si la variable enunciada en la primera lnea de la instruccin tiene el valor especificado en la instruccin Case. Case Else: Es opcional. Al agregarlo, se podrn declarar las instrucciones que se ejcutarn cuando la variable tome un valor diferente a los especificados en cada Case.

Programa con la instruccin Select Case


En los programas Cuotas y Cuotas2 se calcularon los punitorios por mora utilizando la instruccin If y ElseIf. Este programa podra haberse creado con Select Case y el cdigo correspondiente al evento LostFocus del objeto tImporte sera mucho ms fcil de escribir y ms claro para la visualizacin. Para probar la instruccin Select Case se modificar el programa Cuotas2, pero previamente se guardar con otro nombre al formulario y al proyecto.

3 1.

En el men Archivo, elija la opcin Guardar proyecto o el icono com~pondiente.

2. En el men Archivo, elija la opcin Guardar [Link] como para cambiarle el nombre al formulario actual. 3. Indique el nombre que tendr, por ejemplo, Cuotas3.

4. En el men Archivo, elija la opcin Guardar proyecto como para cambiarle el nombre al proyecto.
5. Indique el nombre que tendr, por ejemplo, use el mismo nombre que el del formulario, Cuotas3.

6. Haga un clic en el icono que muestra la ventana del cdigo.


7. Mueva el cursor en el procedimiento del objeto tImporte.

Visual Basic 6.0 en un solo libro

8. Seleccione la instruccin If DiasMora <=O Then que corresponde al clculo de


los punitorios.

9. Escriba sobre la instruccin: Select Case DiasMora.

10. Presione la tecla 1- [

y escriba la instruccin: Case 1s <= 0.

11. Reemplace la instruccin ElseIf DiasMora <= 5 Then por Case 1s <= 5. 12. Reemplace la instruccin ElseIf DiasMora <= 10 Then por Case 1s e=10. 13. Reemplace la instruccin ElseIf DiasMora <= 20 Then por Case 1s e=20. 14. Reemplace la instruccin Else por Case Else. 15. Reemplace la instruccin End If por End Select. La figura 9.1 1 muestra el cdigo completo para este objeto. Observe que el cdigo queda ms claro que el creado con If y ElseIf,

Figura 9.11 Cddigo puru el cclculo de los intereses y punitorios utilizando Select Case

Estructuras de decisin
Ejecute el programa y verificar que el resultado de los punitorios es igual al del programa con If y ElseIf. Cuando el cdigo de programacin es muy largo es recomendable que utilice comentarios para identificar los distintos clculos o tareas que realiza el programa. Todos los comentarios comienzan con una comilla ( ' ) y puede insertar tantas lneas de comentarios como desee, tal como puede observar en la figura 9.12.
11 Forml [CdipoJ

If DiasMora <= O Then [Link] = O

' Clculo de los punitorios. Select Case DiasMora Case 1s <= O [Link] = O Case 1s <= 5 [Link] = tImporte Case 1s <= 10

0.5 / 100

Figura 9.12 Ejemplo de un cdigo con comentarios

No existe una nica forma de programar, se puede llegar al mismo resultado de varias maneras, y con ms o menos instrucciones. Un ejemplo de esto es justamente esta modificacin realizada sobre el proyecto anterior.

Bucles dentro de un programa

Qu es un bucle
Un bucle es una instruccin que permite ejecutar un grupo de operaciones una y otra vez. El bucle puede permitir que el grupo de operaciones o instrucciones se ejecute un nmero fijo de veces o hasta que se cumpla una condicin. Un ejemplo de bucle con nmero fijo de veces de ejecucin de las operaciones podra ser completar una lista de jugadores de un equipo de futbol. En este caso, el programa deber solicitar siempre la misma cantidad de nombres (1 1 jugadores). Un ejemplo de bucle que se ejecutar hasta que se cumpla una condicin podra consistir en la lectura de una lista de pedidos, el programa deber leer las lneas contenidas en un archivo hasta que encuentre el final del listado.

El bucle For
Un bucle creado con la instruccin For permite ejecutar un grupo de operaciones un nmero determinado de veces dentro de un procedimiento. Las instrucciones u operaciones que se repetirn deben estar entre las palabras reservadas For y Next. La sintaxis de esta instruccin es la siguiente: For variable=principioTofin Step nmero Instrucciones que se van a repetir Next variable
J

Variable=principio: Es una variable numrica a la que se le asigna un nmero. Este nmero es el valor inicial que tendr la variable y, por lo general, es el nmero 1. Luego, al ejecutarse el programa, el valor de la variable se incrementar para que en algn momento tome el valor final (expresado enfin). To fin: To es una palabra reservada que se utiliza para expresar el valor final que deber tener la variable para que finalice el bucle. El valor final est indicado porfin. Step nmero: Es opcional. Step es una palabra reser lada que indica el incremento que tendr la variable dentro del bucle, este incremento est expresado en nmeros. Si se omitiera, el incremento ser igual a 1 .

Bucles dentro de un programa

4. Next variable: Next es una palabra reservada que permite incrementar el valor de la variable y volver a repetir las instrucciones comprendidas dentro del bucle.

Un programa con variables


Para probar la definicin de variables, conviene crear un pequeo programa destinado a ello. Como se indic en este captulo, definir las variables ayuda a agilizar el programa porque permite controlar el espacio de memoria reservado para ellas. Adems, por default Visual Basic almacena las variables como Variant, esto significa que una variable con caracteres ocupa en memoria 22 bytes ms un byte por cada carcter almacenado en ella. Suponga que desea crear una ficha donde pueda calcular el biorritmo de una persona. Necesitar que se ingrese el nombre de la misma y su fecha de nacimiento, luego tendr que programar los clculos necesarios para establecer el perodo fsico alto que le permitir a la persona realizar una dieta exitosa. Para este ejemplo conviene definir las variables que se utilizarn para los clculos necesarios a fin de establecer la fecha de comienzo del ltimo perodo fsico alto. Por ejemplo, podra utilizar dos variables: una para contener la cantidad de das vividos, que deber ser Integer, y otra para establecer la fecha de comienzo del perodo, que deber ser Date. Con estas definiciones, se estara ahorrando espacio en memoria y por lo tanto, el programa se ejecutar ms rpido. Como son dos variables en un programa pequeo no notar la diferencia en el tiempo de ejecucin, pero en un proyecto importante (por ejemplo, uno creado para su empresa) la correcta definicin de variables le permitir optimizar los recursos del equipo y agilizar el tiempo de respuesta del programa. Controles a utilizar: Label Text Command Para crear las etiquetas correspondientes a los datos que mostrar el formulario. Son cuadros de texto que permiten ingresar o modificar datos. Crea botones para la ejecucin de alguna accin.

El diseo del formulario


Si desea crear una ficha para calcular cinco perodos ideales para las dietas, la interfaz de usuario podra ser como la que presenta la figura 10.1, donde se debern completar los dos primeros cuadros (el nombre y la fecha de nacimiento). Luego, el programa se deber encargar de indicar las fechas de comienzo y fin de los dos perodos ideales para las dietas.

l. Inicie una sesin de Visual Basic.

Visual Basic 6.0 en un solo libro 2. Deje marcada la opcin EXE estndar.

Periodos ideales para hacer dieta


1
Noarbre:
Fecha de Nacaiankr

Figura 10.1 Ejemplo de inte$az de usuario para calcular cinco perodos de biorritmo

3. Haga un clic en el botn Abrir para mostrar un nuevo formulario, que utilizar para crear la interfaz de usuario.
4. Utilice la ventana Posicin del formulario para ubicarlo en la parte central superior de la pantalla.
5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

6. Haga doble clic sobre la propiedad Caption.


7. Escriba: Biorritrno y presione la tecla

8. Mueva la barra de desplazamiento hasta la propiedad Icon.


9. Haga doble clic sobre la propiedad Icon y elija el archivo .CUR o .ICO que desee. Por ejemplo, elija el archivo [Link] que se encuentra en la carpeta que muestra la figura 10.2.

rchivos de programa Microsoft Visual Studio

Figura 10.2 Carpeta donde se encuentra el icono que acompaar al formulario

Bucles dentro de un programa

1 0 . Elija la herramienta Label y trace un rectngulo, bastante ancho, en la parte superior del formulario.

1 1 . En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 1 2 . Haga doble clic sobre la propiedad Caption. 1 3 . Escriba el ttulo: Perodos ideales para hacer dieta y presione la tecla (Enter. 1 4 . Haga doble clic sobre la propiedad Font. 1 5 . Elija el tipo de letra Times New Roman en Negrita y el tamao de 18 puntos. 1 6 . Haga un clic en el botn Aceptar. 1 7 . Si desea cambiar el color del texto, haga doble clic sobre la propiedad ForeColor y elija el color que desee. 1 8 . Mueva la barra de desplazamiento hasta la propiedad Alignment. 1 9 . Haga un clic sobre el control de la propiedad Alignment y elija la alineacin 2 - Center. 2 0 . Elija la herramienta Label y trace un pequeo rectngulo debajo del ttulo. 2 1 . En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 2 2 . Haga doble clic sobre la propiedad Caption. 2 3 . Escriba: Nombre: y presione la tecla [ . l
24. Elija la herramienta Label y trace un rectngulo debajo del anterior.

2 5 . En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 2 6 . Haga doble clic sobre la propiedad Caption. 2 7 . Escriba: Fecha de nacimiento: y presione la tecla [ l . 2 8 . Elija la herramienta Label y trace un rectngulo en la parte izquierda central. 2 9 . En el men Ver, elija la opciin Ventana Propiedades o el icono correspondiente. 3 0 . Haga doble clic sobre la propiedad Caption. 3 1 . Escriba: Comienzo: y presione la tecla [Enter. 32. Elija la herramienta Label y trace un rectngulo al lado del anterior. 3 3 . En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 3 4 . Haga doble clic sobre la propiedad Caption. 35. Escriba: Fin: y presione la tecla 1 ( . 36. Elija la herramienta Label y trace un rectngulo debajo (pero un poco hacia la izquierda) de la etiqueta Comienzo:. 37. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Visual Basic 6.0 en un solo libro 38. Haga doble clic sobre la propiedad Caption. 39. Escriba: 1: y presione la tecla -. 40. Elija la herramienta Label y trace un rectngulo debajo del anterior. 41. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 42. Haga doble clic sobre la propiedad Caption. 43. Escriba: 2: y presione la tecla [Enter. 44. Elija la herramienta Label y trace un rectngulo debajo del anterior. 45. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 46. Haga doble clic sobre la propiedad Caption. 47. Escriba: 3: y presione la tecla 1 .( 48. Elija la herramienta Label y trace un rectngulo debajo del anterior. 49. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 50. Haga doble clic sobre la propiedad Caption. 51. Escriba: 4: y presione la tecla

m.

52. Elija la herramienta Label y trace un rectngulo debajo del anterior. 53. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 54. Haga doble clic sobre la propiedad Caption. 55. Escriba: 5: y presione la tecla 18ntercll. 56. Seleccione las etiquetas Nombre:, Fecha de nacimiento:, Comiem:, F i : , 1 : y 2:. 57. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 58. Haga doble clic sobre la propiedad Font y elija Negrita. 59. Haga un clic en el botn Aceptar. 60. Elija la herramienta Text y trace un rectngulo debajo de la etiqueta Nombre:. 61. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 62. Haga doble clic sobre la propiedad Text. 63. Presione la tecla 1 L -

y luego presione la tecla [Enter.

64. Elija la herramienta Text y trace un rectngulo debajo de la etiqueta Fecha de nacimiento:. 65. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 66. Haga doble clic sobre la propiedad Text. 67. Presione la tecla @@d y luego presione la tecla1 .-(

Bucles dentro de un programa

68. Elija la herramienta Command y trace un rectngulo en la parte inferior derecha del formulario. Este botn permitir imprimir las fechas de los perodos del biomtmo. 69. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 70. Haga doble clic sobre la propiedad Caption. 71. Escriba: Imprimir y presione la tecla

[m] para finalizar el ingreso del texto.


para finalizar el ingreso del

72. Haga doble clic sobre la propiedad (Nombre). 73. Escriba: cmImprimir y presione la tecla1 -c texto.

--

m m

74. Elija la herramienta Command y trace un rectngulo arriba del anterior. 75. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 76. Haga doble clic sobre la propiedad Caption. 77. Escriba: Salir y presione la tecla 1-[

para finalizar el ingreso del texto.

78. Haga doble clic sobre la propiedad (Nombre). 79. Escriba: cmSalir y presione la tecla [Enter para finalizar el ingreso del texto. 80. Elija la herramienta Text y trace un rectngulo a la derecha de la etiqueta 1:. 81. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 82. Haga doble clic sobre la propiedad (Nombre). 83. Escriba: tFecha y presione la tecla [Enter para finalizar el ingreso del texto.

84. Haga doble clic sobre la propiedad Text.


85. Presione la tecla IDelete] luego presione la tecla [Entercil.

Cmo crear una matriz de controles


Debe completar el formulario, creado anteriormente, ya que faltan los cuadros de texto para mostrar los perodos (slo se incluy el que corresponde a la fecha de comienzo del primero de ellos). Lo que se espera de este formulario es que muestre el nombre de la persona a la que se le hace el biomtmo y los seis perodos que tendr la persona para hacer dieta. Dado que se necesitarn un objeto para cada perodo, y ellos tiene clculos idnticos, es conveniente armar una matriz de controles u objetos. Una matriz es un conjunto de objetos con atributos y contenidos similares, cuyos nombres estn acompaados por un ndice. Este ndice es un nmero entero que vara del O en adelante. Pueden existir matrices de una, dos o ms dimensiones. Por ejemplo una matriz cuyos elementos se llaman: Nombre(O), Nombre(l), Nombre(2), etc. es una matriz de una dimensin, pero si los elementos se llaman Nombre(O,O), Nombre(0, l), Nombre(0,2), Nombre(l,O), Nombre(1,l), etc. es una matriz de dos dimensiones.

Visual Basic 6.0 en un solo libro


Para el programa que calcular los perodos de biorritmo se necesitar una matriz de una sola dimensin.

1 . Despliegue el disefo del formulario.


2. Haga un clic sobre el objeto que ahora se llama tFecha.

3. Haga doble clic sobre la propiedad Alignment para que asuma la alineacin 1 Right Justify.
4. Mueva la barra de desplazamiento hasta la propiedad Locked.

5. Haga doble clic sobre la propiedad Locked para que asuma el valor True. Con
esto se impide que la fecha pueda ser modificada.

6. En el men Edicin, elija la opcin Copiar o el icono correspondiente.

7. En el men Edicin, elija la opcin Pegar o el icono correspondiente. Aparecer


un cuadro preguntando si desea crear una matriz.

8. Haga un clic en el botn S para que se cree un objeto llamado igual, tFecha, pero con un ndice. En este caso el nuevo objeto tendr el nombre tFecha(l), ya que
el primer objeto tiene el nombre tFecha(0). El objeto pegado quedar en el ngulo superior izquierdo del formulario.

9. Coloque el puntero del mouse sobre el objeto recin pegado y arrstrelo para que quede a la derecha del original y debajo de la etiqueta Fin:.
10. En el men Edicin, elija la opcin Pegar o el icono correspondiente.

1 1 . Coloque el puntero del mouse sobre el objeto recin pegado y arrstrelo para que quede debajo del que representa al comienzo del primer perodo de dieta.
12. Repita el paso 7 siete veces ms, pero ahora no aparecer el cuadro que pregunta si crear una matriz. En total debe tener 10 elementos (del O al 9).

13. Acomode todos los objetos para que se ubiquen como los muestra la figura 10.3, donde podr ver el nombre de objeto que les corresponde.

1 r I
Imprimir

Figura 10.3 Ubicacin de los controles que conformun la matriz

Bucles dentro de un programa

La escritura del cdigo


Antes de comenzar con la programacin debe conocer cmo funciona el ciclo fsico del bionitmo, pero si ya lo conoce contine con la explicacin. El ciclo fsico consta de 28 das que comienzan a partir del nacimiento de la persona. De estos 28 das, los primeros 14 son los ptimos para el desarrollo fsico (como ser las dietas, realizar deportes, etc.), los siguientes 14 das son "bajos" ya que los esfuerzos que realice para el fsico no se vern recompensados, pero en el caso de las dietas, usted puede comer caloras sin engordar. Para este programa se necesitan tres procedimientos: uno para el botn Salir que deber finalizar la ejecucin del programa, otro para el botn Imprimir y uno para el control Text2 (correspondiente a la fecha de nacimiento), que deber realizar el clculo cuando finalice el ingreso de la fecha de nacimiento.

l. Haga doble clic sobre el botn Command, que corresponde al botn Salir, para ingresar a la ventana de cdigo.
2. Verifique que en el recuadro que contiene a los objetos figure cmSalir.
3 . Presione la tecla
y escriba End.

4. Presione la tecla @ para finalizar el ingreso del cdigo correspondiente a este objeto.
5. Haga un clic en el control del recuadro que lista los objetos y elija cmImprimir.

6. Presione la tecla formulario.

[m] para comenzar a escribir el cdigo de la impresin del


escriba la instruccin: [Link] = False. y escriba la instruccin: PrintForm. y escriba la instruccin: [Link] = True.

7. Escriba la instruccin: [Link] = False.

8. Presione la tecla y 9. Presione la tecla 1-(

10. Presione la tecla] E [

11. Presione la tecla -y escriba la instruccin: [Link]= True. La figura 10.4 muestra estos dos procedimientos.

Private Sub cmImprimir-Click() [Link] = False [Link] = False PrintForm [Link] = True [Link] = True

Private Sub cmSalir-Click() End End Sub

Figura 10.4 Procedimientos para los botones Salir e Imprimir

u
u

Visual Basic 6.0 en un solo libro 12. Haga un clic en el control del recuadro que lista los objetos y elija cmImprimir. 13. Presione la tecla

mpara comenzar a escribir el cdigo del clculode los perodos.

14. Escriba la instruccin: Dim Diasvividos As Integer y presione la tecla -.


Esta definicin de la variable est indicando que el clculo que se realice de los das vividos estar dado por nmeros enteros y que ocupar 2 bytes.

15. Escriba la instruccin: Dim CantidadPeriodos As Integer y presione la tecla

.l [

16. Escriba la instruccin: Dim UltimoPeriodo As Integer y presione la tecla

[Ez3]
17. Presione la tecla [Enter para dejar una lnea en blanco entre las definiciones de
las variables y el resto de la programacin.

18. Escriba la instruccin: Diasvividos = Date XDate([Link] ). La funcin


Date devuelve la fecha actual, es decir la que est utilizando el equipo, y la funcin CDate convierte texto en una fecha.

19. Presione la tecla [Enter. 20. Escriba la instruccin: CantidadPeriodos = Int(DiasVividos / 28). La funcin Int devuelve el valor entero de una expresin o un nmero. 21. Presione la tecla -. 22. Escriba la instruccin: UltimoPeriodo = CantidadPeriodos * 28. 23. Presione la tecla

24. Escriba la instruccin: tFecha(O).Text= UltimoPeriodo + CDate([Link]). Con esto se calcula la fecha de comienzo del primer perodo del bionitmo y se la asigna al control tFecha(0). 25. Presione la tecla -. 26. Escriba la instruccin: For 1= 1 To 9. La variable 1 representar al ndice de los
elementos de la matriz creada, por lo tanto dicha variable deber variar entre 1 y 9, porque esos son los valores que tienen los ndices. No comienza desde el O porque ste elemento ya posee un valor.

27. Presione la tecla 29. Presione la tecla 31. Presione la tecla

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

28. Escriba la instruccin: tFecha(I).Text = CDate(tFecha(1- l).Text) + 14.


y luego la tecla

30. Escriba la instruccin: Next 1. 32. Escriba la instruccin: [Link] esto el botn Imprimir queda
con el foco o enfoque, para que el usuario pueda, presionando la tecla

Bucles dentro de un programa

m
I

imprimir el formulario. La figura 10.5 muestra el cdigo completo para el control Text2, con el bucle For.

wri2

Private Dim Dim Dim

Sub Text2 LostFocus ( ) ~iasvividisIls Integer Cant idadperiodos As Integer Ult irnoperiodo As Integer

Diasvividos = Date - CDate([Link]) Cant idadPer iodos = Int (Diasvividos / 2 8 ) UltimoPeriodo = Cantidadperiodos * 28 tFecha ( 0 ) .Text = UltimoPeriodo + CDate ([Link]) For 1 = 1 To 9 tFecha(1) .Text = CDate(tFecha(1 - 1) .Text) + 14 Next 1 [Link] End Sub

Figura 10.5 Procedimiento correspondiente al bucle

33. En el men Archivo, elija la opcin Guardar proyecto o el icono cormpondiente.

34. Indique el nombre del formulario, por ejemplo: Biorritmo.


35. Haga un clic en el botn Aceptar.
36. Indique el nombre del proyecto, por ejemplo: Biorritmo.

37. Haga un clic en el botn Aceptar.


Ahora deber probar el programa para observar cmo trabaja este procedimiento.

l. En el menli Ejecutar, elija la opcin Iniciar o el icono correspondiente.

m. 3. Ingrese la fecha de nacimiento, presione la tecla my aparecer la lista de


2. Escriba el nombre de una persona y presione la tecla
los cinco perodos propicios para hacer una dieta, tal como muestra la figura 10.6.

4. Encienda la impresora y haga un clic en el botn Imprimir para comenzar la impresin del formulario.

5. Haga un clic en el botn Saiir para volver al diseo del proyecto.

Visual Basic 6.0 en un solo libro

Perodos ideales para hacer dieta


NnmbrsFncha 1-1- Nacimiento:

Figura 10.6 Listado de perodos creados mediante el bucle For

Cmo salir de un bucle For


De la misma forma que se puede salir de un procedimiento, se puede salir de un bucle For. Para ello existe la instruccin Exit For, la que permite salir del bucle. Esta instruccin debe colocarse dentro del comienzo y fin del bucle.

El bucle Do
Un bucle creado con la instruccin Do permite ejecutar repetidas veces un grupo de operaciones o instrucciones hasta que se cumpla una condicin. Los bucles Do son muy tiles porque en la mayora de los casos no se conoce la cantidad de veces que deber ejecutarse un grupo de instrucciones. En la mayora de los bucles Do se utiliza cualquiera de las dos palabras reservadas que ayudan a crear la condicin: estas palabras son While y Until. Por lo tanto se puede decir que la sintaxis de esta instruccin o bucle es la siguiente:

Do WhileIUntil condicin Instrucciones que se repetirn mientras se cumpla la condicin Loop


4 WhileIUntil:

Se utiliza While o Until, nunca las dos. La ms utilizada es While. While significa mientras, es decir que el bucle se realizar mientras la condicin sea verdadera. Por ejemplo, Do While Apellidoo 9: esta instruccin est indicando que el bucle se realizar mientras el Apellido no tenga un valor 9.

Bucles dentro de un programa

Until significa hasta, es decir que el bucle se realizar hasta que la condicin sea verdadera. Por ejemplo, Until Apellido = 9: esta instruccin indica que el bucle se realizar hasta que el Apellido tenga un valor 9.
4 Condicin:

Posee la tpica estructura de las condiciones ya utilizadas en las estructuras de decisin, es decir que se pueden utilizar los operadores matemticos (=, o,>, >=, <, <=) y los operadores lgicos (And, Or, Xor, Not) vistos en el Captulo 5.
J

Loop: Es la palabra reservada que sirve para cerrar el bucle. Esto significa que las instrucciones que se repetirn son las que estn comprendidas entre Do y Loop.

como programar un bucle Do


El bucle Do ha sido utilizado en el Captulo 6 usando la instruccin Do While True, pero en esta seccin se usar con una condicin. En el proyecto Biorritmo podra agregarse un cuadro de entrada para que aparezca antes que el formulario y solicite el ingreso de una contrasea. Si la palabra escrita por el usuario no es la correcta, que vuelva a mostrar el mismo cuadro de entrada, pero cuando sea la palabra correcta, que muestre el formulario del biomtrno.

,a 3
a l

1. Despliegue la ventana del c6digo correspondiente al formulario.


2. Haga un clic en el control del recuadro que tiene la lista de los objetos y elija Forml. Aparecer el procedimiento Load para este objeto. 3. Presione la tecla

mpara aumentar la sangra.

4. Escriba la instruccin: Do While Contrasea o "clave". Con esta instruccin se inicia el bucle, indicando que se ejecutarn las instrucciones enunciadas a continuacin, mientras la variable Contrasea sea diferente a la palabra "clave". Si lo desea puede definir otra palabra como contrasea. 5. Presione la tecla [Enter y luego la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: Contrasea = InputBox("1ngrese la palabra clave:", "Contrasea de acceso").


7. Presione la tecla

pasar a la siguiente lnea. y luego la tecla

8. Escriba la instruccin: If Contrasea = "clave" Then.

9. Presione la tecla 1 1 . Presione la tecla1 -[

mpara aumentar la sangra.


para disminuir la sangra. para disminuir la sangra.

10. Escriba la instruccin: Exit Do. Con esta instruccin se sale de un bucle Do.

y luego la tecla

12. Escriba la instruccin: End If.


13. Presione la tecla [Enter y luego la tecla 1 -I

Visual Basic 6.0 en un solo libro


14. Escriba la instruccin: Loop. La figura 10.7 muestra el cdigo completo que se ejecutar cuando se cargue el formulario.

Private Sub Form Load() Do Whi le ~ontraseao "c lave w Contrasea = InputBox[ "Ingrese la palabra clave : ", "Contrasea de acceso w) If Contrasea = nclaven Then Exit Do End If Loop End Sub

l
1

i
l

Figura 10.7 Programacin de un bucle Do con una condicin

1 . En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Aparecer el cuadro de entrada solicitando el ingreso de la contrasea.

2. Escriba una palabra cualquiera, pero diferente a la definida como clave.

3. Haga un clic en el botn Aceptar y ver que vuelve a aparecer el cuadro de entrada solicitando el ingreso de la clave.
4. Escriba la palabra definida como contrasea.

5. Haga un clic en el botn Aceptar y desplegar el formulario del biomtmo.


Esta forma de ingresar una contrasea de acceso no es til porque no brinda una seguridad adecuada, es decir que cualquiera puede ver el texto que ingresa en el cuadro de entrada. En este caso es conveniente utilizar un formulario diferente para solicitar la contrasea, y esto permitir personalizar el objeto Text para que no muestre el texto que se est escribiendo en el mismo.

Cmo utilizar un formulario prearmado por Visual Basic


Se trabajar con el proyecto Biorritmo, que est siendo modificado, y se le agregar un nuevo formulario que solicite el ingreso de una contrasea antes de que aparezca la ventana solicitando los datos para el biorritmo. Visual Basic cuenta con una gama de formularios prearmados y con una programacin estndar para su ejecucin. Por lo tanto, se utilizar un formulario prearmado para la contrasea de acceso, ya que tendr todos los controles u objetos necesarios y una programacin bsica para cada uno de ellos.

Bucles dentro de un programa

l. Abra en modo diseo al proyecto Biorritmo.

2. Despliegue la ventana del cdigo correspondiente al formulario del biorritmo.

3. Seleccione todo el procedimiento Load para el objeto Forml, creado anteriormente. Con esto se pretende eliminar la solicitud de contrasea "casera" para reemplazarla por otro formulario.
4. Presione la tecla @@ para eliminar el procedimiento.
5. En el men Proyecto, elija la opcin Agregar formulario y aparecer el cuadro

de seleccin del formulario.


6. Seleccione el tipo de formulario Cuadro de dilogo Inicio de sesin.

7. Haga un clic en el botn Abrir y ver un formulario prearmado, tal como lo exhibe la figura 10.8. Observe que este formulario no tiene el nombre genrico Formnmero, que hasta ahora se estuvo utilizando, sino que presenta el nombre f d o g i n , el que puede ser cambiado mediante la propiedad (Name).

8. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Figura 10.8 Formulario preannado para solicitar una contrasea

9. Haga doble clic sobre la propiedad Caption y escriba: Contrasea de acceso.


10. Presione la tecla 1 ( para finalizar el ingreso del ttulo. 1 1 . Haga doble clic sobre la propiedad Icon y elija un icono que represente el tipo de informacin que contiene el formulario. Por ejemplo, elija el archiva [Link] que est en la carpeta que muestra la figura 10.9. 12. Haga un clic en el botn Abrir para que el icono se muestre en el formulario. 13. Haga un clic sobre la etiqueta Nombre de:. 14. Mantenga presionada la tecla ISh;KOly haga un clic sobre el cuadro de texto que est a la derecha de la etiqueta seleccionada.

Visual Basic 6.0 en un solo libro


-p

l~araar icono .

Figura 10.9 Carpeta donde se encuentra el icono que acompaar al formulario

15. Presione la tecla [-e]

para eliminar los objetos.

16. Haga un clic sobre la etiqueta que actualmente tiene el nombre Contrasea: 17. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 18. Haga doble clic sobre la propiedad Caption e ingrese: Escriba la palabra clave para acceder:. 19. Presione la tecla
para finalizar el ingreso del texto.

20. Coloque el puntero del mouse sobre la etiqueta y arrstrela hacia arriba para que ocupe la posicin de los objetos eliminados. 21. Cambie el ancho de esta etiqueta para que el texto ingresado en la propiedad Caption pueda apreciarse.
22. Reacomode los restantes objetos hasta que el formulario se vea como lo muestra la figura 10.10 en la pgina siguiente.

23. Haga un clic en el cuadro de texto y ver que tiene el nombre txtpassword.
24. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Escriba la palabra claw para

Figura 10.10 Diseo de1,formulario para solicitar la contrasea

Bucles dentro de un programa


25. Mueva la barra de desplazamiento hasta la propiedad [Link] propiedad sirve para indicar el carcter que se ver mientras el usuario ingresa informacin dentro del cuadro de texto. En este caso est definido el tradicional asterisco (*) para reemplazar los caracteres que el usuario escriba.

26. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente. Ver un cuadro solicitando el nombre del nuevo formulario incluido.
27. Escriba el nombre que tendr el archivo del formulario, por ejemplo: Contrase!a.

28. Haga un clic en el botn Guardar.

Cmo definir el formulario principal


Si trata de ejecutar este programa o proyecto observar que aparece directamente la ventana del biorritmo y no la ventana de contrasea, que debera ser la primera en aparecer en pantalla. Esto se debe a que el proyecto fue creado con el formulario Forml como el principal, por lo tanto, cada vez que agregue un formulario, el mismo se convertir en uno secundario, salvo que cambie las @mpiedadesdel proyecto para que otro sea el principal. En este caso debe definirse al formulario frmLogin como principal, y para ello deber ejecutar los siguientes pasos:

3 1.
m
1

En el men Proyecto, elija la opcin Propiedades de Proyecto1 y aparecer el cuadro de la figura 10.11.

2. Haga un clic en el control del recuadro Objeto inicial y desplegar la lista de los formularios que estn definidos en el proyecto.
3. Elija el formulario que aparecer en primer trmino, en este caso: frmlogin.
4. Haga un clic en el botn Aceptar.
)

General Generar ;~o

1 Compilar 1 Componente ]
l Qbieto

- -

de pr*s \ e i t n

r .

Nombre de Droverto.

1 1I

vscto:

Figura 10.11 Cuadro de propiedades del proyecto actual

Visual Basic 6.0 en un solo libro

5. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Apare-

n u n

cer al formulario que solicita la contrasea.

6. Haga un clic en el botn Aceptar y aparecer el cuadro de la figura 10.12, indicando que la contrasea no es la correcta.
7. Haga un clic en el botn Aceptar y volver al cuadro de entrada que solicita la contrasea.

8. Haga un clic en el botn Cancelar y observar que el formulario desaparece de la pantalla, pero todava sigue estando en modo ejecucin. 9. En el men Ejecutar, elija la opcin Terminar o el icono correspondiente.
nicio de sesin

11

Conrrasea no vlida, vuelva a intentarlo

1i................

.................................... + Aceptar i( ".........V...... ,

Figura 10.12 Cuadro de mensaje que aparece cuando la contrasea es incorrecta

Modificacin del cdigo del nuevo formulario


Este formulario tiene controles personalizados y procedimientos para cada uno de ellos. Por ejemplo, si hace un clic en el botn Aceptar, ver que tiene el nombre cmdOK y el de Cancelar se llama cmdcancel.

1. Visualice la ventana de cdigo del formulario diseado para solicitar la contrasea. Aparecer una ventana con un cdigo creado para cada uno de los botones utilizados en el formulario. Estos procedimientos poseen instrucciones conocidas por usted, pero hay dos que necesitar conocer para comprender la forma en que se ejecuta este formulario.

Me es una palabra clave que funciona como una variable y se utiliza para reemplazar el nombre de un objeto. Es muy frecuente utilizar Me para referirse al formulario actual. Hide es un mtodo que oculta a un formulario. SendKeys "(Home)+(End)" : Esta instruccin enva una o ms presiones de teclas a la ventana activa, como si se hubieran presionado desde el teclado. En este caso se enva la tecla luego [Shift y por ltimo [Endl. Esto permite que el cursor se ubique al comienzo del texto escrito en el control y que luego se active

Bucles dentro de un programa

Ciel

la tecla para seleccionar hasta el final de la Inea. La modificacin que se har deber permitir que finalice el programa cuando el usuario haga un clic en el botn Cancelar y que vea el formulario del biorritmo cuando la contrasea sea correcta y se haya dado un clic en el botn Aceptar.

1. Seleccione las instrucciones correspondientes al objeto cmdcancel, pero sin incluir Private Sub ni End Sub. 2. Presione la tecla [Enter para borrar el contenido y dejar una Inea en blanco.
3. Presione la tecla y luego la tecla blanco y aumentar la sangra.
4. Escriba la instruccin: End.
5. Despliegue el cdigo correspondiente al objeto cmdOK.

mpara colocar el cursor en la Inea en

6. En la instruccin If txtpassword = "password" Then reemplace la palabra password por la que desee como contrasea, por ejemplo: clave.

7. Coloque el cursor al final de la instruccin [Link].

8. Presione la tecla [Enter para insertar una Inea.


9. Escriba la instruccin: [Link].
Pruebe el programa para verificar si se ejecuta el formulario y cmo responde ante el ingreso correcto o incorrecto de la contrasea de acceso.

Qu es un men
Todas las aplicaciones disponen de una barra de men para ejecutar diferentes acciones. Con Visual Basic es posible crear un programa que posea una barra de men, de este modo se estara creando una aplicacin. Cuando se utiliza la barra de men, las acciones que aparecen listadas dentro de las opcin de men se ejecutan cuando se hace un clic sobre las mismas. Para crear una barra de men conviene utilizar el mismo criterio que se utiliza en todas las barras de men de las aplicaciones. Estos criterios son:
J

Si la accin se ejecuta directamente cuando el usuario haga un clic sobre la opcin, sta debe escribirse en forma simple. Por ejemplo, Copiar guarda la informacin seleccionada en el portapapeles en el momento en que se hace un clic sobre ella. Si la accin implica la apertura de un cuadro de dilogo cuando el usuario haga un clic sobre la opcin, sta debe escribirse con puntos suspensivos al final. Por ejemplo: Abrir. muestra el cuadro de dilogo para la apertura de un archivo.

..

Es conveniente que una letra de la opcin est marcada como tecla de acceso. Por ejemplo, el men Archivo aparece con la primera letra subrayada para acceder desde el teclado presionando simultneamente las teclas [ A l t l a .

Qu es el editor de menes
El editor de menes es una herramienta que permite realizar todas las tareas correspondientes a la gestin de la barra de men en un programa o proyecto Visual Basic. Este editor permite ejecutar las siguientes tareas:
J J J

Crear un elemento principal de men. Crear elementos de men subordinados. Borrar cualquier tipo de elemento de men. Reubicar los distintos elementos de men. Asignar teclas rpidas para la ejecucin de las opciones o elementos de men. Deshabilitar elementos de men. Colocar una marca de verificacin a los elementos de men.

J J
J

Trabajando con rnenes


Cuando se crea un men se debe indicar obligatoriamente la siguiente informacin:
4 Caption: Es el nombre de la opcin que aparecer en la barra de men. Aqu

es donde se indica la letra que servir de acceso rpido.


J

Name: Es el nombre de la opcin que se utilizar para programar las acciones que realizar.

Cmo agregar componentes a la caja de herramientas


Si bien la caja de herramientas posee muchos controles, y todos ellos muy tiles, Visual Basic posee otros componentes que puede agregar al proyecto que le haga falta usar controles que no aparecen en la caja de herramientas. Por ejemplo, para el caso de la utilizacin de una barra de men se necesitar un control u objeto que permita seleccionar texto y aplicarle formato solamente al bloque seleccionado. Este objeto se llama RichTextBox y si bien se comporta como un cuadro de texto, permite realizar tareas que el objeto Text no admite. Para agregar componentes en la caja de herramientas, necesitar ejecutar los siguientes pasos:

L. Inicie una sesin de Visual Baric.


2. Deje marcada la opcin EXE estndar.

3. Haga un clic en el botn Abrir para comenzar a trabajar en un nuevo proyecto.


4. En el men Proyecto, elija la opcin Componentes y desplegar el cuadro que muestra la figura 11.1.

Figura 11.1 Cuadro para agregar o eliminar componentes a la caja de herramientas

m
m--.

Visual Basic 6.0 en un solo libro


5. En la solapa Controles encontrar la lista de controles que puede agregar a la caja de herramientas, pero solamente estarn disponibles en este proyecto. Por lo tanto, si necesita estos controles en otro proyecto, deber insertarlos nuevamente.

6. Elija de la lista: Microsoft Rich Textbox Control 6.0.

7. Haga un clic en el botn Aceptar.


En la caja de herramientas podr ver el icono que representa al control que permite trabajar con "texto enriquecido", llamado RichTextBox.

Cmo crear una barra de men


A continuacin se desarrollar un programa que contenga una barra de men y ms de un formulario. Se necesita un programa que permita escribir informacin y luego poder formatear el texto seleccionado. Los formatos que se necesitan son: Negrita, Cursiva y Subrayado, los tamaos: 8,10,12 y 14 y por ltimo, el color del texto: Negro, Azul y Rojo. Adems, el programa debe contener un cuadro Acerca de como tienen todas las aplicaciones del entorno de Windows. Para ello se necesitar un segundo formulario que se mostrar cada vez que el usuario lo decida y para el que se utilizar uno de los prearmados por Visual Basic. Para este programa se utilizar un solo control, ya que el resto ser crear la barra de men con las opciones previstas anteriormente. El control a utilizar es el siguiente: RichTextBox: Con este control se crear el nico objeto que permitir el ingreso de texto por parte del usuario cuando se ejecute el programa y sobre el mismo se aplicarn las modificaciones de los atributos del texto.

m
3

l. Abra el formulario, en modo diseo, para comenzar a trabajar.

2. Coloque el puntero del mouse sobre la ventana Posicin del formulario y haga un clic con el botn derecho.

3. Elija la opcin Posicin inicial.

4. Haga un clic en la opcin Centro de la pantalla.

5. Ample un poco el tamao del formulario.


6. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
7. Haga doble clic sobre la propiedad Caption y escriba: Formatos.

8. Presione la tecla ] [

para finalizar el ingreso.

9. Haga doble clic sobre la propiedad Icon y elija un icono para el formulario, por ejemplo: elija el archivo Pens03.ic0, que se encuentra en la carpeta que muestra la figura 1 1.2.
10. Elija la herramienta RichTextBox y dibuje un gran rectngulo dentro del formulario.

Trabajando con menues

~ U S Cen: ~ [
-

5 Archivos de programa
M;-rn-oft

Visual Studio YY,,,mon Graphics b lcons

Figura 11.2 Carpeta que contiene al icono que acompaar al formulario

11. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 12. Haga doble clic sobre la propiedad (Nombre) y escriba el nombre del objeto, por ejemplo: Texto.

13. Presione la tecla

para finalizar el ingreso.

14. Haga doble clic sobre la propiedad Text y presione la tecla IDelete] para borrar su contenido. 15. Presione la tecla
para finalizar el ingreso.

16. Mueva la barra de desplazamiento hasta la propiedad M W i n e y verifique que su valor sea True. Esto permitir que se escriban muchas lneas de texto dentro del cuadro. 17. Haga un clic sobre la propiedad ScrollBars y elija 3 -0th. De esta forma aparecer una barra de desplazamiento vertical cuando el texto escrito supere la altura del objeto.
18. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

1-

19. Indique el nombre que tendr el formulario, por ejemplo: Formatos. 20. Haga un clic en el botn Guardar. 21. Indique el nombre del proyecto, que puede ser el mismo que el del formulario. 22. Haga un clic en el botn Guardar.
El paso siguiente es crear la barra de men para que contenga las opciones que se necesitan para este programa. Cuando se crea una barra de men se debe considerar, a efectos de facilitar la programacin posterior, el nombre del elemento de men. Esto es porque cada uno de los elementos de men, estar disponible en el recuadro de la ventana de cdigo, que contiene la lista de objetos y por lo tanto, conviene identificarlo. Las reglas que se pueden seguir son las siguientes:

Visual Basic 6.0 en un solo libro 1. Un elemento principal de men se nombra, en Name, con mnu delante del nombre, por ejemplo: mndrchivo.
2. Un elemento subordinado de men se nombra, en Name, con mnu delante del nombre y Elem o Item a continuacin, por ejemplo: mnuAbrirElem.

m 3

l. En el men Herramientas, elija la opcin Editor de menUs o el icono correspondiente. Se desplegar el cuadro que muestra la figura 11.3.

Figura 11.3 Editor de mens

2. En el recuadro Caption escriba &Atributos. El & es para que la opcin aparezca Atributos, de esta forma podr ingresar desde el teclado presione simultneamente [AltJ@. Siempre el & se coloca delante de la letra que se desea destacar.

3. Presione la tecla

mpara pasar al recuadro Name y escriba mnuAtributos.

4. Haga un clic en el botn Siguiente o presione la tecla [Entercil. La opcin de men aparecer en el recuadro inferior y se borrar la parte superior de la ventana.
5. En el recuadro Caption escriba &Negrita.

6. Presione la tecla

mpara pasar al recuadro Name y escriba mnuNegritaElem.

7. Haga un clic en el botn con una flecha hacia la derecha. Esto indica que la opcin de men est subordinada a la que aparece sin sangra (&Atributo). La figura 1 1.4 muestra cmo queda esta opcin en el cuadro de edicin del men.

Trabajando con menes

8. Haga un clic en el botn Siguiente o presione la tecla 1 -.( Observe que el cursor de la parte inferior del cuadro ya muestra los 4 puntos que indican que la prxima opcin estar al mismo nivel de la anterior.
9. En el recuadro Caption escriba &Cursiva.

la
Figura 11.4 Elementos de men principal y subordinado

10. Presione la tecla1 -l

para pasar al recuadro Name y escriba rnnuCursivaElem.

11. Haga un clic en el botn Siguiente o presione la tecla IEnterci). 12. En el recuadro Caption escriba &Subrayado.
para pasar al recuadro Name y escriba mnusubraya13. Presione la tecla [m] doElem.

14. Haga un clic en el botn Siguiente o presione la tecla -. 15. En el recuadro Caption escriba &Tamao. 16. Presione la tecla [ S para ] pasar al recuadro Name y escriba mnuTamao. No conviene amgar Elem porque sobre esta opcin no se aplicar ningn cdigo.
17. Haga un clic en el botn Siguiente o presione la tecla (Entercil.

18. En el recuadro Caption escriba &8. 19. Presione la tecla 1 -(


para pasar al recuadro Name y escriba mnu8Elem.

20. Haga un clic en el botn con una flecha hacia la derecha. Con esto se indica que el &8 aparecer como un submen de &Tamao. 2 l . Haga un clic en el botn Siguiente o presione la tecla -. 22. En el recuadro Caption escriba 1&0.

23. Presione la tecla 1 -(

para pasar al recuadro Name y escriba mnul0Elem.

24. Haga un clic en el botn Siguiente o presione la tecla [Enter. 25. En el recuadro Caption escriba 1&2.

Visual Basic 6.0 en un solo libro 26. Presione la tecla (Tabrj) para pasar al recuadro Name y escriba mnul2Elem.

b#!d
1 I

27. Haga un clic en el botn Siguiente o presione la tecla 1 .( 28. En el recuadro Caption escriba 1&4. 29. Presione la tecla [ m para pasar al recuadro Name y escriba mnul4Elem. 30. Haga un clic en el botn Siguiente o presione la tecla [Entercil. 31. Haga un clic sobre el botn con la flecha hacia la izquierda para que se eliminen 4 puntos y volver a la altura de &Tamao. 32. En el recuadro Caption escriba (slo un guin) para trazar una lnea debajo de la opcin &Tamao. 33. Presione la tecla [Taby*) para pasar al recuadro Narne y escriba mnulnea.

34. Haga un clic en el botn Siguiente o presione la tecla -. 35. En el recuadro Caption escriba &Salir.
para pasar al recuadro Name y escriba mnuSalirElem. 36. Presione la tecla [m]

1 [ = 1

37. Haga un clic en el botn Siguiente o presione la tecla [Entercil. 38. Haga un clic sobre el botn con la flecha hacia la izquierda para que se eliminen 4 puntos y volver a la altura de &Atributos. 39. En el recuadro Caption escriba A&cerca de.... Agregue los puntos suspensivos para indicar que si se hace un clic sobre esa opcin aparecer un cuadro de dilogo. 40. Presione la tecla DeElem.
para pasar al recuadro Name y escriba mnuAcerca-

41. Haga un clic en el botn Aceptar para finalizar el ingreso de opciones al men. La figura 11.5 muestra cmo queda el formulario con la barra de men.

I ~ iProyecto1 . - F O , ~[ F ~ O ~ ~ J

EBBII

Atributos Agerca ae

Figura 11.5 Formulario con barra de men

Trabajando con menues


Si bien estas opciones de men no realizan nada, porque no se les ha asignado un procedimiento, conviene que ejecute el programa para observar cmo aparecen las opciones de men.

l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. Haga un clic sobre la opcin Atributos y ver cmo aparece el men.

3. Haga un clic sobre la opcin Tamao y aparecer el despliegue del submen, como muestra la figura 11.6.
IiiI Formato

REiE

Figura 11.6 El men con submen

4. En el men Ejecutar, elija la opcin Terminar o el icono correspondiente.

Usando el rnouse o la tecla @@y la letra de men podremos ejecutar las acciones correspondientes a la opcin elegida.

Como por defecto el tipo de letra es de 8 puntos, podra el men mostrar una marca de verificacin en la opcin 8 desde el momento en que uno elige la opcin Tamao. As como tambin alternar esta marca segn el tamao adual de la letra del texto seleccionado. Adems, al comienzo de la descripcin del programa se dijo que debera permitir carnbiar al color del texto. Estas opciones deben agregarse.

1. En el men Herramientas, elija la opcin Editor de ments o el icono correspondiente. Aparecer el cuadro de men con las opciones fijadas anteriormente.

2. Haga un clic sobre el elemento de men &8.

3. Haga un clic sobre la opcin Cheeked para indicar que el elemento debe aparecer con una marca de verificacin.

4. Haga un clic sobre el elemento de men - (la lnea).


5. Haga un clic en el botn Insertar.

Visual Basic 6.0 en un solo libro


6. En el recuadro Caption escriba C&olor.

7. Presione la tecla

mpara pasar al recuadro Name y escriba mnucolor.

8. Haga un clic en el botn Siguiente o presione la tecla -. 9. Haga un clic en el botn Insertar. 10. En el recuadro Caption escriba &Negro. 11. Presione la tecla 1 -( Elem.
para pasar al recuadro Name y escriba mnuNegro-

12. Haga un clic sobre la opcin Checked para que aparezca una marca de verificacin cuando haga un clic sobre la opcin C&olor.

n i

13. Haga un clic en el botn con una flecha hacia la derecha. Con esto se indica que el &Negro aparecer como un submen de C&olor.
v .

14. Haga un clic en el botn Siguiente o presione la tecla 1 (.

15. Haga un clic en el botn Insertar. 16. Haga un clic en el botn con una flecha hacia la derecha para que el tem a insertar quede a la altura de &Negro. 17. En el recuadro Caption escriba &Azul. 18. Presione la tecla1 -(
para pasar al recuadro Name y escriba mnuAzulElem.

19. Haga un clic en el botn Siguiente o presione la tecla [Enter. 20. Haga un clic en el botn Insertar. 21. Haga un clic en el botn con una flecha hacia la derecha para que el tem a insertar quede a la altura del anterior. 22. En el recuadro Caption escriba &Rojo. 23. Presione la tecla [Tab para pasar al recuadro Name y escriba mnuRojoElem.

I
m d

24. Haga un clic en el botn Aceptar para finalizar el ingreso de opciones al men.
Ejecute el programa para observar cmo queda el men insertado y cmo aparece la marca de verificacin a la izquierda de las opciones color Negro y tamao 8. Luego grbelo para no perder ningn dato.

1. En el men E j e c r , elija la opcin Iniciar o el icono correspondiente. 2. Haga un clic sobre la opcin Atributos y apreciar cmo aparece el men.

3. Haga un clic sobre la opcin Color y aparecer el despliegue del submen, como muestra la figura 1 1.7.
4. En el men Ejecutar, elija la opcin Terminar o el icono correspondiente.

Trabajando con meniles

(ir F M W

Figura 11.7 El elemento de men Color queda agregado debajo de Tamao

5. En el men Archivo, elija la opcin Guardar archivo o el icono correspondiente.

Luego deber escribir el cdigo de programacin para cada una de las opciones de men insertadas en esta barra.

El cdigo de programacin para el men


Los elementos de men pueden ejecutar cualquier tipo de accin. Para este ejemplo deber crear un cdigo que adems de colocar los atributos elegidos en el men, coloque o saque la marca de verificacin de la opcin que se est activando o desactivando. Para el cdigo que se necesita para esta barra de men, deber conocer unas propiedades que permitan alterar los atributos correspondientes a un cuadro de texto. Estas propiedades son las siguientes:
J

SelBold: Permite colocar o sacar el atributo Negrita a un bloque de texto seleccionado, en un objeto RichTextBox, indicando el estado de la propiedad con las palabras True o False. Por ejemplo con [Link]=True, el atributo est activo para el objeto RichTextBoxl. SelItalic: Permite colocar o sacar el atributo Cursiva a un bloque de texto seleccionado, en un objeto RichTextBox, indicando el estado de la propiedad con las palabras True o False. Por ejemplo con [Link]=True, el atributo est activo para el objeto RichTextBoxl. SelUnderline: Permite colocar o sacar el atributo Subrayado a un bloque de texto seleccionado, en un objeto RichTextBox, indicando el estado de la propiedad con las palabras True o False. Por ejemplo con [Link]=True, el atributo est activo para el objeto RichTextBoxl. No se utilizar para este ejemplo pero es uno de los atributos ms comunes.

Visual Basic 6.0 en un solo libro


J

SeiFontSize: Permite cambiar el tamao de la fuente a un bloque de texto seleccionado, en un objeto RichTextBox. El tamao debe estar indicado en puntos. Por ejemplo con [Link]=14,el tamao de la letra del objeto RichTextBoxl es de 14 puntos. SelColor: Permite cambiar el color a un bloque de texto seleccionado, en un objeto RichTextBox. Por ejemplo con [Link]=vbRedel color del texto del objeto RichTextBoxl es rojo. Para el cambio de color debe indicar el color con palabras que se denominan constantes y son las siguientes: Constante
vbRed vbGreen vbBlue vbMagenta vbCyan vbWhite

Color
Negro Rojo Verde Amarillo Azul Magenta Cyan Blanco

% Nota: En modo diseo del programa o proyecto, cuando se elige una opcin de men, se abre la ventana de cdigo.
3
l. En el men Atributos, elija Salir. Aparecer la ventana de cdigo con el objeto mnuSalirElem. 2. Presione la tecla

mpara aumentar la sangra.

3. Escriba la instruccin: End.

4. Haga un clic en el control del recuadro que lista los objetos que posee el formulario y elija mnuNegritaElem.
5. Presione la tecla-

para aumentar la sangra.

6. Escriba la instruccin: If [Link] = False Then.


7. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

8. Escriba la instruccin: [Link] = True. Asigna al texto seleccionado el atributo Negrita. 9. Presione la tecla [Enter para pasar a la siguiente lnea.

Trabajando con rnenes

10. Escriba la instruccin: [Link] = True. El elemento del men mostrar una marca de verificacin indicando que la Negrita est activa. 11. Presione la tecla (Enter y luego la tecla [S] para disminuir la sangra. 12. Escriba la instruccin: Else. 13. Presione la tecla y luego la tecla

mpara aumentar la sangra.

14. Escriba la instruccin: [Link] = False. Se desactiva o elimina el atributo Negrita.

15. Presione la tecla [Entercr) para pasar a la siguiente lnea.


16. Escriba la instruccin: [Link] = False. Se elimina la marca de verificacin de la opcin de men.
17. Presione la tecla

y luego la tecla [B"kspacel para disminuir la sangra.

18. Escriba la instruccin: End If. La Figura 11.8 muestra el cdigo completo.
Escriba un cdigo parecido al anterior pero para el elemento de men Cursiva, utilizando la propiedad SelItaiic y para el elemento de men Subrayado, la propiedad Se-

1Underline.

U
itaElem Click(] d a ~alie Then [Link] = True [Link] = False [Link] = False

Figura 11.8 Cdigo correspondiente a la colocacin de negrita

3 1. mnuCursivaElem.
2. Presione la tecla
4. Presione la tecla

Haga un clic en el control del recuadro que lista los objetos del formulario y elija

mpara aumentar la sangra.


y luego la tecla ITab',l para aumentar la sangra.

3. Escriba la instruccin: If [Link] = False Then.


5. Escriba la instruccin: [Link]= True. Asigna al cuadro de texto el atributo Cursiva.

6. Presione la tecla

[m] para pasar a la siguiente lnea.

Visual Basic 6.0 en un solo libro

7. Escriba la instruccin: [Link]= True. 8. Presione la tecla (Enter y luego la tecla


para disminuir la sangra. para aumentar la sangra.

9. Escriba la instruccin: Else. 10. Presione la tecla1 -(


12. Presione la tecla
y luego la tecla1-(

11. Escriba la instruccin: [Link] = False.


para pasar a la siguiente Inea.

13. Escriba la instruccin: [Link] = False. Se elimina la marca de verificacin de la opcin de men. 14. Presione la tecla
y luego la tecla

para disminuir la sangra.

15. Escriba la instruccin: End If. 16. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnuSubrayadoElem.

17. Presione la tecla

para aumentar la sangra.

18. Escriba la instruccin: If [Link] = False Then.

19. Presione la tecla (Enter y luego la tecla

para aumentar la sangra.

20. Escriba la instruccin: [Link] = True. Asigna al cuadro de texto el atributo Subrayado. 21. Presione la tecla

LE"teri1para pasar a la siguiente lnea.


para disminuir la sangra.

22. Escriba la instruccin: [Link]= True. 23. Presione la tecla (Enter]y luego la tecla 24. Escriba la instruccin: Else. 25. Presione la tecla

[e] y luego la tecla mpara aumentar la sangra.


para pasar a la siguiente Inea.

26. Escriba la instruccin: [Link] = False. 27. Presione la tecla1 -( 28. Escriba la instruccin: [Link] = False. Se elimina la marca de verificacin de la opcin de men. 29. Presione la tecla ] [
y luego la tecla [E] para disminuir la sangra.

30. Escriba la instruccin: End If. La Figura 11.9 (pgina siguiente) muestra los dos cdigos para colocar los atributos al texto seleccionado.
El cdigo para el cambio de tamao es rutinario, con saber los pasos correspondientes a un tamao de letra, los dems son similares, variando el tamao y la opcin que aparecer con la marca de verificacin. Los cdigos para los cuatro tamaos correspondientes a este ejemplo son los siguientes:

Trabajando con rnenec

I Proyecto1 - Forml (Cdigo]

l t ! m E 3

Pr ivate Sub mnuCursivaElem-Click ( ) If [Link] = False Then [Link] = True [Link] = True Else [Link] = False [Link] = False End If End Sub Private Sub mnuSubrayadoElem-Click() If Texto.SelUnder1ine = False Then Texto.SclUnder1ine = True [Link] = True Else [Link] = False [Link] = False End If

Figura 11.9 Cdigos para los atributos cursiva y subrayado

1. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnu8Elem.

2. Presione la tecla

mpara aumentar la sangra.


para pasar a la siguiente lnea.

3. Escriba la instruccin: [Link] = 8, que asigna el tamao de 8 puntos al texto del cuadro.
4. Presione la tecla 1-C

5. Escriba la instruccin: [Link] = True, la que activa la marca de verificacin para el tamao 8.
6. Presione la tecla

para pasar a la siguiente lnea. para pasar a la siguiente lnea.

7. Escriba la instruccin: [Link] = False.

8. Presione la tecla1 -(

9. Escriba la instruccin: [Link] = False.

10. Presione la tecla [Enter]para pasar a la siguiente lnea. 11. Escriba la instruccin: [Link] = False. 12. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnul0Elem. 13. Presione la tecla

[m] para aumentar la sangra.

14. Escriba la instruccin: [Link] = 10.

Visual Basic 6.0 en un solo libro

15. Presione la tecla [Enter] para pasar a la siguiente lnea. 16. Escriba la instruccin: [Link] = False. 17. Presione la tecla 19. Presione la tecla
para pasar a la siguiente lnea. para pasar a la siguiente lnea.

18. Escriba la instruccin: [Link] = True. 20. Escriba la instruccin: [Link] = False. 21. Presione la tecla [Enter para pasar a la siguiente lnea. 22. Escriba la instruccin: [Link] = False. 23. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnul2Elem. 24. Presione la tecla 26. Presione la tecla 28. Presione la tecla

mpara aumentar la sangra.


IEnter para pasar a la siguiente lnea.

25. Escriba la instruccin: Texto.Se1FontSize = 12. 27. Escriba la instruccin: [Link] = False.

[w] para pasar a la siguiente lnea.

29. Escriba la instruccin: [Link] = False. 30. Presione la tecla [Enter para pasar a la siguiente lnea. 31. Escriba la instruccin: [Link] = True. 32. Presione la tecla

[w] para pasar a la siguiente lnea.

33. Escriba la instruccin: [Link] = False. 34. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnul4Elem. 35. Presione la tecla

mpara aumentar la sangra.


para pasar a la siguiente lnea. para pasar a la siguiente lnea. para pasar a la siguiente lnea.

36. Escriba la instruccin: [Link] = 14. 37. Presione la tecla1-[ 38. Escriba la instruccin: [Link] = False.

1-( 39. Presione la tecla


41. Presione la tecla1 -( 43. Presione la tecla

40. Escriba la instruccin: [Link] = False. 42. Escriba la instruccin: [Link] = False.

[m] para pasar a la siguiente lnea.

44. Escriba la instruccin: [Link] = True.

Trabajando con menes

Utilice Copiar y Pegar para hacer ms rpida la escritura del cdigo y luego modifique True o False, segn corresponda. El cambio de color es similar al cambio del tamao del tipo de letra. Los cdigos correspondientes a los tres colores son similares.

1. Haga un clic en el control del recuadro que contiene la lista de todos los objetos y elija mnuNegroElem. 2. Presione la tecla

mpara aumentar la sangra.


[m] para pasar a la siguiente Inea.

3. Escriba la instruccin: [Link]=vbBlack. Asigna el color negro al texto del cuadro. 4. Presione la tecla
5. Escriba la instruccin: [Link] = True.

6 . Presione la tecla [Enter para pasar a la siguiente Inea.


7. Escriba la instruccin: [Link]= False.

8. Presione la tecla

para pasar a la siguiente Inea.

9. Escriba la instruccin: [Link]= False. 10. Haga un clic en el control del recuadro que contiene la lista de todos los objetos y elija mnuAzulElem. 11. Presione la tecla

[m] para aumentar la sangra.

12. Escriba la instruccin: [Link]=vbBlue. 13. Presione la tecla [Entercil para pasar a la siguiente Inea. 14. Escriba la instruccin: [Link] = False. 15. Presione la tecla [ m 1 para pasar a la siguiente Inea. 16. Escriba la instruccin: [Link] = True. 17. Presione la tecla [Enter! para pasar a la siguiente Inea. 18. Escriba la instruccin: [Link] = False. 19. Haga un clic en el control del recuadro que contiene la lista de todos los objetos y elija mnuRojoElem. 20. Presione la tecla 22. Presione la tecla

[ S I para aumentar la sangra.

21. Escriba la instruccin: [Link]=vbRed.

[w] para pasar a la siguiente Inea.


para pasar a la siguiente lnea.

23. Escriba la instruccin: [Link] = False. 24. Presione la tecla ]icC 25. Escriba la instruccin: [Link] = False.

Visual Basic 6.0 en un colo libro 26. Presione la tecla [Enter para pasar a la siguiente lnea. 27. Escriba la instruccin: [Link] = True.

Cmo corregir el error del programa


Ejecute el programa y pruebe cmo funcionan los cambios de atributos y observe cmo se activa o se desactiva el tilde que indica si se ha colocado el atributo seleccionado.

3 I

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. Escriba un texto y seleccione una palabra o bloque.
3. En el men Atributos, elija la propiedad que desea aplicar, por ejemplo, Negrita.

4. Haga un clic en cualquier otra parte del texto escrito o seleccione otro bloque de texto.
5. En el men Atributos, verificar que la propiedad que activ, en este caso Negrita, aparece con una marca a pesar de que el texto seleccionado no tiene dicha propiedad.

6. En el men Atributos, elija la opcin Salir para volver al diseo del proyecto.
Como habr observado, el programa presenta un error: cada vez que se elige un atributo el tilde permanece en la opcin de men, an cuando se seleccione otro bloque de texto (que no tiene el atributo aplicado). Para solucionar este inconveniente, deber crear un procedimiento para el cuadro de texto, representado por el objeto RichTextBox, el que deber ejecutarse cada vez que cambie la seleccin del texto.

3
! a l

1. Despliegue la ventana del cdigo.

2. Haga un clic en el control del recuadro que lista los objetos del formulario y elija Texto. Observe que en el recuadro de los procedimientos se indica Change, el que es incorrecto para esta ocasin, ya que si se programara algo para el mismo, el cdigo se ejecutara cada vez que usted ingrese, borre o modifique el texto que est escribiendo. 3. Haga un clic en el control que lista los procedimientos y elija SelChange. Esto permitir crear el procedimiento que se ejecutar cada vez que cambia la seleccin del texto.

4. Si lo desea, puede borrar el procedimiento Change.


5. Presione la tecla

para aumentar la sangra.

6. Escriba la instruccin: If [Link] = False Then. 7. Presione la tecla

my luego la tecla mpara aumentar la sangra.


y luego la tecla 1- [ para disminuir la sangra.

8. Escriba la instruccin: [Link] = False. 9. Presione la tecla 1 -[

Trabajando con menes


10. Escriba la instruccin: Else. 11. Presione la tecla

y luego la tecla
y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

12. Escriba la instruccin: [Link]= True. 13. Presione la tecla 14. Escriba la instruccin: End If. 15. Presione la tecla IEZS!! . 16. Escriba la instruccin: If [Link] = False Then. 17. Presione la tecla

IEntercil y luego la tecla

para aumentar la sangra.

18. Escriba la instruccin: [Link]= False. 19. Presione la tecla

[ m y] luego la tecla [S] para disminuir la sangra.


y luego la tecla
para aumentar la sangra.

20. Escriba la instruccin: Else. 21. Presione la tecla 22. Escriba la instruccin: [Link] = True. 23. Presione la tecla = [ ] 25. Presione la tecla [ l . 26. Escriba la instruccin: If [Link] = False Then. 27. Presione la tecla

y luego la tecla [Bac"paeel para disminuir la sangra.

24. Escriba la instruccin: End If.

y luego la tecla [m] para aumentar la sangra.

28. Escriba la instruccin: [Link] = False. 29. Presione la tecla 31. Presione la tecla1 -[

y luego la tecla

para disminuir la sangra.

30. Escriba la instruccin: Else.

y luego la tecla (%ES] para aumentar la sangra.

32. Escriba la instruccin: [Link] = True. 33. Presione la tecla [Enter y luego la tecla 34. Escriba la instruccin: End If. 35. Presione la tecla1 -I

mpara disminuir la sangra.

36. Escriba la instruccin: Tamao = [Link]. Con esta instruccin se guarda en una variable el tamao que tiene el texto seleccionado o donde se encuentra ubicado el cursor. 37. Presione la tecla 1- ( 39. Presione la tecla 1- (

.
y luego la tecla ( E ]
para aumentar la sangra.

38. Escriba la instruccin: If Tamao = 14 Then.

r m l

Visual Basic 6.0 en un solo libro


40. Escriba la instruccin: [Link] = True. 41. Presione la tecla [Enter!. 42. Escriba la instruccin: [Link] = False.

.( 43. Presione la tecla 1


44. Escriba la instruccin: [Link] = False. 45. Presione la tecla [Enterl. 46. Escriba la instruccin: [Link] = False. 47. Presione la tecla

IEnter y luego la tecla [Backspacel para disminuir la sangra.

48. Escriba la instruccin: ElseIf Tamao = 12 Then. 49. Presione la tecla [Enter y luego la tecla 51. Presione la tecla (Enter. 52. Escriba la instruccin: [Link] = True.

mpara aumentar la sangra.

50. Escriba la instruccin: [Link] = False.

l . 53. Presione la tecla [


54. Escriba la instruccin: [Link] = False. 55. Presione la tecla IEnterci]. 56. Escriba la instruccin: [Link] = False. 57. Presione la tecla [Enter y luego la tecla (Backspace) para disminuir la sangra. 58. Escriba la instruccin: ElseIf Tamao = 10 Then. 59. Presione la tecla IEnterci] y luego la tecla 61. Presione la tecla . 62. Escriba la instruccin: [Link] = False. 63. Presione la tecla 64. Escriba la instruccin: [Link] = True.
. 65. Presione la tecla -

mpara aumentar la sangra.

60. Escriba la instruccin: [Link] = False.

66. Escriba la instruccin: [Link] = False. 67. Presione la tecla1 -[

y luego la tecla!-[

para disminuir la sangra. para aumentar la sangra.

68. Escriba la instruccin: Else. 69. Presione la tecla [Enter y luego la tecla 71. Presione la tecla @%$l. 70. Escriba la instruccin: [Link] = False.

Trabajando con rnenes

72. Escriba la instruccin: [Link] = False. 73. Presione la tecla [Enter.

74. Escriba la instruccin: [Link] = False.


75. Presione la tecla

76. Escriba la instruccin: [Link] = True.


para disminuir la sangra. 77. Presione la tecla [Enter y luego la tecla [E]

78. Escriba la instruccin: End If. 79. Presione la tecla

[m].
.

80. Escriba la instmccin: Colores = [Link]. 81. Presione la tecla ]c L l82. Escriba la instruccin: If Colores = O Then. Con los colores debe verificar el nmero que les corresponde a cada uno, por ejemplo: color negro tiene el valor O, el rojo tiene el valor 255, etctera. 83. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

84. Escriba la instruccin: [Link] = True. 85. Presione la tecla [Enter . 86. Escriba la instruccin: [Link] = False. 87. Presione la tecla -. 88. Escriba la instruccin: [Link] = False. 89. Presione la tecla IEnterLi] y luego la tecla 91. Presione la tecla
para disminuir la sangra. para aumentar la sangra.

90. Escriba la instruccin: ElseIf Colores = 255 Then.

[w) y luego la tecla

92. Escriba la instruccin: [Link] = False. 93. Presione la tecla [Enter . 94. Escriba la instruccin: [Link] = False. 95. Presione la tecla [Enter . 96. Escriba la instruccin: [Link] = True. 97. Presione la tecla [Enter y luego la tecla 98. Escriba la instruccin: Else. 99. Presione la tecla ] [ 101. Presione la tecla 1-(
y luego la tecla [Tabii;] para aumentar la sangra.

para disminuir la sangra.

100. Escriba la instruccin: [Link] = False.

Visual Basic 6.0 en un solo libro

102. Escriba la instruccin: [Link] = True.


103. Presione la tecla 1 .( 104. Escriba la instruccin: [Link] = False. 105. Presione la tecla

y luego la tecla1 -[

para disminuir la sangra.

106. Escriba la instruccin: End If. Pruebe el programa y verifique cmo se comporta el men con respecto a los atributos que tiene el texto seleccionado o dnde est posicionado el cursor.

Cmo crear un formulario Acerca de


Visual Basic cuenta con una serie de formularios prearmados, de los cuales ya se utiliz uno. Pero en este programa se ver la utilizacin del formulario que tiene el formato Acerca de, para que este programa tenga la apariencia que poseen todas las aplicaciones de Windows.

1. En el men Proyecto, elija la opcin Agregar formulario. Visualizar el cuadro con todos los tipos de formularios disponibles.

2. Elija el tipo de formulario Cuadro de dilogo Acerca de.

3. Haga un clic en el botn Abrir y aparecer un formulario, como el que muestra


la figura 11.10.
ici Proyecto1 - f r d b o u t (Form)
i r

AFPSF .ID ~ UiAnli

Figura 11.10 Formulario prearmado de Visual Basic

Observe que este formulario tiene el nombre frmAbout y, si desea visualizar el cdigo del mismo, ver que posee instrucciones que se encargan de reemplazar el texto provisono ("Ttulo de la aplicacin","Versin", etc.) por la informacin que posee el proyecto.

Trabajando con menes

rm

4. Abra el formulario Formatos para poder asignarle el procedimiento que ejecutar y mostrar el formulario Acerca de.
5. Haga un clic en la barra de men, donde est la opcin Acerca de.

...

6. Presione la tecla

mpara aumentar la sangra.

7. Escriba la instruccin: frmAbouLShow 1. El valor 1 hace que el formulario se comporte como modal, es decir que no podr continuar con las tareas del formulario Formatos hasta que haga un clic en el botn Aceptar. Pruebe qu muestra este formulario Acerca de.

1. En el rnenh Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. Haga un clic en la opcin de men Acerca de... y ver el formulario con informacin en algunas de las etiquetas o texto fijo.

3. Haga un clic en el botn Aceptar para volver al formulario que tiene el men.

4. En el men Archivo, elija la opcin Salir para volver al diseo del proyecto.

Si desea colocar usted la informacin de este formulario y que la programacin no se encargue de completar los datos con la informacin del proyecto, deber eliminar el procedimientoque carga el formulario Form-Loado. Luego tendr usted que reemplazar el texto colocado en los controles Labels y aplicarles el formato o apariencia deseado (modificando las propiedades que considere oportunas).

Cmo asignar teclas rpidas a los elementos de men


Todas las aplicaciones, adems de poseer una barra de men con las diferentes acciones que se pueden ejecutar, tienen asignadas teclas rpidas para algunos elementos de men. Por ejemplo, cuando desea copiar texto seleccionado en un procesador de textos, puede presionar simultneamente las teclas ICtrl]O y para pegar ICtrl]m. La combinacin de teclas rpidas asociadas a una opcin o elemento de men, se visualiza a la derecha de la misma. A continuacin se indicarn los pasos para asignar teclas rpidas a las opciones Negrita y Cursiva del men texto del programa que se est desarrollando.

3
p J

1. Abra el formulario que posee la barra de men, en este caso: Formatos. 2. En el men Herramientas,elija la opcin Editor de m& o el icono correspondiente.

3. Haga un clic sobre el elemento de men &Negrita.

a
II

4. Haga un clic en el control del recuadro Shortcut y elija la opcin Ctrl+N.


5. Haga un clic sobre el elemento de men &Cursiva.
6. Haga un clic en el control del recuadro Shortcut y elija la opcin Ctrl+K.

7. Haga un clic sobre el elemento de men &Subrayado.

Visual Basic 6.0 en un solo libro 8. Haga un clic en el control del recuadro Shortcut y elija la opcin Ctrl+S. La Figura 11.1 1 muestra el cuadro del editor de menes con las combinaciones de teclas rpidas asociadas a los elementos de men.
Aceptar L-

9. Haga un clic en el botn Aceptar para finalizar la modificacin del men.

10. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

Figura 11.11 Asignacin de teclas rpidas a los elementos de men

Pruebe el programa para verificar si las combinaciones de teclas asociadas a los elementos de men funcionan correctamente.

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Escriba un texto de prueba.

3. Seleccione un bloque de texto.


4. Presione simultneamente las teclas to seleccionado.

m@ para asignar el atributo negrita al tex-

5. Presione simultneamente las teclas [ C t r l l apara asignar el atributo cursiva al texto seleccionado.

6. Presione simultneamente las teclas texto seleccionado.

para asignar el atributo subrayado al

Si hace un clic en el men Atributos, podr observar las combinaciones de teclas asociadas tal como lo muestra la figura 11.12.
1l i l Formatos

Figura 11.12 Muestra de las combinaciones de teclas en el men

Utilizacin de cuadros de dilogo

Qu es un objeto de dilogo comn


Un objeto de dilogo comn es una herramienta que permite mostrar un cuadro de dilogo estndar del entorno de Windows. Los cuadros de dilogo que puede mostrar un objeto de dilogo comn son cinco, y permiten realizar las operaciones ms comunes que pueden requerirse de una aplicacin. Los cuadros de dilogo comunes actan como un mtodo del objeto, y mediante las propiedades del mismo se puede controlar su operacin. Los mtodos que presentan los cuadros de dilogo estndar son los siga-~ientes:

Mtodo ShowOpen ShowSave ShowPrinter ShowFont ShowColor

Cuadro de ditilogo Abrir Guardar como Imprimir Fuente Color

En este captulo se crear una aplicacin apta para crear y modificar cualquier archivo de texto, utilizando algunos de los cuadros de dilogo ya mencionados.

Cmo crear un programa con cuadros de dialogo


Como se indic ms arriba, en este captulo se detallarn los pasos para crear un pequeo procesador de texto, como WordPad o como Block de notas, que permita:
J
J

Abrir un archivo de texto. Modificar el texto del archivo. Guardar la informacin modificada. Guardar la informacin con otro nombre (Guardar como). Cambiar el tipo de letra. Modificar el color del bloque de texto seleccionado.

J
J J J

En el captulo siguiente se agregarn las acciones para interactuar con Windows, es decir, la posibilidad de copiar, cortar o pegar informacin. Los controles que se utilizarn para este programa son los siguientes:

Visual Basic 6.0 en un solo libro


RichTextBox Para crear un cuadro de texto que permita mostrar el contenido de un archivo de texto y crear un archivo nuevo.

CommonDialog Para poder asociar un mtodo que permita mostrar un cuadro de dilogo. Este control no se ve durante la ejecucin del programa y su funcin es permitir el uso de los cuadros de dilogo. Por lo tanto puede ubicarse en el formulario en cualquier lugar e incluso, puede ser tapado por otro objeto. Ser necesario ejecutar varias operaciones y como en toda aplicacin se crear un men que contenga las opciones comunes al men Archivo: Abrir, Guardar, Guardar como, Cerrar y Salir, las opciones del men Atributos: Fuente y Color, y las opciones del men Edicin: Copiar, Cortar y Pegar, las que desde el inicio del programa debern mostrarse deshabilitadas.

3 1.

Inicie una sesin de Visual Basic.

2. Deje marcada la opcin EXE estndar.

3. Haga un clic en el botn Abrir para comenzar a trabajar.

4. Mueva el puntero del mouse sobre la ventana Posicin del formulario y elija la ubicacin que tendr la ventana de formulario.
5. Agrande un poco el formulario a fin de que sirva para crear notas, cartas, etc.

6. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


7. Haga doble clic sobre la propiedad Caption y escriba: Archivo de texto.

8. Presione la tecla IEnterci) para finalizar.


9. Haga doble clic sobre la propiedad Icon y elija un icono que represente a este

programa, por ejemplo: elija el archivo [Link], que se encuentra en la carpeta que muestra la figura 12.1.
10. En el men Herramientas, elija la opcin Editor de mens o el icono correspondiente.

1 1 . En el recuadro Caption escriba: &Archivo.

m ir icono . iuscar en: E

Figura 12.1 Carpeta donde se encuentra el icono que acompaar al formulario

Utilizacin de cuadros de dilogo 12. Presione la tecla 1 -(

para pasar al recuadro Name y escriba: mnuArchivo.

13. Haga un clic en el botn Siguiente o presione la tecla [Enter. 14. En el recuadro Caption escriba: &Abrir. 15. Presione la tecla

...

mpara pasar al recuadro Name y escriba: mnuAbrirElem.

16. Haga un clic en el control del recuadro Shortcut y elija Ctrl+A. 17. Haga un clic en el botn con la flecha hacia la derecha para indicar que es un elemento que depende de &Archivo. 18. Haga un clic en el botn Siguiente o presione la tecla (Entercil. 19. En el recuadro Caption escriba: &Guardar. 20. Presione la tecla

mpara pasar al recuadroNarne y escriba. mnuGuardarElem.

21. Haga un clic en el control del recuadro Shortcut y elija Ctrl+G. 22. Haga un clic en el botn Siguiente o presione la tecla [Entercil. 23. En el recuadro Caption escriba: G&uardar Como

....

24. Presione la tecla ( E para ) pasar al recuadro Name y escriba:

mnuGuardarComoElem.
25. Haga un clic en el botn Siguiente o presione la tecla .
26. En el recuadro Caption escriba: &Cerrar.

27. Presione la tecla 1 -

para pasar al recuadro Name y escriba: rnnuCerrarElem.

28. Desmarque la opcin Enabled para que al iniciar la ejecucin del programa esta opcin est deshabilitada. Luego en la programacin del cdigo se la habilitar. 29. Haga un clic en el botn Siguiente o presione la tecla [Enter.
30. En el recuadro Caption escriba: -.

31. Presione la tecla

para pasar al recuadro Name y escriba: mnulnea.

32. Haga un clic en el botn Siguiente o presione la tecla [Enter. 33. En el recuadro Caption escriba: &Salir.
34. Presione la tecla

mpara pasar al recuadro Name y escriba: mnuSalirElem.

35. Haga un clic en el botn Siguiente o presione la tecla [Enter. 36. Haga un clic en el botn con la flecha a la izquierda para volver a la altura de la opcin &Archivo. 37. En el recuadro Caption escriba: &Edicin. 38. Presione la tecla
para pasar al recuadro Name y escriba: mnuEdicion.

39. Haga un clic en el botn Siguiente o presione la tecla 1 I,

Visual Basic 6.0 en un solo libro


40. En el recuadro Caption escriba: &Copiar. 41. Presione la tecla1 (

para pasar al recuadro Name y escriba: rnnuCopiarElem.

42. Haga un clic en el control del recuadro Shortcut y elija Ctrl+C. 43. Haga un clic en el botn con la flecha hacia la derecha para indicar que es un elemento que depende de &Edicin. 44. Desmarque la opcin Enabled para que al iniciar la ejecucin del programa esta opcin est deshabilitada. 45. Haga un clic en el botn Siguiente o presione la tecla .l [ 46. En el recuadro Caption escriba: Cdkortar. 47. Presione la tecla

para pasar al recuadro Name y escriba: mnuCortarElem.

48. Haga un clic en el control del recuadro Shortcut y elija Ctrl+X. 49. Desmarque la opcin Enabled para que al iniciar la ejecucin del programa esta opcin est deshabilitada. 50. Haga un clic en el botn Siguiente o presione la tecla [Enter. 51. En el recuadro Caption escriba: &Pegar. 52. Presione la tecla1 -(

para pasar al recuadro Name y escriba: mnuPegarElem.

53. Haga un clic en el control del recuadro Shortcut y elija Ctrl+V. 54. Desmarque la opcin Enabled para que al iniciar la ejecucin del programa esta opcin est deshabilitada. 55. Haga un clic en el botn Siguiente o presione la tecla 1 .-[ 56. Haga un clic en el botn con la flecha a la izquierda para volver a la altura de la opcin &Archivo y &Edicin. 57. En el recuadro Caption escriba: A&tributos.

58. Presione la tecla 1 -(

para pasar al recuadro Name y escriba: mnuAtributos.

59. Haga un clic en el botn Siguiente o presione la tecla [=l. 60. En el recuadro Caption escriba: &Fuente.... 61. Presione la tecla1 (

para pasar al recuadro Name y escriba: mnuFuenteElem.

62. Haga un clic en el control del recuadro Shortcut y elija Ctrl+F. 63. Haga un clic en el botn con la flecha hacia la derecha para indicar que es un elemento que depende de A&tributos.

64. Haga un clic en el botn Siguiente o presione la tecla


65. En el recuadro Caption escriba: &Color....

[m].

66. Presione la tecla [Tab] para pasar al recuadro Name y escriba: mnuColorElem.

Utilizacin de cuadros de dilogo


67. Haga un clic en el botn Aceptar para finalizar con la creacin del men. La figura 12.2 muestra cmo se vern las opciones de men en el diseo del formulario.

p
- .
,
I

. . . . . . . .
. . . .
. .

Fcientr

Ltrltt

Color -

.,.

-- i

. . . . . .

Figura 12.2 Opciones del men en modo diseo

Ahora slo restan los pasos finales del diseo del formulario que servir como interfaz de usuario. Estos pasos son: colocar un cuadro de texto tipo RichText donde se abrirn los archivos, modificar los atributos (se podr crear uno nuevo), y crear un objeto de dilogo comn que permitir la ejecucin de los cuadros de dilogo estndar (abrir, guardar, etctera). Pero antes de colocar estos objetos es necesario cargar los componentes que se utilizarn y que no estn en la caja de herramientas.

1 . En el men Proyecto, elija la opcin Componentes y aparecer el cuadro que utiliz en el captulo anterior para agregar el control RichText. 2. Marque el componente Microsoft Comrnon Dialog Control 6.0.

3. Utilice la barra de desplazamiento y marque, si no lo estuviera ya, el componente Microsoft Rich T x Control 6.0.

4. Haga un clic en el botn Aceptar y ambos controles se agregarn a la caja de herramientas.

Los pasos para trabajar con los controles u objetos necesarios para finalizar el diseo del formulario son los siguientes: 1. Elija la herramienta CommonDiaiog y dibuje un cuadrado en algn lugar del formulario. Cuando suelte el mouse. el objeto tomar el formato de un icono, como muestra la figura 12.3.

1P Proyecto1 - Fornl [Form]

Figura 12.3 Objeto de dilogo comn insertado en el formulario

6 Archivo de texto

Visual Bacic 6.0 en un solo libro


2. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
3. Haga doble clic sobre la propiedad CancelError para cambiar su estado a True. Activar esta propiedad permite que Visual Basic detecte un error cuando el usuario utiliza el botn Cancelar de cualquier cuadro de dilogo.

4. Elija la herramienta RichTextBox y dibuje un objeto que ocupe todo el formulario, tapando el objeto CommonDialog.

5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


6. Haga doble clic sobre la propiedad Text y presione la tecla [Delete] para borrar su contenido.
7. Presione la tecla [Enterci) para finalizar.

8. Haga un clic en el control de la propiedad ScroilBars y elija 3 - Both. 9. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

10. Indique el nombre que tendr el formulario, por ejemplo: Editor.


11. Haga un clic en el botn Guardar y aparecer el cuadro solicitando el nombre del proyecto.

12. Indique el nombre del proyecto, por ejemplo, utilice el mismo que el del formulario.

13. Haga un clic en el botn Guardar. La figura 10.4 muestra el diseo del forrnulario para el Editor.

Figura 12.4 Diseo del formulario para el Editor de texto

Utilizacin de cuadros de dilogo

Instrucciones necesarias para el programa


Dado que este programa posee muchas partes y cada una de ellas con varias instrucciones y propiedades, antes de escribir el cdigo de programacin Visual Basic, conviene aprender un poco de estas instrucciones.

Propiedades para el objeto de dilogo comn


El objeto CommonDialog tiene propiedades que permiten determinar los tipos de archivo que mostrar o que grabar. Si se indican varios tipos de archivos, se puede definir cul de ellos ser el tipo predeterminado. Estas propiedades son:
J

Filter: Permite determinar el tipo de archivo que mostrar o grabar el cuadro de dilogo. Se debe indicar la descripcin del tipo de archivo y luego la extensin del mismo. Tambin es posible indicar varios tipos de archivo. La sintaxis es la siguiente: [Link]= descripcin1lextensinl Idescripcin2lextensin2. ..
Ejemplo 1:

[Link]="Dibujosde Paint (*.bmp) I *.bmp" Muestra los archivos que tienen extensin .BMP. En el cuadro de dilogo, en el recuadro Tipo muestra el texto Dibujos de Paint (*.bmp).
Ejemplo 2:

[Link]="Bitmaps (*.bmp) I *.bmp I Metatiles (*.wmf) I


*.wmf Muestra los archivos que tienen extensin .BMP o .WMF.
J

FilterIndex: Se utiliza cuando en la propiedad Filter se indican dos o ms tipos de archivo. Permite elegir el tipo de archivo que aparecer primero en la lista de Tipos de archivo. Esta eleccin se realiza indicando el nmero de orden del tipo de archivo que figura en la lista de la propiedad Filter. Si se omite, mostrar el primero de la lista. Por ejemplo:
[Link]="Bitmaps (*.bmp) I *.bmp I Metatiles (*.wmf) I *.wmf

Muestra como tipo de archivo predeterminado a los que tienen extensin .wmf.

Qu es un archivo RTF
Es importante que conozca el significado de los archivos RTF (Rich Text Formar). Este es un formato que tienen algunos archivos de texto, es decir que no son simples

Visual Basic 6.0 en un solo libro


archivos de texto (.TXT) sino que estn "enriquecidos" con formatos (tipo de letra, atributos, colores, etc.). Los archivos que estn almacenados con este formato tienen una extensin .RTF y contiene texto, con todos los atributos comunes que puede almacenar un archivo de Microsoft Word. Para el programa que se desea crear en este captulo, usted necesitar conocer cmo puede abrir un archivo de texto comn (solamente texto) y un archivo de texto enriquecido (con formato RTF). Por lo tanto, deber utilizar dos mtodos: uno para abrir y otro para cerrar estos tipos de archivos.

El mtodo LoadFile
El mtodo LoadFile se aplica a los objetos RichTextBox y sirve para abrir un archivo y mostrarlo a travs de este objeto. Con este mtodo usted puede abrir un archivo de texto o de texto enriquecido y la sintaxis es la siguiente: objeto-RichTextBox. LoadFile nombre-archivo, tipo-archivo
J

Objeto-RichTextBox: Es el nombre del objeto RichTextBox que contendr al archivo que se abrir. Nombre-archivo: Es el nombre del archivo que se desea abrir dentro de un objeto RichTextBox. Tipo-archivo: Representa al tipo de archivo que se intenta abrir. Este argumento puede tener dos valores: rtfRTF que indica que es un archivo de texto enriquecido, o rtfText que representa los archivos comunes de texto.

El mtodo SaveFile
El mtodo [Link] se utiliza para guardar o almacenar un archivo, contenido en un objeto RichTextBox, en una unidad de disco. Con este mtodo puede almacenar un archivo de texto o de texto enriquecido, contenido en un objeto RichTextBox. La sintaxis es la siguiente: objeto-RichTextBox. SaveFile nmero-archivo, tipo-archivo
J

Objeto-RichTextBox: Es el nombre del objeto RichTextBox que contendr al archivo que se abrir. Nmero-archivo: Es un nmero que representa al archivo que se leer. Por lo general es el mismo nmero que se utiliz en la instruccin Open. Tipo-archivo: Representa al tipo de archivo que se intenta guardar. Este argumento puede tener dos valores: rtfRTF que indica que es un archivo de textos enriquecido, o rtffext que representa a los archivos comunes de texto.

Utilizacin de cuadros de dilogo

El cdigo de programacin
El cdigo de programacin para la opcin de men Abrir es el siguiente:

1. En el men Archivo del formulario, elija la opcin Abrir. Aparecer la ventana de cdigo lista para que ingrese las instrucciones para esta opcin de men. 2. Presione la tecla

mpara aumentar la sangra.

3. Escriba la instruccin: On Error GoTo Solucin.


4. Presione la tecla IEnter para pasar a la siguiente Inea.
5. Escriba la instruccin: [Link] = "Texto enriquecido (*.rtf)l*.rtfiTexto(*.txt)l*.txtW.

6. Presione la tecla [Enter para pasar a la siguiente Inea. 7. Escriba la instruccin: [Link]. Mostrar el cuadro de dilogo Abrir para el tipo de archivo .TXT. 8. Presione la tecla
para pasar a la siguiente Inea.

9. Escriba la instruccin: If CommonDialogl.Fi1terIndex= 1 Then. Con esta instruccin se intenta saber si el usuario eligi el tipo de archivo .TXT. 10. Presione la tecla y luego la tecla

11. Escriba la instruccin: [Link] [Link], rtfRTF. Se abrir el archivo con formato RTF y se lo exhibir en el objeto RichTextBox. 12. Presione la tecla 14. Presione la tecla rtiText. 16. Presione la tecla 18. Presione la tecla 1 -[
y luego la tecla 1 0 (

13. Escriba la instruccin: Else. y luego la tecla

mpara aumentar la sangra.

y luego la tecla IBackSpacel para disminuir la sangra.

mpara aumentar la sangra.


para disminuir la sangra.

15. Escriba la instruccin: [Link] [Link],

17. Escriba la instruccin: End If.


para pasar a la siguiente Inea.

19. Escriba la instruccin: ArchivoNuevo = [Link]. Asigna a la variable Archivo Nuevo el nombre del archivo seleccionado. Esta variable se utilizar en otros procedimientos, por lo tanto luego se la deber declarar en (General).
20. Presione la tecla

para pasar a la siguiente lnea.

21. Escriba la instruccin: [Link] = True, que habilita la opcin de men Cerrar.

Visual Basic 6.0 en un solo libro

22. Presione la tecla [Enter para pasar a la siguiente lnea.


23. Escriba la instruccin: [Link] = ArchivoNuevo. Esto tambin le da un toque profesional al programa, porque agrega a la barra de ttulo del formulario el nombre del archivo. 24. Presione la tecla LEnterci] para pasar a la siguiente lnea. 25. Escriba el marcador: Solucin:.
26. Presione la tecla LEnterci] para pasar a la siguiente lnea.

27. Escriba la instruccin: Exit sub. Si el usuario cancela el cuadro de dilogo, sale del procedimiento.

28. Haga un clic en el control del recuadro Objeto y elija (General).

29. Escriba la definicin de la variable: Dim ArchivoNuevo As String. La figura 12.5 muestra el cdigo correspondiente al elemento de men Abrir.

Figura 12.5 Cdigo de la opcin de men Abrir

En todas las aplicaciones Windows, en el men Archivo, se encuentran las opciones Guardar y Guardar como. En el programa que se est creando, tambin existen estas opciones y lo que se desea es que respondan de igual manera que todas las aplicaciones Windows. Es sabido que la opcin Guardar almacena la informacin del archivo con el mismo nombre y en la carpeta desde donde fue abierto, pero si el archivo no tiene nombre, entonces muestra el cuadro Guardar como. La opcin Guardar como permite almacenar un archivo nuevo o un archivo ya existente pero con otro nombre. En el cdigo escrito para la opcin Abrir, se utiliz una variable (ArchivoNuevo)que

Utilizacin de cuadros de dilogo


almacenaba el nombre del archivo abierto por esta instruccin. Es decir que el archivo tiene un nombre, y si se utiliza la opcin Guardar deber almacenar el archivo sin mostrar ningn cuadro para indicar el nombre. Si no se abre ningn archivo, la variable no tendr ningn valor asignado y por lo tanto, la opcin Guardar deber mostrar el cuadro Guardar como. El cdigo para el elemento u opcin de men Guardar es el siguiente:

1. En el men Archivo del formulario, elija la opcin Guardar. Aparecer la ventana de cdigo. Si ya estuviera en la ventana de cdigo, haga un clic en el control del recuadro que contiene la lista de objetos y elija mnuGuardarElem. 2. Presione la tecla

mpara aumentar la sangra.


para pasar a la siguiente lnea.

3. Escriba la instruccin: On Error GoTo Solucin. 4. Presione la tecla 1-( 5. Escriba la instruccin: If ArchivoNuevo = "" Then. Se pregunta si la variable que contiene el nombre del archivo est vaca. 6. Presione la tecla

[ w c yi ] luego la tecla m para aumentar la sangra.

7. Escriba la instruccin: [Link] = "Texto enriquecido (*.rtf)l*.rtflTexto(*.txt)l*.txtl'.Crea el filtro para el cuadro de dilogo que se abrir a continuacin. 8. Presione la tecla [Enter para pasar a la siguiente lnea. 9. Escriba la instruccin: [Link]. Como el archivo no tiene nombre, pues se trata de uno nuevo, muestra el cuadro de dilogo Guardar como.
10. Presione la tecla [Enter para pasar a la siguiente lnea.

11. Escriba la instruccin: ArchivoNuevo = [Link] en la variable el nombre del archivo para luego proceder a guardarlo. 12. Presione la tecla 14. Presione la tecla
y luego la tecla 1- ( para disminuir la sangra.

13. Escriba la instruccin: End If.


para pasar a la siguiente lnea.

15. Escriba la instruccin: If [Link] = 1 Then. Se trata de identificar el tipo de archivo elegido por el usuario. 16. Presione la tecla [Entercil y luego la tecla

17. Escriba la instruccin: RichTextBoxl.SaveFi1e [Link], rtfRTF. Guarda en un archivo tipo RTF la informacin contenida en el objeto RichTextBoxl. 18. Presione la tecla
y luego la tecla [ e para l disminuir la sangra.

19. Escriba la instruccin: Else.

mpara aumentar la sangra.

Visual Basic 6.0 en un solo libro


20. Presione la tecla [Entercl) y luego la tecla [ E para . ) aumentar la sangra. 21. Escriba la instruccin: [Link] [Link], rtfText. 22. Presione la tecla
y luego la tecla [S] para dismi~i)ir la ~mgra.
WI
!

23. Escriba la instruccin: End If.


24. Presione la tecla [ B para ) pasar a la siguiente lnea.

25. Escriba la instruccin: [Link] = ArchivoNuevo.

26. Presione la tecla [Entercil para pasar a la siguiente lnea.


27. Escriba el marcador: Solucin:.

28. Presione la tecla [EnterLllpara pasar a la siguiente lnea.


29. Escriba la instruccin: Exit Sub. La figura 12.6 muestra el procedimiento para la opcin de men Guardar.
l

uarc

em

3ick
7

--

mnuGuardarElem-Click[) On Error COTO Solucin If RrchivoNuevo = "" Then [Link] = "Texto enriquecido (*.rtf)( *.rtf (Texto (*.txt) ( *.txtw [Link] lrchivoNuevo = CommonDialogl.fi1ename

If ComonDialogl.Filter1ndex = 1 Then RichTextBoxl.SaveFi1e [Link], rtfRTF


RichTextBoxl.SaveFi1e ComonDialogl. f ilename, rtfText [Link] Exit Sub
L

RrchivoNuevo

Figura 12.6 Procedimiento para el elemento de men Guardar

Cuando se utiliza la opcin de men Guardar como en cualquier aplicacin y se elige un nombre de archivo existente, aparece un mensaje que solicita confirmacin del reemplazo de la informacin original del archivo elegido. El programa que se est desarrollando en este captulo debera mostrar este mensaje, y para ello se utilizar la funcin Dir la que permite buscar un archivo o carpeta. Por ejemplo, si desea buscar todos los archivos que tienen extensin .TXT en la carpeta Mis Documentos, puede escribir la funcin de la siguiente forma: Dir(C:Wis

Utilizacin de cuadros de dilogo Documentos\*.txt).Esta funcin devolver el nombre del primer archivo que tenga la extensin .TXT en la carpeta indicada, si no encuentra ninguno, devolver una cadena de longitud cero (" ").

1. En el men Archivo del formulario, elija la opcin Guardar como. Aparecer la ventana de cdigo. Si ya estuviera en la ventana de cdigo, haga un clic en el control del recuadro que contiene a la lista de los objetos del formulario y elija mnuGuardarComoElem. 2. Presione la tecla (Tabiul para aumentar la sangra.

3. Escriba la instruccin: On Error GoTo Solucin.


4. Presione la tecla (Enter para pasar a la siguiente lnea.
5. Escriba la instruccin: [Link] = "Texto enriquecido (*.rtf)lTexto(*.txt)l*.txtW.

6. Presione la tecla (Enter para pasar a la siguiente lnea. 7. Escriba la instruccin: [Link].

8. Presione la tecla 1 r

para pasar a la siguiente lnea.

9. Escriba la instruccin: If Dir(CommonDialogl.Fi1eName)o "" Then. La condicin escrita de esta forma expresa si existe el nombre de archivo buscado.

10. Presione la tecla [Enter y luego la tecla

para aumentar la sangra.

11. Escriba la instruccin: Respuesta = MsgBox("Desea reemplazar el archivo existente?", vbYesNo + vbcritical + vbDefaultButton2).
12. Presione la tecla1 -[
para pasar a la siguiente lnea.

13. Escriba la instruccin: If Respuesta = vbNo Then. 14. Presione la tecla 16. Presione la tecla1 -( y luego la tecla

C T ~ para ) aumentar la sangra.

15. Escriba la instruccin: Exit Sub. y luego la tecla (E) para disminuir la sangra.
para disminuir la sangra.

17. Escriba la instruccin: End If.


18. Presione la tecla [Enter y luego la tecla

19. Escriba la instruccin: End If. Con esta instruccin se cierra el primer If utilizado.

20. Presione la tecla 1-(

para pasar a la siguiente lnea.

21. Escriba la instruccin: ArchivoNuevo = [Link].

22. Presione la tecla IEn'o+ll para pasar a la siguiente lnea.


23. Escriba la instruccin: If [Link] = 1 Then. 24. Presione la tecla1 -(
y luego la tecla

mpara aumentar la sangra.

Visual Basic 6.0 en un solo libro

2 5 . Escriba la instruccin: [Link] [Link], rtfRTF. 2 6 . Presione la tecla 2 8 . Presione la tecla]ic-[


y luego la tecla
y luego la tecla
para disminuir la sangra.

2 7 . Escriba la instruccin: Else.

mpara aumentar la sangra.


para disminuir la sangra.

2 9 . Escriba la instruccin: [Link] [Link], rtfText. 3 0 . Presione la tecla

[w] y luego la tecla [BackSpace]

3 1 . Escriba la instruccin: End If. 32. Escriba la instruccin: [Link] = ArchivoNuevo. 3 3 . Presione la tecla

mpara pasar a la siguiente lnea.


para pasar a la siguiente lnea.

34. Escriba el marcador: Solucin:.

35. Presione la tecla [


de men Guardar como.

3 6 . Escriba la instruccin: Exit Sub. La figura 12.7 muestra el cdigo para la opcin

Private Sub mnuGuardarComoElem~Click() On Error GoTo Solucibn [Link] = wTexto enriquecido T*.rtf) 1 *.rtf 1 Texto (*.txt) 1 *.txtN [Link] If Dir (ComnonDialogl. f llename) <> "" Then Respuesta = FlsgB~x(~Desea reemplazar el archivo existente?", I vbYesNo + vbcritical + vbDefaultButton2) If Respuesta = vbNo Then Exit Sub End If l End If ArchivoNuevo [Link] If [Link] = 1 Then [Link] [Link], rtfRTF Else RichTextBoxl.SaveFi1e [Link], rtfText End If Forml. Caption = ArchivoNuevo Solucin: Exit Sub End Sub

Figura 12.7 Procedimiento para el elemento de men Guardar como

Las instrucciones para el elemento de men Cerrar, slo deben borrar el contenido del cuadro de texto, vaciar el contenido de la variable que contiene el nombre del archivo y eliminar el nombre del archivo de la barra de ttulo.

Utilizacin de cuadros de dilogo La instruccin simplemente sale del programa.

1. Haga un clic en el control del recuadro que contiene la lista de objetos y elija mnuCerrarElem. No puede utilizar la instmccin Cerrar del men Archivo del formulario porque est deshabilitada.
2. Presione la tecla [ m ] para aumentar la sangra.

3. Escriba la instruccin: [Link] = "".


4. Presione la tecla [m]
6. Presione la tecla 1 -(
para pasar a la siguiente lnea. para pasar a la siguiente lnea.

5. Escriba la instruccin: ArchivoNuevo = "". 7. Escriba la instruccin: [Link] = "Archivo de texto".

8. Haga un clic en el control del recuadro que contiene la lista de objetos y elija mnuSalirElem.
9. Presione la tecla1 -(
para aumentar la sangra.

10. Escriba la instruccin: End.


Slo resta determinar cundo habilitar o deshabilitar la opcin de men Cerrar. En el cdigo escrito para la opcin Abrir, se habilita la opcin de Cerrar el archivo, pero si est creando un archivo nuevo y desea "limpiar la pantalla", debera poder utilizar la opcin Cerrar. Para solucionar este problema se puede escribir un cdigo para el objeto RichTextBoxl e indicar en el mismo cundo debe estar habilitada o no esta opcin de men.

1. Haga un clic en el control del recuadro que contiene la lista de objetos y elija RichTextBoxl o haga doble clic sobre el objeto en el formulario.
2. Presione la tecla1 -( para aumentar la sangra.

3. Escriba la instruccin: If [Link] = "" Then.


4. Presione la tecla 1-(
6. Presione la tecla 1-[

y luego la tecla1 -(

para aumentar la sangra.

5. Escriba la instruccin: [Link] = False.


y luego la tecla [Backspace] para disminuir la sangra. y luego la tecla y luego la tecla1 -(
para aumentar la sangra. para disminuir la sangra.

7. Escriba la instruccin: Else.

8. Presione la tecla1 -[

9. Escriba la instruccin: [Link] = True.

-( 10. Presione la tecla1

11. Escriba la instruccin: End If.

Ejecute el programa para probar su funcionamiento. Verifique las acciones de creacin, apertura, modificacin, grabacin, grabacin con otro nombre, cierre del archivo y salida del programa.

Visual Basic 6.0 en un solo libro


Si prob el funcionamiento del programa, tal vez habr notado que tiene algunos defectos que podran ser solucionados. Si no se ha dado cuenta, pruebe las acciones que se detallan a continuacin:
J

Escriba en el cuadro de texto y luego abra un archivo. Observe que el archivo es abierto pero destruyendo la informacin que usted escribi. El error: no verifica si hay informacin sin grabar. Haga unas modificaciones sobre el archivo abierto y luego cierre el archivo. Otra vez ocurre el mismo error. Escriba algo en el cuadro de texto y luego salga del programa, nuevamente perder la informacin ingresada.

Cmo mejorar el programa


Para que el programa no pierda la informacin no guardada, se necesitar una variable que sirva de seal, es decir que indique cundo el texto que aparece en el cuadro de texto ha sufrido modificaciones o no. Esta variable podra tomar dos valores: O si no hay modificaciones y 1 cuando se modific algo en el cuadro de texto. Adems se necesitar un cuadro de mensaje que permita elegir si se desea o no perder la informacin no guardada. Por ejemplo: si modific un archivo abierto y luego quiere salir del programa, que el cuadro pregunte qu se hace con los cambios realizados.

% Las modificaciones, en las figuras, se mostrarn resaltadas.


A continuacin se detallan los pasos para:
J

Definir la variable. Asignar un valor al cargar el formulario, es decir al iniciar el programa. Modificar el cdigo de programacin del elemento de men Abrir.

J
J

1. Despliegue la ventana de cdigo. 2. Haga un clic en el control del recuadro que contiene la lista de objetos y elija (General).

3. Debajo de la definicin de la primera variable, escriba: Dim Datos As Byte.


4. Haga un clic en el control del recuadro que contiene la lista de objetos y elija Form.
5. Presione la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: Datos = O. De esta forma se est indicando que al iniciar el programa, no hay modificaciones en el cuadro de texto.

7. Haga un clic en el control del recuadro que contiene la lista de objetos y elija mnuAbrirElem.

Utilizacin de cuadros de dilogo

8. Mueva el cursor al final de la instruccin On Error GoTo Solucin.


9. Presione la tecla1 -( para pasar a la siguiente lnea. 10. Escriba la instruccin: If Datos = 1 Then.

11. Presione la tecla

[ e y luego ! presione la tecla [m] para aumentar la sangra.

12. Escriba la instruccin: Respuesta = MsgBox("Est seguro de perder los datos no grabados?", vbYesNo + VbQueStion + vbDefaultButton2, "Canceiacin").

13. Presione la tecla [Enter para pasar a la siguiente lnea.


14. Escriba la instruccin: If Respuesta = vbNo Then. 15. Presione la tecla

my luego la tecla1-(
y luego la tecla

para aumentar la sangra.

16. Escriba la instruccin: Exit Sub. 17. Presione la tecla 1 I para disminuir la sangra.

18. Escriba la instruccin: End If.


1J Proyecto1 - Forml
[COdigo]

--

--

--

Private Sub mnuAbrirElem ClickO

Respuesta = R E s t seguro de perder l a s d a t o s no grabada^?^, 1f Respuesta = ~ m o Exit s q

1
i

End If ComonDialogl ShowOpen If [Link] = 1 Then RichTextBoxl.LoadFi1e [Link], rtfRTF RichTextBoxl LoadFile ComonDialogl f ilenarne, rtfText

tion = ArchivoNuevo

i,i

''

Figuro 12.8 Procedimiento completo prd lk

19. Presione la tecla

y luego la tecla [Backspacg para disminuir la sangra.

20. Escriba la instruccin: End If.

Visual Basic 6.0 en un solo libro


21. Coloque el cursor al final de la instruccin [Link] = ArchivoNuevo. 22. Presione la tecla
para pasar a la siguiente lnea.

23. Escriba la instruccin: Datos = O. Como se abri un archivo, no hay cambios en su informacin, por lo tanto la seal debe indicarlo. La figura 12.8 (pgina anterior) muestra el cdigo completo de la opcin de men Abrir. A continuacin se describen los pasos para modificar los elementos de men Guardar y Guardar como.

1. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija mnuGuardarElem. 2. Coloque el cursor al final de la instruccin [Link] = ArchivoNuevo.

3. Presione la tecla 1-(

para pasar a la siguiente lnea.

4. Escriba la instruccin: Datos = O. Con esta instruccin se indica que todos los cambios ya fueron guardados. 5. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija mnuGuardarComoElem.
6. Coloque el cursor al final de la instruccin [Link] = ArchivoNuevo.

7. Presione la tecla1C -

para pasar a la siguiente lnea.

8. Escriba la instruccin: Datos = 0.


La modificacin que se debe realizar para el elemento de men Cenar est formada por varios pasos:

l. Haga un clic en el control del recuadro que contiene la lista de objetos y elija mnuCerrarElem.

2. Coloque el cursor al principio de la instruccin [Link] = "". 3. Presione la tecla [Enter y luego la tecla
4. Escriba la instruccin: If Datos = 1 Then. para colocar el cursor en la nueva lnea.

5. Presione la tecla [Enter)y luego la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: Respuesta = MsgBox("Est seguro de perder los datos no grabados?", vbYesNo + vbQuestion + vbDefaultButton2, "(2mcekin").

7. Presione la tecla (

' 1para pasar a la siguiente lnea.

8. Escriba la instruccin: If Respuesta = vbNo Then.

9. Presione la tecla [Enter y luego la tecla


10. Escriba la instruccin: Exit Sub.

mpara aumentar la sangra.

para disminuir la sangra. 11. Presione la tecla [Enter y luego la tecla (S)

Utilizacin de cuadros de dilogo


12. Escriba la instruccin: End If. 13. Presione la tecla
y luego la tecla
( = e l

para disminuir la sangra.

14. Escriba la instruccin: End If. 15. Coloque el cursor al final de la instruccin [Link] = "Archivo de texto".

16. Presione la tecla

para pasar a la siguiente lnea.

17. Escriba la instruccin: Datos = O . La figura 12.9 muestra el cdigo completo de la opcin de men Cerrar.
Las instrucciones que se deben agregar a la opcin de men Salir, son las que se detallan a continuacin:
n Proyeciol
Forml ICdiool

rrr

Datas = 1 TBc Respuesta = IIspBaxf _I vf>VeSNa vbQuestian If Respuesta = End If

+ vbDefaultB1atton2, w ~ e l a c i n " )

Ar c h ivoNuevo = [Link] = "Archivo de texto" Datos = O


End S u b

Figura 12.9 Procedimiento completo de la opcin Cerrar

#a

1. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija mnuSalirElem.

2. Coloque el cursor al principio de la instruccin End. 3. Presione la tecla [Enter y luego la tecla @para colocar el cursor en la nueva lnea. 4. Escriba la instruccin: If Datos = 1 Then.
5. Presione la tecla

IE"'er y luego la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: Respuesta = MsgBox("Est seguro de perder los datos no grabados?", vbYesNo + vbQuestion + vbDefaultButton2, "Cancelacin").

7. Presione la tecla (le;jl para pasar a la siguiente lnea.


8. Escriba la instruccin: If Respuesta = vbNo Then.

Visual Basic 6.0 en un solo libro


9. Presione la tecla 1-[

y luego la tecla1-(

para aumentar la sangra.

10. Escriba la instruccin: Exit Sub. 11. Presione la tecla [Enter y luego la tecla [Backspaeel para disminuir la sangra. 12. Escriba la instruccin: End If. 13. Presione la tecla

y luego la tecla

para disminuir la sangra.

14. Escriba la instruccin: End If.


Slo falta un pequeo detalle, cada vez que se modifique el texto la variable Datos deber tomar el valor 1 (que hasta ahora no se le ha asignado).

1. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija RichTextBoxl. 2. Coloque el cursor al final de la instruccin: [Link]= False. 3. Presione la tecla 1-c 5. Presione la tecla) -[
y escriba la instruccin: Datos = 0.

4. Coloque el cursor al final de la instruccin: [Link] = True.


y escriba la instruccin: Datos = 1.

Ejecute el programa y verifique cmo trabajan las modificaciones realizadas a estos elementos u opciones de men. Maximice la ventana del programa y observar que el cuadro de texto donde est trabajando permanece con el mismo tamao. Si desea que el cuadro de texto, representado por el objeto RichTextBoxl, tenga el mismo tamao que la ventana del formulario, deber crear un procedimiento para que se ejecute cuando el formulario cambie su tamao. Tanto el objeto Form como el objeto RichTextBoxl poseen propiedades que determinan el alto y el ancho. Estas propiedades son las siguientes:

Form ScaleWidth ScaleHeight

Text Width Height

Controla Ancho del objeto Alto del objeto

1. Despliegue la ventana de cdigo.

2. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Form.
3. Haga un clic en el control del recuadro de los procedimientos y elija Resize.
4. Presione la tecla

(m] para aumentar la sangra.


para pasar a la siguiente lnea.

5. Escriba la instruccin: [Link] = ScaleWidth.


6. Presione la tecla 1-[

Utilizacin de cuadros de dilogo


7. Escriba la instruccin: [Link] = ScaleHeight.

Ia
d

8. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.


Ejecute el programa, cambie el tamao de la ventana, maximcela y comprobar cmo cambia tambin el tamao del cuadro de texto.

El cdigo para modificar la apariencia del texto


Antes de comenzar con los dos procedimientos que permitirn el cambio de la apariencia del texto seleccionado, es necesario que conozca a la propiedad Flags. Esta propiedad pertenece al objeto CommonDialog y determina los parmetros necesarios para mostrar ciertos cuadros de dilogo comunes. Por ejemplo, para el cuadro de dilogo Fuentes deber indicar si listar los tipos de letras disponibles para pantalla, para la impresora o para ambas, en el caso del cuadro de dilogo Color, necesitar indicar el cdigo de colores que tomar. Los valores de la propiedad Flags para el cuadro de dilogo comn Fuentes son los siguientes:

Valor cdlCFPrinterFonts cdlCFScreenFonts cdlCFBoth

Significado Muestra las fuentes de impresora Muestra las fuentes de pantalla Muestra las fuentes de impresora y de pantalla

Los valores de la propiedad Flags para el cuadro de dilogo comn Color son los siguientes:

a 3
1

Valor cdlCCRGBInit cdCClFullOpen cdlCCPreventFullOpen

Sifl~cado Devuelve el RGB del color elegido por el usuario Presenta todo el cuadro de Colores Desactiva el botn Colores personalizados

1. Despliegue la ventana del cdigo. 2. Haga un clic en el control del recuadro que muestra la lista de los objetos y elija mnuFuenteElem.
3. Presione la tecla
para aumentar la sangra. para pasar a la siguiente lnea.

4. Escriba la instruccin: On Error GoTo Solucin. 5. Presione la tecla 7. Presione la tecla


6. Escriba la instruccin: [Link]= cdlCFBoth.

[ w l para pasar a la siguiente lnea.


para pasar a la siguiente lnea.

8. Escriba la instruccin: [Link]. 9. Presione la tecla


10. Escriba la instruccin: With RichTextBoxl. La instruccin With ejecuta las

Visual Basic 6.0 en un solo libro

instrucciones indicadas entre esta instruccin y End With para un objeto determinado, ahorrando el tiempo de escritura y de ejecucin sobre un mismo objeto. En este caso se modificarn las propiedades de apariencia del texto seleccionado en el objeto RichTextBoxl. 11. Presione la tecla

y luego la tecla

para aumentar la sangra.

12. Escriba la instruccin: .SelFontName= [Link] esta instruccin se asigna el mismo tipo de letra, elegido en el cuadro de dilogo, al objeto RichTextBoxl. 13. Presione la tecla 15. Presione la tecla 17. Presione la tecla 19. Presione la tecla 21. Presione la tecla
Forml [Cdigo)

mpara pasar a la siguiente linea.


para pasar a la siguiente lnea.

14. Escriba la instruccin: .SelFontSize = [Link].


16. Escriba la instruccin: .SelBold = CommonDialogl.FontBo1d.

mpara pasar a la siguiente lnea.

18. Escriba la instruccin: .SelItalic = [Link].

my luego la tecla

para disminuir la sangra.

20. Escriba la instruccin: End With. para pasar a la siguiente linea.

m@lm

[Link] = cdlCFBoth [Link] With RichTextBoxl .SelFontName = [Link] .SelFontSize = [Link] .SelBold = [Link] .SelItalic = [Link] End With

Figura 12.10 Procedimiento para la opcin Fuente

22. Escriba la instruccin: Solucin:.

23. Presione la tecla

para pasar a la siguiente lnea.

24. Escriba la instruccin: Exit Sub. La figura 12.10 (pgina anterior) muestra el cdigo completo para cambiar el tipo de letra al bloque de texto seleccionado.

Utilizacin de cuadros de dilogo

9
3

Puede escribir este procedimiento sin utilizar la instruccin With, para ello deber repetir delante de cada propiedad (las lneas que comienzan con un punto) el nombre del objeto (RichTextBoxl).

1. Haga un clic en el control del recuadro que lista los objetos del formulario y elija mnuColorElem. 2. Presione la tecla para aumentar la sangra. para pasar a la siguiente lnea. para pasar a la siguiente lnea.

3. Escriba la instruccin: On Error GoTo Solucin.

4. Presione la tecla 1-(


6. Presione la tecla

5. Escriba la instruccin: [Link] = cdlCCRGBInit. 7. Escriba la instruccin: [Link].


8. Presione la tecla [Enter para pasar a la siguiente lnea.

9. Escriba la instruccin: [Link] = [Link].


10. Presione la tecla (Enter para pasar a la siguiente lnea.

11. Escriba la instruccin: Solucin:.


12. Presione la tecla

[m] para pasar a la siguiente lnea.

13. Escriba la instruccin: Exit Sub.


14. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

3 Ahora tiene que probar el programa, es decir abrir un archivo de texto, colocarle los atributos de cambio de letra y color, y guardarlo como texto y como rtf. #"como Cuidado: Todos los cambios de apariencia realizados se perdern si lo guarda un archivo de texto (.TXT). Siempre que utilice colores y cambios de tipo
de letra o atributos, deber guardarlo como texto enriquecido (.RTF).

% gramar En el captulo siguiente se ver cmo interactuar con el entorno para poder prolos procedimientos para las opciones del men Edicin.

Interaccin con el entorno

En el captulo anterior hemos creado un programa que permita editar el contenido de un archivo de texto. Este programa posee una barra de men con dos opciones principales: Archivo y Edicin. Con respecto a la programacin, se cre el cdigo de programacin correspondiente para cada opcin del men Archivo, as como tambin los procedimientos correspondientes al control del cuadro de texto y al cambio de tamao de la ventana del programa. En este captulo crearemos los procedimientos correspondientes al men Edicin, esto es, las acciones que hacen al trabajo de la aplicacin o programa en el entorno de trabajo Windows.

Cmo trabajar con texto seleccionado


Los cuadros de texto y las listas combinadas poseen propiedades que permiten controlar el texto seleccionado en los mismos, una de esas propiedades es SelText. La propiedad SelText guarda el conjunto de caracteres seleccionado o resaltado. Si no hay nada seleccionado, devuelve una cadena de longitud cero (""). Esta propiedad es muy til para crear procedimientos que permitan trabajar con el Portapapeles, creando funciones para cortar y pegar informacin.

El objeto Clipboard
El objeto Clipboard permite acceder al Portapapeles desde el programa. Para ello utiliza mtodos que permiten controlar la informacin que ingresa al Portapapeles y la que sale del mismo. Los mtodos que utiliza el objeto Clipboard se pueden agrupar, segn el tipo de dato que se desea transferir al Portapapeles, en:
J J J

Manejo de texto: ~ e t ~ eyxGetText. t Manejo de grficos: SetData y GetData. Manejo de formatos de texto y grficos: GetFormat y Clear.

Los mtodos ms utilizados son los que permiten la transferencia de texto desde y hacia el Portapapeles, que realizan la tarea de transferencia de la misma forma que cualquier aplicacin del entorno Windows.

Interaccin con el entorno

SetText: Copia el texto en el Portapapeles, sustituyendo cualquier texto que se hubiera almacenado anteriormente. La sintaxis es la siguiente: [Link] datos
J

Datos: Es la informacin o el bloque de texto seleccionado que se desea copiar.

GetText: Pega la informacin almacenada en el Portapapeles en el lugar de destino especificado. La sintaxis es la siguiente:
destino = [Link]()
J

Destino: Es el objeto o control en el que se desea pegar los datos del Portapapeles.

Cmo escribir los procedimientos del Editor de texto


En el captulo anterior se cre un programa llamado Editor de texto, el cual qued inconcluso porque no se escribieron los procedimientos para el men Edicin. Todas las opciones del men Edicin del programa estn deshabilitadas. Esto es para que las opciones Cortar y Copiar estn disponibles cuando haya texto seleccionado, y la opcin Pegar cuando exista informacin en el Portapapeles. Los procedimientos que se debern crear son los siguientes:
J J

Para cada una de las opciones del men Edicin. Para habilitar las opciones Cortar y Copiar cuando se haya seleccionado texto.

Procedimientos para el men Edicin

&3
u

l. Inicie una sesi6n de Visual Basic.

2. En el cuadro de proyecto nuevo, haga un clic en la solapa Reciente.


3. Elija el proyecto Editor. Aparecer la ventana del proyecto.
4. Haga un clic en el icono para mostrar la ventana de cdigo del formulario. 5. Haga un clic en el'hbntrol del recuadro que contiene la lista de los objetos y elija mnuCopiarElem.

6. Presione la tecla

para aumentar la sangra.

7. Escriba la instruccin: [Link] [Link] en el Portapapeles el texto seleccionado en el cuadro de texto.


8. Presione la tecla 1 -[
para pasar a la siguiente lnea.

9. Escriba la instruccin: [Link] = True. Habilita la opcin de men Pegar porque el Portapapeles contiene informacin.

1 1 Visual Basic 6.0 en un solo libro


10. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija mnuCortarElem. 11. Presione la tecla

mpara aumentar la sangra.


para pasar a la siguiente lnea.

12. Escriba la instruccin: [Link] [Link]. 13. Presione la tecla 1-( 14. Escriba la instruccin: [Link]= "". Borra el texto seleccionado y copiado. 15. Presione la tecla IEnterci] para pasar a la siguiente lnea. 16. Escriba la instruccin: mnuPegarElem.Enab1ed = True. La figura 13.1 muestra el procedimiento de la opcin de men Copiar y Cortar.

Private Sub mnuCopiarElem-Click() [Link] [Link] [Link] = True End Sub Private Sub mnuCortarElem_Click() [Link] [Link] [Link] = "" [Link] = True
End Sub

r&jl

Figura 13.1 Procedimiento de la opcin de men Cortar y del men Copiar

17. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija mnuPegarElem. 18. Presione la tecla [ m para ] aumentar la sangra. 19. Escriba la instruccin: [Link]= [Link](). Pega la informacin del Portapapeles en el bloque de texto seleccionado o en donde se encuentre posicionado el cursor. Nota: En estos procedimientos, en lugar de utilizar el objeto RichTextBoxl, podra haber utilizado Screen.ActiveContro1,que representa al control u objeto que est activo, es decir que tiene el enfoque. Esto puede ser til cuando son varios los cuadros de texto que tienen informacin para copiar y pegar, ya que representa al objeto donde se est trabajando o donde se hizo el ltimo clic.

Procedimiento para habilitar las opciones Cortar y Copiar


Para habilitar las opciones de men Cortar y Copiar se necesita saber si hay texto seleccionado en el objeto RichTextBoxl. Para ello se debe crear un procedimiento asociado a un evento de mouse.

Interaccin con el entorno

Lml

Dentro de los eventos que posee un objeto RichTextBox existen dos que permiten controlar las operaciones de mouse MouseUp y MouseDown. MouseUp ejecutar el procedimiento cuando el usuario libere el botn del mouse. MouseDown ejecutar el procedimientos asociado al mismo cuando el usuario presione el botn del mouse. Para saber si hay texto seleccionado, se podra asociar un procedimiento al evento de mouse MouseUp, dado que una seleccin realizada con el mouse se completa cuando el usuario libera el botn del mismo. Con el procedimiento que se describe a continuacin, slo se habilitarn las opciones de men Copiar y Cortar, cuando exista texto seleccionado. La opcin de men Pegar, permanecer deshabilitada hasta que se ejecute algunas de las opciones habilitadas en este procedimiento. 1. Haga un clic en el control del recuadro que contiene la lista de los objetos y eli-

2. Haga un clic en el control del recuadro que contiene la lista de los procedimientos y elija MouseUp.

3. Presione la tecla

mpara aumentar la sangra.


y luego la tecla

4. Escriba la instruccin: If [Link] "" Then.

5. Presione la tecla1 -(
7. Presione la tecla 1-(

mpara aumentar la sangra.

6. Escriba la instruccin: [Link]= True.


para pasar a la siguiente lnea. y luego la tecla IB--ace] para disminuir la sangra. y luego la tecla

8. Escriba la instruccin: [Link]= True. 9. Presione la tecla


11. Presione la tecla 1 -( 10. Escriba la instruccin: Else.

mpara aumentar la sangra.

12. Escriba la instruccin: [Link]= False.

13. Presione la tecla [Enter para pasar a la siguiente lnea.


14. Escriba la instruccin: mnuCortarElem.Enab1ed= False.

15. Presione la tecla 3-[

y luego la tecla

para disminuir la sangra.

16. Escriba la instruccin: End If. La figura 13.2 muestra el procedimiento que habilita las opciones de men Copiar y Cortar. 17. En el men Archivo, elija la opcin Guardar proyecto o el icono amqmxhente. Ahora, pruebe el programa escribiendo texto, seleccionando una parte y verificando qu ocurre con las opciones Copiar, Cortar y Pegar del men Edicin. La figura 13.3 muestra las opciones de men Copiar y Cortar habilitadas cuando hay v texto seleccionado, y la figura 13.4 muestra cmo se deshabilitan estas o~ciones aparece disponible la opcin Pegar.

' 1

Visual Basic 6.0en un solo libro

-Private Sub If [Link] o Then l mnuCopiarElem.Enab1ed = True

raiTlcBwrl

mnuCortarElern.Enab1ed Else [Link] [Link] End If End Sub

= = =

True False False

Figura 13.2 Procedimiento para habilitar las opciones de men Cortar y Copiar

]Archivo de texto
debe seleccionar men Edicin y ver que las dos opciones estan

6s de haber copiado o cortado texto.

Figura 13.3 Con texto seleccionado, las opciones Copiar y Cortar estn disponibles

Figura 13.4 Despus de Copiar o Cortar se h @ & ~ la opcin Pegar

$i '

Un toque profesional
Para finalizar el proyecto, y dado que se parece bastante a una aplicacin comercial, es recomendable brindarle un toque profesional. Todas las aplicaciones, por ejemplo las del Microsoft Office, muestran una pantalla de presentacin antes de que aparezca la ventana de la aplicacin propiamente dicha. De la misma forma podra agregarle un formulario Acerca de, ya utilizado anteriormente, que detalle el propsito del programa.

Interaccin con el entorno

Visual Basic posee un formulario prearmado, llamado Pantalla inicial, que tiene la programacin necesaria para reemplazar algunas etiquetas por la informacin del proyecto. Este formulario podra ser utilizado para que aparezca al inicio del programa y luego de que se visualice la ventana del editor de texto diseada y codificada por usted.

1. En el men Proyecto, elija la opcin Agregar formulario y aparecer el cuadro con el listado de los tipos de formularios disponibles para utilizar. 2. Elija el tipo de formulario Pantalla de inicio.

3. Haga un clic en el botn Abrir para que se inserte el formulario. Observe que este formulario tiene el nombre frmsplash, tal como se exhibe en la figura 13.5.

Producto de la compaa

Producto
Plataforma
Versin
Copyrim

Figura 13.5 Formulario p r e a d o para la pantalla inicial

'

4. Haga un clic en cada una de las etiquetas y observe el nombre que poseen y el tipo de objeto que son.
$2.

5. Haga un clic en el icono que muestra la ventana de cdigo para observar la programacin que tiene este formulario.

& ;,:
"'

6. Despliegue el procedimiento del objeto Form, observar que dos etiquetas se completarn con la informacin del proyecto: Producto y Versin.
7. En el men Proyecto, elija la opcin Propiedades de Proyecto1 y aparecer la ventana del proyecto.

8. Haga un clic en el control del recuadro Objeto inicial y elija el formulario de pantalla inicial, en este caso: frmsplash.

Visual Basic 6.0 en un solo libro

9. Haga un clic en el botn Aceptar. 10. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Aparecer la pantalla inicial con el nombre del proyecto en el lugar que deca Producto y junto con la versin aparecern los nmeros 1.0.0.

11. Haga un clic sobre el formulario y volver al diseo del proyecto.


Las modificaciones que debera introducir son las siguientes:
J

Reemplazar el texto de ejemplo por informacin real tomada de la informacin del proyecto y, en algunos casos, reemplazando el texto de la propiedad Caption. Colocar una imagen que represente a la aplicacin. cial. Para ello, deber agregar la instruccin [Link] despus de la instruccin Unload Me, que aparece en los procedimientos KeyPress y Click. Por ahora se mantendr esta pantalla de presentacin hasta que el usuario haga un clic, pero cuando se trabaje con el objeto Timer podr definir la cantidad de segundos que permanecer en pantalla.

4 Ejecutar o mostrar el formulario Forml al hacer un clic sobre la pantalla ini-

Para estas modificaciones, especialmente las que se tomarn de la informacin del proyecto, tendr que conocer las propiedades de la aplicacin y al objeto App. El objeto App representa al proyecto actual, es decir a la aplicacin que est creando, y se utiliza para indicar el nombre de aplicacin, la versin y la informacin referida a la misma. Toda la informacin del proyecto se encuentra en el cuadro Propiedades de Proyectol. Proyectol es el nombre genrico del proyecto que est creando, pero si lo desea, mediante la propiedad (Name) del proyecto podr6 cambiarlo.

l. En el menii Proyecto, elija la opcin Propiedades de Proyecto1 y desplegar5 la ventana del proyecto (figura 13.6).
2. Haga un clic en la solapa Generar y podr observar los elementos que estn asociados con las propiedades de la aplicacin (App). Los nombres que aparecen asociados con los recuadros son los nombres de las propiedades asociadas a los mismos.
3. En el recuadro Informacin de la versin estn, en el recuadro Tipo:, las variantes de la informacin que se puede obtener de la versin y los datos que contienen estn en el recuadro Valor:.

4. Si utiliza la barra de desplazamientodel recuadro Tipo: podr observar tres valores ms y las propiedades que representan son las siguientes: Tipo de informacin Marcas comerciales legales Nombre de la compaa Nombre del producto Propiedad

inreraccin con el entorno

rnrru de. versin

Figura 13.6 Propiedades del proyecto necesarias para generar la aplicacin

--

5. En el recuadro Tipo:, elija Comentarios.


6. Haga un clic en el recuadro Valor: y escriba Este producto est protegido por las leyes y tratados internacionales..
7. En el recuadro Tipo:, elija Derechos de autor.

8. Haga un clic en el recuadro Valor: y escriba 1999 Todos los derechos reservados..

9. En el recuadro Tipo:, elija Nombre de la compaa. 10. Si en el recuadro Valor: no dice nada, haga un clic y escriba el nombre de su empresa, real o supuesta.

d -

- -m -

11. Haga un clic en el botn Aceptar.


Ahora que algunas de las propiedades del proyecto tiene un valor, podr modificar el cdigo de la pantalla inicial para que complete automticamentela informacin del proyecto que ha creado y personalizar al formulario.

3 l.

Despliegue la ventana del cdigo del formulario que actta como pantalla inicial.

2. Observe el procedimiento para el objeto Forml.

3. Coloque el cursor al final de la instruccin [Link] = [Link].

4. Presione la tecla

para pasar a la siguiente lnea.

5. Escriba la instruccin: 1blCopyrightCaption = "Copyright@" + [Link].

Visual Basic 6.0 en un solo libro 6. Presione la tecla1 -[


para pasar a la siguiente lnea.

7. Escriba la instruccin: [Link] = "Advertencia: " + [Link].

8. Presione la tecla

para pasar a la siguiente lnea.

9. Escriba la instruccin: [Link]= [Link]. 10. Despliegue el procedimiento para el objeto Framel, que corresponde al marco o rectngulo que posee el formulario. 11. Coloque el cursor despus de la instruccin Unload Me. 12. Presione la tecla
para pasar a la siguiente lnea.

13. Escriba la instruccin: [Link]. 14. Haga un clic en el icono que muestra el formulario. 15. Haga un clic en la etiqueta que dice Autorizado a. 16. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 17. Haga doble clic sobre la propiedad Caption y escriba Autorizado a y escriba su nombre. 18. Haga un clic en la etiqueta que dice Plataforma.

19. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 20. Haga doble clic sobre la propiedad Caption y escriba (segn la versin de Windows de que se trate) para Windows 9x y NT. 21. Presione la tecla
dice Copyright. para finalizar el ingreso del texto.
22. Haga un clic sobre la etiqueta que dice Compaa y que est debajo de la que

23. Presione la tecla 1-[

para eliminarla.

24. Haga un clic en la etiqueta que dice Copyright.


25. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 26. Haga doble clic sobre la propiedad AutoSize para que asuma el v+r Tme. Esto permitir que el texto contenido en la propiedad de aplicacidn p.@a .ser visualizado en forma completa.
-1

27. Haga doble clic sobre la propiedad Alignment para que cambie la alineacin a 1 Right Justify.

28. Haga un clic sobre el objeto Image que presenta un dibujo prearmado. 29. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 30. Haga doble clic sobre la propiedad Picture y elija el archivo de imagen que desee para representar su aplicacin.

Interaccin con el entorno

PiP(

31. Modifique las propiedades Font y ForeColor en los objetos en los que lo considere necesario para lograr un buen efecto. 32. Modifique las propiedades del formulario y del rectngulo (el objeto Frame) que considere necesarias. 33. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente. Aparecer un cuadro solicitando el nombre del segundo formulario. 34. Indique el nombre del segundo formulario, por ejemplo: Inicial del Editor. 35. Haga un clic en el botn Guardar.
Si decide eliminar el objeto Frame, deber crear un procedimiento Click para el objeto Form y colocar las dos instrucciones que descargan el formulario y muestran el del editor de texto: Unload Me y [Link], respectivamente.

e
m 3

@ El objeto Label, que tiene el texto Licencia, puede ser eliminado o puede dejarlo para que su propiedad Caption se complete, mediante programacin, con el nombre del usuario ingresado en un cuadro de Inicio de sesin (otro formulario ya utilizado anteriormente).

1. En el ment Ejecutar, elija la opcin Iniciar o el icono correspondiente, observe cmo se muestra a la pantalla inicial y note que permanece fija en la pantalla. 2. Haga un clic en el centro de la pantalla inicial para que se descargue el formulario y aparezca el del editor de texto (figura 13.7).

para Wtndows 9x y NT
Versien 1.O.O
l

,!
.

Copyright1999 - Todos los derechos reservados: .


't.

rdvertencia: Esfe produdo sstd prcbgdo por Las Wes y tratados iriternac-.

Figura 13.7 Ejemplo de una pantalla inicial

Utilizacin de controles Timer

Qu es un objeto Timer
Un objeto Timer es un control que responde al paso del tiempo, y puede utilizarse en un programa para ejecutar acciones a intervalos regulares. Un ejemplo tpico de un objeto Timer consiste en la comprobacin del reloj del sistema para verificar si ha Ilegado la hora de realizar alguna tarea. Este tipo de objeto debe utilizarse dentro de un formulario, dentro del cual pueden existir varios objetos Timer. Un objeto Timer no posee muchas propiedades, entre ellas las ms importantes son: Enabled e Interval. Para que un objeto Timer ejerza efecto debe estar habilitado, y para ello la propiedad Enabled debe permanecer en True (valor que asume desde el momento de la utilizacin del objeto). Cada uno de los cronmetros T i e r utilizados tienen una propiedad Interval, la que contiene un valor (en milisegundos) que indica el tiempo transcurrido entre un evento y el siguiente. El intervalo de tiempo especificado en esta propiedad no es exacto, de modo que los eventos se ejecutarn ms o menos a n segundos. La propiedad Interval tiene limitaciones que deben ser consideradas en el momento de realizar una programacin. Estas limitaciones son las siguientes:
J

Lmites del intervalo: El intervalo fijado en la propiedad puede oscilar entre O y 64767 milisegundos, de donde se desprende que pueden indicarse como mximo aproximadamente 64 segundos. Ejecucin de los eventos: Si se ejecuta un programa que contiene un cronmetro Timer junto con otras aplicaciones que realizan clculos complejos, accesos a disco, etctera, puede que el programa no ejecute los eventos en el tiempo especificado en la propiedad Interval. Medicin del tiempo: El tiempo especificado para la ejecucin de los eventos planificados no siempre es exacto. Conviene programar la verificacin del reloj del sistema cuando sea necesario para asegurar la exactitud del intervalo de ejecucin de los eventos.

Un proyecto con Timer


Es muy comn utilizar un objeto Timer para ejecutar acciones a intervalos regulares. En este captulo se utilizarn programas o proyectos ya creados a los que se les agregar un objeto Timer.

Utilizacin de controles Timer

&

En el proyecto Editor diseado en los captulos 12 y 13, hay un formulario actuando como pantalla inicial que se cierra, por ahora, cuando se hace un clic sobre el rectngulo dibujado dentro del mismo. Pero lo ideal sera que esta pantalla inicial se cerrara sola y apareciera automticamentela ventana del editor de texto. Para ello se necesitar de un objeto Timer que se encargue de cerrar o descargar el formulario de la pantalla inicial y que luego muestre al editor de texto.

3 1. Inicie una sesin de Visual Basie.


2. Haga un clic en la solapa Reciente.

3. Elija el proyecto que desea abrir, por ejemplo: Editqr.


4. Haga un clic en el botn Abrir.
5. Si los formulario estuvieran cerrados en la ventana Explorador de proyectos, haga un clic en el formulario fnnsplash, que corresponde a la pantalla inicial.

6. Haga un clic en el icono que muestra el contenido del formulario.


7. Elija la herramienta Timer y trace un cuadrado sobre el formulario, tal como puede observarse en la figura 14.1. No importa donde lo ubique ya que es un control que no se ver en la ejecucin, debido a que su funcin es trabajar internamente en la programacin.

Figura 14.1 El objeto Timer en el diseo del formulario

8. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


9. Haga doble clic sobre la propiedad Interval y escriba 3000. Esto determina que el objeto Timer esperar 3 segundos, aproximadamente, para ejecutar el procedimiento escrito para el mismo.

10. Presione la tecla 1 -(

para finalizar el ingreso. -

1 1 . Haga un clic en el icono que muestra la ventana de cdigo del formulario actual.

12. Haga un clic en el control del recuadro que lista los objetos del formulario y elija Timerl. 13. Presione la tecla

mpara aumentar la sangra.

14. Escriba la instruccin: Unload Me.

Visual Basic 6.0 en un solo libro


15. Presione la tecla

[m] para pasar a la siguiente lnea.

16. Escriba la instruccin: [Link].

17. Seleccione el procedimiento para el objeto Framel.

18. Presione la tecla L B ) para eliminarlo, porque el objeto Timerl se encargar de ejecutar las instrucciones para descargar la pantalla inicial y que aparezca el formulario del editor de texto.
Ahora necesitar probar la ejecucin del proyecto para verificar que el objeto Timer funcione correctamente.

3
m

l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2. Espere tres segundos y comprobar que deja de verse la pantalla inicial y se ver la ventana del editor de texto.
3. En el men Archivo, elija la opcin Salir para volver al diseo del proyecto.
4. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

Otro ejemplo del uso del Timer


Es muy comn que se utilice una contrasea de acceso y tambin es frecuente que se tenga un determinado tiempo para ingresarla. Para probar el uso del objeto Timer dentro de una solicitud de contrasea se utilizar el proyecto Biorritmo, que tiene una contrasea de acceso. Lo que se pretende del programa es lo siguiente:
J
J

Deber solicitar el ingreso de una contrasea para acceder a Biorritmo. Se limitar el tiempo de ingreso de la contrasea a 10 segundos. Se permitirn hasta tres intentos de ingreso de la contrasea. Si en el tercero fallara, finalizar el programa. Si la contrasea es correcta, aparecer el formulario del Biorritmo.

J:

l. En el men Archivo, elija la opcin Abrir proyecto o el icono correspondiente.

2. Si no grab el proyecto Editor, aparecer un cuadro preguntando si desea guardar las modificaciones, haga un clic en el botn S.
3. Elija el proyecto Biorritmo.

4. Si en la ventana Explorador de proyectos los formularios estuvieran cerrados, haga un clic en el formulario frmlogin, que corresponde a la pantalla inicial.
5. Haga un clic en el icono que muestra el contenido del formulario. 6. Elija la herramienta Timer y dibuje un cuadro en alguna parte del formulario. Automticamente aparecer un objeto idntico a la herramienta, tal como lo exhibe la figura 14.2, el que no se ver durante la ejecucin del vrorrrama.

Utilizacin de controles Tirner

7. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

8. Haga doble clic sobre la propiedad Interval y escriba: 10000.


9. Presione la tecla

para finalizar.

10. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.


Proyecto1 - frmLogin [Form]
4Contrasea de acceso
,

HE~]I
IE(3

Figura 14.2 El formulario que solicita la contrasea tiene un objeto Timer

El proyecto Biorritmo posee todos los procedimientos necesarios para cada uno de los formularios, pero el de la contrasea no tiene procedimiento para el objeto Timer, recientemente insertado.

3
l a

1. Abra el formulario correspondiente a la contrasea.


2. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Timerl.

3. Presione la tecla1 -(

para aumentar la sangra.

4. Escriba la instruccin: Tiempo = MsgBox("Lo siento, su tiempo ha terminado." + Chr(l0) + "Si desea intentarlo nuevamente, haga un clic en Reintentar.", vbRetryCance1+ vbcritical, "Tiempo de contrasea").Cuando transcurran los 10 segundos fijados en la propiedad Interval, aparecer este cuadro de mensaje creado con MsgBox.
5. Presione la tecla [Entercil para pasar a la siguiente lnea.

6. Escriba la instruccin: If Tiempo = vbRetry Then. Cuando el usuario haga un clic en e1 botn Reintentar, deber salir del procedimiento.

7. Presione la tecla

[m] y luego la tecla

para aumentar la sangra.

8. Escriba la instruccin: Exit Sub.

9. Presione la tecla IEGS3 y luego la tecla @ ! % para @ disminuir l la sangra.

10. Escriba la instruccin: End If.

-( 11. Presione la tecla1

para pasar a la siguiente lnea.

12. Escriba la instruccin: End. Se ejecutar6 esta instruccin cuando el usuario haga un clic en el botn Cancelar. La figura 14.3 muestra el cdigo correspondiente al objeto Timerl.

Visual Basic 6.0 en un solo libro

P r i v a t e Sub Timerl-Timer ( ) Tiempo = NsgBox ("Lo s i e n t o , s u tiempo h a terminado. " + Chr (lo) + " Si d e s e a i n t e n t a r l o nuevamente, haga un c l i c e n R e i n t e n t a r . " , vbRetryCance1 + v b c r i t i c a l , "Tiempo d e c o n t r a s e a " ) If Tiempo = vbRetry Then E x i t Sub End If End End Sub

Figura 14.3 Procedimiento del objeto Timerl

13. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija (General). 14. Coloque el cursor al final de la definicin de variable Public LoginSucceeded As Boolean. 15. Presione la tecla
para pasar a la lnea siguiente. 16. Escriba la instruccin Dim Tiempo As String. Es necesario definir esta variable porque en esta rea est la instruccin Option Explicit que impide que se usen variables no definidas dentro de los procedimientos. Si no desea definir la variable, puede eliminar esta instruccin. Pruebe el programa, pero espere los diez segundos y aparecer el cuadro de mensaje, ejecutado por el procedimiento del objeto Timer.

l. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.


2. Escriba algo en el cuadro de texto y ver que aparecen * como se indic en la propiedad PasswordChar. 3. Espere 10 segundos y ver el cuadro de mensaje, como muestra la figura 14.4 creado en el procedimiento del objeto Timerl. 4. Presione la tecla 1-[ o haga un clic en el botn Reintentar, para volver al formulario de la contrasea. 5. Espere otros 10 segundos y cuando aparezca el cuadro de mensaje, haga un clic en el botn Cancelar. Esto finalizar el programa y volver al diseo del mismo.
mmoo de contrasea

Figura 14.4 Cuadro de mensaje creado en el procedimiento del objeto Timerl

Utilizacin de controles Tirner

Al inicio del diseo de este programa, se indic que debera permitir hasta 3 intentos de ingreso de la contrasea, por lo tanto el procedimiento para el botn Aceptar deber tener esta condicin adems de la validacin de la contrasea. Para ello, se deber definir una variable en las declaraciones (General) para que conserve el valor que se le ir asignando. Esta asignacin se realizar a travs de la acumulacin de las veces que se intenta ingresar una contrasea.

1. Despliegue la ventana de cdigo.

2. Haga un clic en el control del recuadro que contiene la lista de objetos y elija (General).
3. Escriba la definicin de variable: Dim Contador As Byte. Dado que la variable que contar los intentos de ingreso de la contrasea poseer valores pequeos, conviene definirla como Byte. 4. Presione la tecla 1 -(
para pasar a la siguiente lnea.
5. Escriba la definicin de la variable: Dim Mensaje As String. Esta es la variable que contendr la respuesta que da el usuario en los cuadros de mensaje.

6. Haga un clic en el control del recuadro que contiene la lista de objetos y elija cmdOK, objeto correspondiente al botn Aceptar. El cursor se ubicar en la primera lnea, donde actualmente hay un comentario. 7. Presione la tecla

y luego la tecla

para llevar el cursor a lnea nueva.

8. Escriba la instruccin: If Contador e=2 Then. La variable Contador cuando es definida tiene un valor 0, por lo tanto la primera vez que intente ingresar la contrasea tendr dicho valor. Esto significa que la variable puede tener un valor entre O y 2. 9. Posicione el cursor al final de la instruccin LoginSucceeded = True.

10. Presione la tecla [Enter para insertar una lnea en blanco.


1 1 . Escriba la instruccin: [Link] = False. Se deshabilita el cronmetro Timer para evitar que contine mostrando el mensaje, si no se desactivara una vez ingresado al formulario del biomtmo, aparecer el cuadro de mensaje del procedimiento del objeto m e r .

12. Coloque el cursor al final de la instruccin SendKeys "{Home)+{End)".

13. Presione la tecla

para pasar a la siguiente lnea.

14. Escriba la instruccin: Contador = Contador + 1. Aumenta en uno el valor de la variable Contador para controlar los intentos de ingreso de la contrasea que se realizan. 15. Coloque el cursor al final de la instruccin End If. 16. Presione la tecla1-c
para pasar a la siguiente lnea.

17. Escriba la instruccin: Else.

Visual Basic 6.0 en un solo libro


18. Presione la tecla1 c

y luego la tecla

para aumentar la sangra.

19. Escriba la instruccin: Mensaje = MsgBox("Accesodenegado.", vbcritical). Cuando la variable tom el valor 3 muestra el mensaje denegando el acceso.

20. Presione la tecla

[m] para pasar a la siguiente lnea.


y luego la tecla
para disminuir la sangra.

21. Escriba la instruccin: End.

2 2 . Presione la tecla1 -I

2 3 . Escriba la instruccin: End If. La figura 14.5 muestra el cdigo completo y resaltadas las instrucciones que se agregaron.

24. En el men Archivo, elija la opcin Guardar proyecto para resguardar la programacin realizada.

11
P r i v a t e Sub cmdOK C l i c k ( )

-, , ,,..,rasea correcta If txtPassword = " clave" Then ' s i t e cdigo a q u p a r a i n d i c a r que ' s e conoce la c o n t r a s e i i a ' l o m s f a c i l e s e s t a b l e c e r uria v a r i a b l e g l o b a l

, .

He. Hide [Link]

HsgBox " Contrasea no v l i d a , v u e l v a a i n t e n t a r l o " , " I n i c i o de s e s i n w [Link]

Contador = Con

Figura 14.5 Procedimiento para el objeto cmdOK, que es el botn Aceptar

Pruebe el programa: verifique si valida la contrasea en forma correcta y muestra el formulario del Biomtmo, e intente ingresar la contrasea (incorrecta) tres veces.

3 1.
I

En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2 . Escriba una contrasea errnea en el cuadro de texto. 3 . Presione la tecla [Enter o haga un clic en el botn Aceptar. Aparecer el cuadro de mensaje correspondiente a la contrasea incorrecta. 4. Repita los pasos 2 y 3, ingresando siempre contraseas falsas. Cuando la ingrese por tercera vez aparecer el cuadro de la figura 14.6.

Utilizacin de controles Tirner

Figura 14.6 Mensaje que deniega el acceso al Biorrirmo

5. Ejecute nuevamente el programa.

6. Escriba la contrasea correcta en el cuadro de texto.

7. Presione la tecla

o haga un clic en el botn Acqbw. Sacar de pantalla el formulario de la contrasea y aparecer el del biomtrno.

Cmo crear una alarma


Es muy frecuente que tenga la necesidad de recordar una cita, realizar una tarea, etc. Pero no siempre se cuenta con una agenda que indique que debe efectuarse una tarea a una hora determinada. Con Visual Basic, y utilizando un cronmetro m, podr crear un programa que permita ingresar la hora en que debe efectuar la tarea y el mensaje que deber aparecer en pantalla para saber qu accin debe realizarse. Para disear este programa se necesitarn los siguientes controles: Para crear las etiquetas que servirn de ttulo, solicitud de ingreso de Label la hora de fijacin de la cita y para el mensaje que deber aparecer cuando sea la hora indicada. Text Para crear cuadros de texto que permitan que el usuario ingrese informacin. Command Para los botones que servirn para agendar la cita y para cancelar o salir del programa. Timer Se necesita el cronmetro Timer para controlar si la hora fijada es igual a la hora del sistema. 1. Inicie una sesin de V i Basie. Si ya estuviera trabajando en el programa, en el men Archivo elija Proyecto nuevo.

p J

l a
&, 3

2. Deje marcada la opcin EXE estndar.

3. Haga un clic en el botn A&.


4. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
5. Haga doble clic sobre la propiedad Caption y escriba: ALuma.

6. Haga un clic en la propiedad BorderStyle para que se active el cuadro de control.


7. Haga un clic en el control de la propiedad BorderStyle y elija: 1 Fixed Single.

Visual Basic 6.0 en un solo libro


Con esto se impide que el formulario cambie de tamao, durante la ejecucin, y se eliminan los botones de maximizar y minimizar la ventana.

8. Haga doble clic sobre la propiedad Icon y elija el tipo de icono que acompaar al programa. Por ejemplo, elija el archivo de icono Clock02.ic0, que se encuentra en la carpeta que muestra la figura 14.7.

Misc
m oiri ttvds de programa
Y

Microsoft Visual S tudio Common l j Graphics lcons

m m

Figura 14.7 Carpeta donde se encuentra el icono que acompaa al formulario

9. Elija la herramienta Image y dibuje un cuadrado pequeo en el ngulo superior izquierdo del formulario. 10. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

11. Haga doble clic sobre la propiedad Picture y elija una imagen para acompaar al formulario. Por ejemplo, elija el archivo de icono [Link] que se encuentra en la misma carpeta que el icono del formulario (figura14.7).
12. Elija la herramienta Label y dibuje un rectngulo a la derecha de la imagen creada anteriormente.

13. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 14. Haga doble clic sobre la propiedad Caption y escriba: Recuerde que
15. Presione la tecla 1-( para finalizar.

....

16. Haga doble clic sobre la propiedad Font y elija el tipo de letra Times New Roman en Negrita y de tamao 20.
17. Utilice la propiedad ForeColor para cambiar el color de la etiqueta creada.

18. Elija la herramienta Label y dibuje un rectngulo debajo de la imagen. 19. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
20. Haga doble clic sobre la propiedad Caption y escriba: Alarma (0:OO a 2359):. 21. Presione la tecla (Enter para finalizar. 22. Haga doble clic sobre la propiedad Font y elija Negrita.

Utilizacin de controles Timer


23. Elija la herramienta Text y dibuje un pequeo rectngulo a la derecha de la etiqueta anterior.

24. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


25. Haga doble clic sobre la propiedad Text y presione la tecla nar su contenido. 26. Presione la tecla

para elimi-

para finalizar.

27. Elija la herramienta Label y dibuje un rectngulo debajo de la etiqueta que solicita el ingreso de la hora. 28. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 29. Haga doble clic sobre la propiedad Caption y escriba: Recordar. 30. Presione la tecla

para finalizar.

31. Haga doble clic sobre la propiedad Font y elija Negrita. 32. Elija la herramienta Text y dibuje un pequeo rectngulo a la derecha de la etiqueta anterior. 33. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

34. Haga doble clic sobre la propiedad Text y escriba 5. Esto le dar el valor predefinido de cinco minutos antes de la hora indicada.
35. Presione la tecla 1 -[

para finalizar.

36. Elija la herramienta Label y dibuje un rectngulo debajo de la etiqueta que solicita el ingreso de la hora. 37. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 38. Haga doble clic sobre la propiedad Caption y escriba: minutos antes.. 39. Presione la tecla1 -(

para finalizar.

40. Haga doble clic sobre la propiedad Font y elija Negrita. 41. Elija la herramienta Label y dibuje un rectngulo debajo de la etiqueta que solicita el ingreso de la hora. 42. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 43. Haga doble clic sobre la propiedad Caption y escriba: Mensaje:.

44. Presione la tecla IEnterci] para finalizar.


45. Haga doble clic sobre la propiedad Font y elija Negrita. 46. Elija la herramienta Text y dibuje un rectngulo debajo de la etiqueta anterior. 47. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

48. Haga doble clic sobre la propiedad Text y presione la tecla [-e) nar su contenido.

para elimi-

m
u

Visual Basic 6.0 en un solo libro


49. Presione la tecla

para finalizar.

50. Haga doble clic sobre la propiedad MultiLine para que asuma el valor True. 51. Haga un clic sobre la propiedad ScrollBars para que se muestre el botn de control.

52. Haga un clic en el control de la propiedad y elija 2 Vertical. 53. Elija la herramienta Command y dibuje un botn en la parte inferior del fomulario. 54. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 55. Haga doble clic sobre la propiedad Caption y escriba: Agendar. 56. Presione la tecla 1 C -

para finalizar.

57. Haga doble clic sobre la propiedad Default para que asuma el valor True. Esto colocar al botn como predeterminado. 58. Elija la herramienta Command y dibuje un botn al lado del anterior. 59. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

60. Haga doble clic sobre la propiedad Caption y escriba: Cancelar.


61. Presione la tecla

para finalizar.

62. Elija la herramienta Timer y dibuje un cuadrado en algn sector del formulario. 63. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

64. Haga doble clic sobre la propiedad Enabled para que asuma el valor False. Esto permitir mantener el cronmetro desactivado mientras el usuario fija la hora y el mensaje de la cita.
65. Haga doble clic sobre la propiedad Interval y escriba: 15000. Cada 15 segundos realizar la verificacin de la hora fijada con respecto a la hora del sistema. La figura 14.8 muestra el diseo del formulario.

66. En el men Archivo, elija la opcin Guardar proyecto. Luego indique el nombre del formulario y del proyecto creado, por ejemplo Alarma.
Provecto1 - Forml lForml Alarma

B R-Me

ame...

Figura 14.8 Formulario para agendar una cita o evento

Utilizacin de controles Timer

Creacin del cdigo de programacin de la alarma


Para realizar la programacin de la alarma, se necesitar conocer la funcin Format, la que permite aplicar un formato a nmeros, fechas, horas, etc. La sintaxis ms utilizada es la siguiente: Dato: Es la informacin que se desea formatear, y puede ser: un objeto, una variable, una funcin de Visual Basic, etcCtera. Formato: Representa el formato que tendr la informacin contenida en el dato. Cuando define un formato debe colocarlo entre comillas (""). Los formatos que puede utilizar dependern del uso que les dar y del tipo de informacin a ingresar, por ello deber tener en cuenta el siguiente listado:

Fonnatos para fechas: Cdigo Representa Separador parada, mes y ao. 1 d Nmero de da (1-31). Nmero del da con el cero a la izquierda (01-31). dd Nombre del da abreviado (Lun-Dom). ddd dddd Nombre del da completo (Lunes-Domingo). m Nmero del mes (1-12). mm Nmero del mes con el cero a la izquierda (01-12). mmm Nombre del mes abreviado (Ene-Dic). mmmm Nombre del mes completo (Enero-Diciembre). Los dos illtimos dgitos del ao (00-99). YY Nmero del ao completo (100-9999). YYY
Fonnatos para horas: Cdigo Representa Separador de hora, minutos y segundos. h Nmero de hora (0-23). hh Nmero de hora con el cero a la izquierda (00-23). m Nmero de minutos (0-59). mm Nmero de minutos con el cero a la izquierda (00-59). S Nmero de segundos (0-59). SS Nmero de segundos con el cero a la izquierda (00-59).

Fonnatos para nmeros: Cdigo Representa O Presenta un digito o un cero. # Presenta un dgito o nada.

Por ejemplo: al nmero 250 se le puede modificar su formato a 250,00 si se indica un

Visual Basic 6.0 en un solo libro


cdigo ###,M, pero si se escribe un formato 0000,M el nmero se ver como 0250,OO porque el cdigo cero muestra un O si no existe un valor en la posicin donde se lo indic. El cdigo de programacin de la alarma es el siguiente:

3 1.

Haga doble clic sobre el botn Cancelar para visualizar la ventana de cdigo.

2. Presione la tecla

mpara aumentar la sangra.

3. Escriba la instruccin: End. 4. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Commandl, que representa al botn Agendar.
5. Presione la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: [Link] = 1. La propiedad WindowState indica el estado de la ventana: O es normal, 1 minimizar y 2 maximizar. 7. Presione la tecla [Enter para pasar a la siguiente lnea. 8. Escriba la instruccin: [Link] = True. Habilita el cronmetro. 9. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Timerl. 10. Presione la tecla

[m] para aumentar la sangra.

11. Escriba la instruccin: HoraActual = Format(Time, "hh:mml').La variable Time devuelve la hora del sistema, y es asignada a la variable HoraActual con un formato idntico al que ingresar el usuario en el cuadro de texto.
12. Presione la tecla [Enter]para pasar a la siguiente lnea.

13. Escriba la instruccin: If [Link] 10 Then.

1-( 14. Presione la tecla

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

15. Escriba la instruccin: MinutosAntes = "00:O" + [Link]. Con esta instmccin se arma la cantidad de minutos que se adelantar la alarma. 16. Presione la tecla 18. Presione la tecla
y luego la tecla 1 -(

17. Escriba la instruccin: Else.

[ w c y r ) luego la tecla [m] para aumentar la sangra.


y luego la tecla

19. Escriba la instruccin: MinutosAntes = "00:" + [Link]. 20. Presione la tecla 1-(

e para disminuir la sangra.


-

21. Escriba la instruccin: End If. 22. Presione la tecla [Enter para pasar a la siguiente lnea.
23. Escriba la instruccin: Avisar = CDate([Link]) CDate(Minut0sAntes).

Utilizacin de controles Timer

24. Presione la tecla [Enter para pasar a la siguiente lnea.


25. Escriba la instruccin: If HoraActual= Format(Avisar, "hh:mm") Then.

26. Presione la tecla 1 -(

y luego la tecla 1 -(

para aumentar la sangra.

27. Escriba la instruccin: Beep. Esta instruccin har que la computadora emita un sonido cuando la hora del sistema sea igual a la fijada por el usuario. 28. Presione la tecla [m para pasar a la siguiente lnea.

2 9 . Escriba la instruccin: Recordar = MsgBox("Faltan " + [Link] + " minutos para:" + Chr(l0) + Chr(l0) + [Link], vbInformation, "Alarma"). Mostrar6 un cuadro de mensaje que contendr como prompt el texto ingresado por el usuario en el cuadro Text2.
30. Presione la tecla
para pasar a la siguiente lnea.

3 1 . Escriba la instruccin: Timerl.Enab1ed = False. Se desactiva el cronmetro para que deje de verificar la hora de la cita con la hora del sistema. 3 2 . Escriba la instruccin: [Link] = O. Restaura el tamao de la ventana del formulario. 33. Presione la tecla1 -(
y luego la tecla [B"kspacelpara disminuir la sangra.

34. Escriba la instruccin: End If. La figura 14.9 muestra el cdigo completo para el objeto Timer.

3 1. En el men Ejecutar,elija la opcin Iniciar o el icono correspondiente.


Prnuectnl - Fnrml ICdionl

Pr ivate Sub Timcr 1-Timer ( ) HoraActual = Format ( T i m , "hh:nanW] If Text2 .Text < 10 Then
FIinutosAntes = "00:OW Else

[Link]

Minutoslntcs = nOO:n + [Link] End If Avisar = CDate([Link]) - CDate(NinutosAntes) If HoraActual Format(Avisar, "hh:nmW) Then Beep Recordar = HsgBox("Fa1tan fr + [Link] + " minutos para:" + Chr (lo) + Chr (lo) + Text3 .Text, vbInformat ion, wAlarmaw) [Link] = False [Link] = O End If End Sub

Figura 14.9 Cdigo del cronmetro

Visual Basic 6.0 en un solo libro 2. Escriba la hora de la cita (recuerde respetar el formato que indica el formulario).
3. Presione la tecla y el cursor se ubicar en el recuadro correspondiente a los "minutos antes", por default dice 5 minutos pero si lo prefiere, cmbielo.

4. Presione la tecla y luego escriba el mensaje que desea visualizar como recordatorio de la cita.
5. Haga un clic en el botn Agendar. Observe que el formulario se minimiza.

Si desea que el texto del mensaje ocupe varias lneas, pero sin llegar al margen del recuadro donde lo est escribiendo, presione la combinacin de teclas 1-( (hi3] y as pasar a la siguiente lnea.

Cuando se cumpla la hora de la cita, aparecer el cuadro de mensaje mostrando el texto que ingres en el paso 3. La figura 14.10 muestra un ejemplo de un mensaje con tres lneas.
Alarma

para:

Figura 14.9 Ejemplo de mensaje recordatorio

Trabajo con bases de datos


Si el lector utiliza bases de datos, le ser posible realzar el diseo de las mismas con Visual Basic ,desde el momento que se trata de una herramienta muy poderosa para programar el control de la informacin dentro de una base de datos. Se pueden utilizar bases de datos que provengan de Microsoft Access, Paradox, DBase, Microsoft FoxPro y Btrieve. A esta lista se pueden agregar archivos creados con Microsoft Excel, Lotus 1-2-3 y archivos de texto ASCII. Si no recuerda bien qu es una base de datos, o necesita clarificar ciertos conocimientos, en este captulo explicaremos:
J J

Qu es una base de datos. La organizacin de los datos en una base de datos.


La creacin de formularios para administrar la informacin de una base de datos.

Qu es una base de datos


Una base de datos es una coleccin ordenada de informacin, donde los datos se presentan en formato de tabla. En esta tabla, cada columna se denomina campo y cada fila se denomina registro. Una base de datos reddonal est formada por un conjunto de tablas relacionadas entre s mediante un campo comn. Microsoft Access es un difundido ejemplo de este tipo de base de datos. Cuando se define la tabla se especifican los campos que contendr, por ejemplo, una tabla de clientes tendra los siguientes campos:
ID del cliente

Nombre Direccin Localidad Cdigo postal Pas Telfono Nmero de CUIT

1 2 2 2 1Visual Basic 6.0 en un solo libro


Cada fila de la tabla que contiene la base de datos se denomina registro y, segn el ejemplo anterior, contendr los datos correspondientes a un cliente. La figura 15.1 muestra la visin parcial de una tabla que posee una informacin similar a la expresada en el ejemplo.

Ciistotner I D 1

--

Cotitact Natne

I ~ a r i Anders a

1 Obere Str. 57

Direccin
-

1 Localidati 1 Beriin

Postal Codi 112209

BOUD BONAP BOllM

"w@Orn~-.. Laurence Lebihan Elizabeth Lincoln

.. .

1 c/ ~kaquil, _ _. 67. . .
i 12, rue des Bouchers
123 Tsawassen Blvd.

Madrid Marseille

13008

Figura 15.1 Ejemplo de una tabla

?!k

Sugerencia:Para aprender ms conceptos sobre bases de datos, en especial de Microsoft Access, sera conveniente que consulte el libro "MicrosoRAccess 97 en un solo libro" de nuestro fondo editorial. De esta forma podr crear y administrar bases de datos relacionales, y luego crear un programa de Visual Basic para llevar a cabo tareas con los datos que estn almacenados en dicha base.

Cmo crear un formulario para una base de datos

Para crear un formulario que muestre los datos de una tabla o base de datos, se necesita un control que permita acceder a la informacin contenida en la tabla. Este control se denomina Dala y permite asociar al mismo una base de datos de cualquiera de los formatos indicados al comienzo del captulo (Microsoft Access, Parad o ~etc.). , Adems s es una base de datos relacional, se debe indicar cuI de todas las tablas se utilizar para mostrar los datos en el formulario. A continuacin se crear un programa basado en la base de datos BIBLIOMDB, que trae de ejemplo Visual Basic, la cual posee informacin acerca de libros de una biblioteca. Dado que es una base de datos relacional de Microsoft Access, est formada por varias tablas que poseen informacin de los ttulos de libros, autores y editoriales. Los controles que se utilizarn son los siguientes:

Label
Text

Para crear todas las etiquetas necesarias para hacer referencia a los campos de la base de datos. Para mostrar el contenido de los campos de un registro.

Trabajo con bases de datos

Data

Para acceder a los datos de una tabla de la base de datos [Link]. Para crear un botn para salir del programa.

R
3

Command
1 \

' 1 1.

Inicie una sesin de Visual Basic.

m
Q

2. Deje seleccionada la opcin EXE estndar.

3. Haga un clic en el botn Abrir. 4. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

5. Haga doble clic sobre la propiedad Caption y escriba: Ttulos.


6. Presione la tecla

para finalizar.

7. Haga doble clic sobre la propiedad Icon y elija un icono que represente a la informacin de las editoriales. Por ejemplo, elija el archivo Book04.ic0, que se encuentra en la carpeta que muestra la figura 15.2.
Caraar icono

O ~rctiios de programa
Common

O Microsoft V i a l S tudio

Figura 15.2 Carpeta donde se encuentra el icono que acompaar al formulario

8 Haga un clic en el botn Abrir.

M 'm

9. Elija la herramienta Label y dibuje un rectngulo en la parte superior del formulario.


10. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

1 1 . Haga doble clic sobre la propiedad Caption y escriba: Ttulos publicados.


12. Haga doble clic sobre la propiedad Font y elija Times New Roman en Negrita y de tamao 20. 13. Utilice la propiedad ForeColor para cambiar el color del ttulo del formulario. 14. Elija la herramienta Data y dibuje un rectngulo en la parte inferior del formulario.

15. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 16. Haga doble clic sobre la propiedad Caption y presione la tecla [ s e ] para bo-

rrar su contenido.
17. Presione la tecla )= C

para finalizar.

7 Visual Basic 6.0 en un solo libro


18. Haga doble clic sobre la propiedad DatabaseName y elija de la carpeta de Visual Basic la base de datos [Link]. Con esta propiedad se asocia la base de datos con el formulario en uso. 19. Haga un clic en el botn Abrir. 20. Haga un clic sobre la propiedad RecordSource para ver el botn de control. 21. Haga un clic en el control de la propiedad RecordSource y elija la tabla de la base de datos Titles, como muestra la figura 15.3.

Figura 15.3 Eleccin de la tabla de la que se tomarn los datos

22. Elija la herramienta Text y dibuje un rectngulo debajo de la etiqueta que contiene el titulo del formulario. 23. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
24. Haga doble clic sobre la propiedad Text y presione la tecla [Deletel para borrar su contenido.

25. Haga doble clic sobre la propiedad MultiLine para que asuma el valor True. 26. Haga un clic sobre la propiedad ScrollBars para mostrar el botn de control. 27. Haga un clic en el control de la propiedad ScrollBars y elija 2 Vertical.

28. Haga doble clic sobre la propiedad DataSource para que tome el valor del control enlazado con la base de datos: Datal, es el objeto que indica la tabla de la
base de datos que se utilizar.

29. Haga un clic sobre la propiedad DataField para que aparezca el botn de control.

30. Haga un clic en el control de la propiedad DataFiel y elija el campo cuya informacin se mostrar en este cuadro de texto. Elija: Title.
Para comprobar cmo funciona el objeto Data1 y cmo se despliega el nombre de las editoriales, conviene ejecutar el programa y probar el uso de los botones que posee el objeto Datal.

Trabajo con bases de datos

1. En el menh Ejecutar,elija la opcin Iniciar o el icono correspondiente.

2. Utilice los botones que aparecen a los costados del objeto Data para avanzar y retroceder por los registros.
3. Pruebe los botones que permiten ver la informacin del primer registro y del 1timo. La figura 15.4 muestra el formulario en ejecucin y cules son los botones que permiten avanzar y retroceder por los registros.
4. Una vez observado el comportamiento de estos controles, haga un clic en el botn Terminar Dara volver al diseo del formulario y continuar con el formatodel mismo.

rtulos publicados

Muestra el primer registro Muestra 'el registro anterior

Muestra el ultimo registro ~ueitra el registro siguiente

Figura 15.4 Accin de los botones para desplegar los registros de la tabla Titles

El asistente para disear formularios para bases de datos


Para finalizar con el diseo del formulario que muestra la lista de ttulos de libros, puede agregar los campos que necesita para lograr un formulario que muestre la principal informacin de los ttulos de los libros. Pero este trabajo es tedioso si lo realiza manualmente, ya que debera colocar un objeto Text por cada campo que contenga la tabla, ms un objeto Label (tambin por cada campo) para indicar qu informacin est mostrando el cuadro de texto. Visual Basic 6.0 posee un asistente que permite crear un formulario, basado en una tabla o en dos, de una forma muy rpida y eficiente, ahorrando tiempo y esfuerzo. El asistente para disear formularios basados en bases de datos es un complemento, es decir que no est "cargado", y por ello no figura como una opcin del men.

7 Visual Basic 6.0 en un solo libro


Para agregar este complemento y poder utilizarlo, deber ejecutar los siguientes pasos:

1 . En el men Complementos, deber elegir la opcin Administrador de complementos, y mostrar el cuadro de la figura 15.5.
Administrador de comalementos

Comolementos disoonibles I)hdministrtiador de asistentes de VB 6

1 com~rtamienta de c.. 1
A

F
Cancelar

l
1

Figura 15.5 Cuadro del administrador de complementos

2. Haga un clic en la casilla de verificacin del complemento que desea agregar: VB 6 Data Form Wizard.

3. En el recuadro Comportamientode carta, marque la opcin Cargaddihsaq@o.


4. Haga un clic en el botn Aceptar. Visual Basic comenzar a cargar los elementos del complemento agregado, y el nombre o la opcin de men se mostrar en el men Complementos. 5. Haga un clic en la opcin de men Complementos y desplegar como ltima alternativa el nombre del complemento agregado, tal como lo muestra la figura 15.6. Todos los complementos que se agreguen aparecern en esta opcin de men.

Figura 15.6 El men Complemento contiene el asistente agregado

Trabajo con bases de datos

Cmo utilizar el asistente para una tabla


Si necesita crear un formulario que muestre todos o algunos de los campos de una tabla de una base de datos, podr utilizar el asistente agregado anteriormente. Para crear un formulario de este tipo, el asistente le presentar dos modelos: uno muestra un registro a la vez y el otro muestra varios registros (un diseo de una tabla estndar).

1. En el men Complementas, elija la opcin Asistente para formularios de datos y desplegar el primer c u a h del asistente, tal como puede observar en la figura 15.7.

Figura 15.7 Cuadro inicial del asisrenre para aisear formularios


~ . S i & t I

2. Haga un clic en el botn Siguiente y aparecer un cuadro solicitando el tipo de formato que tiene la base de datos que utilizar para el formulario. Esto significa que debe elegir el programa que utiliz para crear la base de datos.

3. Deje marcada la opcin Access, ya que se utilizar la base de datos de ejemplo de Visual Basic y que tiene ese formato.
-

4. Haga un clic en el botn Siguiente y aparecer un cuadro solicitando el nombre de la base de datos que utilizar.

k x a m ~ . .

5. Haga un clic en el botn Examinar para elegir el archivo que contiene a la base de datos. Por ejemplo, en la carpeta de Visual Basic elija la base BIBLIO.

bisual Basic 6.0en un soio libro


6. Haga un clic en el botn Siguiente y desplegar un cuadro, como el de la figura 15.8, donde deber elegir el formato que tendr el tipo de formulario. Observe que disponde de tres opciones, las dos primeras corresponden a formularios basados en una sola tabla, la ltima es para mostrar informacin de dos tablas.
3s

- Formulario

Sebccione el tipo de formulario deseado y un #@o dai d a c e de datos para tener acceso a los datos,

iQu6 no&e

deseadar al FomKdario?

7. Haga un clic sobre cada una de las opciones y podr ver una muestra del formato del formulario.

8. Elija el tipo de formulario Registro individual.


Siguiente >

9. Haga un clic en el botn Siguiente y aparecer un cuadro solicitando el nombre de la tabla y los campos que conformarn al formulario.

10. Haga un clic en el control del recuadro Origen de registros y ver la lista de las tablas que conforman a la base de datos Biblio.
11. Elija la tabla Titles. Automticamente listar en el recuadro Campos diponibles todos los campos que conforman a la tabla elegida. 12. En el recuadro Campos disponibles, elija un campo, por ejemplo: Title.
13. Haga un clic en [Link] que agrega el campo elegido al recuadro Campos seleccionados. Este recuadro contiene la lista de los campos que se incluirn en el formulario.

Trabajo con bases de datos


Adems del botn que pasa un campo a la vez, puede utilizar cualquiera de los botones que permiten agregar o eliminar campos seleccionados. Agrega el campo elegido al grupo de los seleccionados. Agrega todos los campos al grupo de los seleccionados. Elimina un campo del grupo de los seleccionados. Elimina todos los campos del grupo de los seleccionados.

m m m m
=m

14. Agregue los campos que se muestran en la figura 15.9.


15. Utilice los botones que alteran el orden para acomodar los campos. Por ejemplo, use el botn que tiene la flecha que sube para llevar el campo Year Published debajo del campo Title.

Uotes

Figura 15.9 Campos seleccionados para el formulario

16. Haga un clic en el control del recuadro Ordenar columna por para elegir el campo por el cual desea ver los registros ordenados. Por ejemplo, elija Title para que los registros se ordenen por el nombre del libro.
17. Haga un clic en el botn Siguiente y aparecer el cuadro de la figura 15.10, solicitando que indique los botones que desea que aparezcan en el formulario.

Visual Basic 6.0 en un solo libro

Figura 15.10 Eleccin de los botones que aparecern en el formulario

18. Deje todos los botones marcados, de esta forma podr efectuar todas las acciones que indican los botones.
19. Haga un clic en el botn Siguiente y aparecer el ltimo cuadro del asistente.
Finatizar

20. Haga un clic en el botn F i i r r o z P r para que V i s u a l Basiccree el formulario, y cuando este procedimiento finalice, aparecer el cuadro de la figura 15.11 indicndolo.
Formulario de datos creado

Figura 15.11 Finalizacin del diseo del formulario

21. Haga un clic en el botn Aceptar para finalizar. El formulario se ver como lo muestra la figura 15.12.
Observe que el formulario queda como un segundo formulario en el proyecto y dado que es ms completo que el que se estaba creando manualmente, es recomendable eliminar al formulario Forml y modificar las propiedades del proyecto para que el formulario diseado con el asistente sea el primer objeto que se ejecutar.

Trabajo con bases de datos

acto1 - f~mTlles [Form]

m, -:.
. . . . . . . . s . .

ir..

Figura 15.12 Diseo del formulario creado con el asistente

l. Fm la ventana Explorador de proyectos, haga un clic sobre el formulario que desea eliminar, por ejemplo: Forml.

2. En el men Proyecto, elija la opcin Quitar Forml. Si el nombre del proyecto fuese otro, la opcin dira Quitar nombre-proyecto. Visualizar un cuadro solicitando guardar los cambios realizados sobre el mismo.

3. Haga un clic en el botn No.

4. En el men Proyecto, elija la opcin Propiedades de Proyectol.

5. Haga un clic en el control del recuadro Objeto inicial y elija el nombre del formulario creado con el asistente, en este caso: frmTitle.

6. Haga un clic en el botn Aceptar.

7. En el men Archivo, elija la opcin Guardar proyecto o el icono -pondiente.

8. Indique el nombre del formulario, por ejemplo: Libros.

9. Haga un clic en el botn Guardar.

10. Indique el nombre del proyecto, utilice, por ejemplo, el mismo que el del formulario. Pruebe el formulario y verifique si los registros estn ordenados por el nombre del libro (el campo Title). Adems pruebe la utilizacin de los botones agregados con el asistente: Agregar, Eliminar, Actualizar y Cerrar. Si bien se agreg el botn Renovar, este botn le ser til si est trabajando en red y varios usuarios estn usando la misma base de datos, al mismo tiempo.

1 . En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. 2. Avance y retroceda por los registros para observar la informacin. Observe que en la barra del objeto Data aparece la palabra Record acompaada por el nmero de registro que est desplegado.
3. Modifique el contenido de un campo y avance al siguiente registro.

7 Visual Basic 6.0 en un solo libro


4. Vuelva al registro anterior y comprobar que la modificacin que realiz ha quedado grabada en la tabla.
5. Haga un clic en el botn Agregar y desplegar el formulario con todos los cuadros de texto vacos. Adems el cursor no queda listo para iniciar el ingreso de los nuevos datos.

6. Haga un clic en el cuadro de texto correspondiente al campo Title.

7. Complete los datos de un libro.

8. Avance al registro siguiente o haga un clic en el botn Actualizar. Si opt por el botn Actualizar mostrar el total de registros que posee la tabla que est utilizando, y el que usted agreg ser el ltimo.
9. Desplcese por los registros y vuelva a desplegar el que usted ingres.

10. Haga un clic en el botn Eliminar y el registro se eliminar de la tabla en forma definitiva.
1 1 . Haga un clic en el botn Cerrar para volver al diseo del formulario.

% Sugerencia: %

Para tener la base de datos [Link] completa con los datos originales, utilice el Explorador de Windows para realizar una copia.

Si lo desea, puede agregar los campos que no fueron incluidos en el diseo del formulario mediante el asistente, pero deber realizarlo en forma manual como se indic al comienzo del proyecto, cuando cre el formulario Forml con un objeto Data y otro Text para mostrar el titulo del libro.

Usted ya cuenta con todos los conocimientos para mejorar la apariencia del formulario, puede hacerlo agregando un ttulo, una imagen, haciendo un cambio en los atributos de las etiquetas, color de fondo del formulario, etc. y proporcionarle as un aspecto ms profesional. La figura 15.13 muestra un ejemplo de algunas modificaciones que usted puede hacer sobre el formulario y los objetos que el mismo posee.
'4 T Ttulos de libros

@ Libros exidantes
TRdo:
A C i o d e ~

ISBN: Cbdpo EtElor: DetapQrr

Figura 15.13 Diseo mejorado del formulario

Trabajo con bases de datos

El cdigo de programacin para agregar registros


Antes de comenzar con la inspeccin de la programacin que ya posee el formulario creado con el asistente, necesita saber qu es un Recordset. Un Recordset es un objeto que representa la parte de la base de datos que se est utilizando en el programa. Por lo tanto, cuando se necesite realizar operaciones de: agregar, borrar, buscar, etc., se necesitar hacer referencia al Recordset del objeto Data que se est utilizando. Por ejemplo: Un registro es considerado como agregado cuando por lo menos uno de los campos posee un valor, es decir que si se ejecuta el procedimiento de agregado de un nuevo registro y no se escribe nada en algn campo, no queda registrado. La carga de informacin de un registro es considerada como completa cuando se pasa al registro siguiente, utilizando los botones del objeto Data.

1. Despliegue la ventana del cdigo del formulario creado con el asistente. 2. Localice el procedimiento correspondiente al botn Agregar, que est representado por el objeto cmdAdd.

3. La nica instruccin que est escrita es: [Link]. datPrimaryRS y que es el objeto Data. Con el mtodo AddNew se desplegarn los campos vacos para que el usuario comience a ingresar un dato.
4. Coloque el cursor al final de la instruccin. 5. Presione la tecla 1 -l
para pasar a la siguiente lnea.

6. Escriba la instruccin: txtFields(O).SetFocus. Si usted verifica el nombre de los cuadros de textos que posee el formulario, notar que forman una matriz y que su nombre es el txtFields, por lo tanto si desea que el cursor quede en el primero, deber incluir esta instruccin.
Pruebe el programa para verificar cmo funciona el procedimiento creado para el botn Agregar. Si desea puede colocar un recordatorio para que el usuario se acuerde que debe ingresar el cdigo del editor (el campo PubID).

Cmo eliminar registros en una base de datos


Para borrar registros de una base de datos, se debe crear un procedimiento que utilice al objeto Recordset junto con el mtodo Delete. Este mtodo permite eliminar el registro que se est mostrando.

Cuidado: Cuando se elimina un registro, se lo borra en forma permanente y no es posible deshacer la eliminacin.

1 Visual Basic 6.0 en un solo libro

3 1.

Despliegue la ventana del cdigo del formulario creado con el asistente.

2. Localice el procedimientocorrespondiente al botn Eliminar, que est representado por el objeto cmdDelete.

3. Coloque el cursor al comienzo de la instruccin With [Link].


4. Resione la tecla
y luego la tecla

para colocarel cursor en la nueva l n e a .

5. Escriba la instruccin: Mensaje = MsgBox("Est seguro de borrar el regis-

tro", vbYesNo, "Eliminacin de registros").


6. Presione la tecla IEnterci] para pasar a la siguiente lnea.

7. Escriba la instruccin: If Mensaje = vbYes Then.

8. Coloque el cursor al final de la instruccin End With. 9. Presione la tecla [Entercil para pasar a la siguiente lnea. 10. Escriba la instruccin: End If. La figura 15.14 muestra el cdigo completo para la eliminacin de un registro.
1
Proyecto1

- frmTitles [Cdigo]

FYP

If Kensaje = vbYes Then With [Link]

. KoveNext If . EOF Then . MoveLast

Figura 15.14 Cdigo de eliminacin de un registro de una tabla

Con el mtodo Delete se elimina el registro actual y con el mtodo MoveNext se mueve el puntero, o en este caso se despliega el siguiente registro. La ltima instruccin dentro del With indica que si fuera el final de la tabla (EOF), entonces se utilizar el mtodo MoveLast que mueve el puntero al ltimo registro de la tabla. Pruebe el programa para observar cmo funciona.

3 1.

En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente.

2. Mueva el puntero a el ltimo registro. Si usted agreg alguno, aparecer al final.


3. Haga un clic en el botn Eliminar. Aparecer el cuadro de mensaje solicitando la confirmacin de borrado del registro actual.

Trabajo con bases de datos

4. Haga un clic en el botn S y observe cmo se borra el registro y aparece uno en blanco, porque era el ltimo de la base de datos.

Cmo buscar registros en una base de datos


Una de las operaciones ms frecuentes en una base de datos es la bsqueda de registros dentro de la misma. Para poder realizar una bsqueda se debe crear un procedimiento que utilice cualquiera de los mtodos que se detallan a continuacin:
J

FindFirst

Busca el primer registro que cumpla con la condicin especificada. Busca el ltimo registro que cumpla con la condicin especificada. Busca el siguiente registro que cumpla con la condicin especificada.

4 FindLast

4 FindNext
J

FindPreMous Busca el anterior registro que cumpla con la condicin especificada. La sintaxis de estos mtodos y la forma de expresar la condicin es la se indica a continuacin:

[Link] "condicin"
J

Condicin: Como se explic anteriormente, &be estar formada por el campo donde se desea buscar, el operador (=, o, >, >=, < y <=) y luego el valor, y se debe expresar entre comillas (""). Si el valor que se desea buscar es texto, debe expresarse entre comillas simples (' '). Por ejemplo:

[Link] "State='NY "' Si el valor que se desea buscar est almacenado en una variable debe expresar el mtodo de bsqueda utilizando el signo + o &. Por ejemplo: si la variable se llama Bsqueda y contiene un dato numrico, podra escribirse la instniccin de la siguiente forma:

[Link] "PubID="+ Bsqueda


Si el dato que contiene una variable de bsqueda es texto, debe escribirse la instruccin como muestra el ejemplo siguiente:

[Link] "State=" & " ' "

+ Bsqueda +

"'"

A continuacin agregar al programa la posibilidad de buscar editoriales que correspondan a una determinada ciudad. Para ello, se crearn dos botones: uno para ejecutar las instrucciones de bsqueda y otro para continuar buscando el mismo dato. Por lo tanto, se deber deinir una variable general para mantener el ltimo dato buscado.

Visual Basic 6.0 en un solo libro

1. Abra el diseo del formulario de los ttulos de libros. 2. Ensanche el formulario.


3. Desplace el botn Cerrar a la derecha para dejar lugar para un botn.

4. Elija la herramienta Command y dibuje un botn entre los botones Actualizar y Cerrar.
5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

6. Haga doble clic sobre la propiedad Caption y escriba: &Buscar. Al escribir el nombre de esta forma la letra B quedar subrayada y servir para que ejecute este botn presionando la tecla

m.

7. Presione la tecla

para finalizar.

8. Elija la herramienta Command y dibuje un botn al lado del botn Buscar. 9. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
10. Haga doble clic sobre la propiedad Caption y escriba: Buscar &sig.

11. Presione la tecla 1- [

para finalizar.

12. Haga doble clic sobre la propiedad Visible para que asuma el valor False. Permanecer oculto hasta que se realice una bsqueda. La figura 15.15 muestra el diseo del formulario.

:::

:,:m

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. . .............
+

t Li~ros existente

Figura 15.15 Diseo del formulario con todas las opciones de manejo de informacin

El cdigo de programacin para buscar registros 1 \ 4 1. Haga doble clic sobre el botn Buscar.
2. Presione la tecla

mpara aumentar la sangra.

3. Escriba la instruccin: Buscar = InputBox("1ngrese el ao a buscar.", "Ao de edicin").

Trabajo con bases de datos 4. Presione la tecla

IE-r+llpara pasar a la siguiente lnea.

5. Escriba la instruccin: [Link] "[Year Published]=" + Buscar. Cuando el nombre del campo est formado por ms de una palabra debe ir entre corchetes ( [ ] ).
6. Presione la tecla [Entercil para pasar a la siguiente lnea. 7. Escriba la instruccin: If [Link] Then. La propie-

dad NoMatch asume el valor True cuando no se encuentra el registro buscado.

8. Presione la tecla [Entercil y luego la tecla ITab*-l para aumentar la sangra.

9. Escriba la instruccin: Mensaje = MsgBox("No hay libros editados en ese ao.", vbcritical, "Final de la bsqueda").
10. Presione la tecla [Entercil para pasar a la siguiente lnea. 11. Escriba la instruccin: [Link] = False. Se oculta el botn Buscar sig. si no se encontr lo buscado.
12. Presione la tecla

[m] y luego la tecla IBaekSpacel para disminuir la sangra.


[m] y luego la tecla ITab*-l para aumentar la sangra.
y luego la tecla
para disminuir la sangra.

13. Escriba la instruccin: Else. 14. Presione la tecla


15. Escriba la instruccin: [Link] = True. Muestra el botn Buscar sig.

para continuar con la bsqueda del prximo registro.


16. Presione la tecla 17. Escriba la instruccin: End If. La figura 15.16 muestra el cdigo completo del

botn Buscar.
IL Pioyectol - frmTlles [Chdigo)

"Ao de edicion") [Link] "[Year Published]= " + Buscar If [Link] Then Eensaje = HsgBox("No hay libros editados en ese aiio.", vbcritical, "Final de la bsquedarr) Conunand2 .Visible = False

[Link] = True

Figura 15.16 Cdigo para buscar un registro

18. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Command2, correspondiente al botn Buscar sig..

Visual Basic 6.0 en un solo libro 19. Presione la tecla [

S I para aumentar la sangra.

20. Escriba la instruccin: [Link] "[Year Published]=" + Buscar. 21. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija (General). 22. Escriba la definicin de la variable: Dim Buscar. Esta es una definicin genrica de la variable que compartir el dato entre los dos procedimientos. 23. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.
Ejecute el programa y en la prueba deber observar qu sucede cuando se busca un ao existente y qu ocurre cuando se realiza una segunda bsqueda.

1. En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Aparecer el formulario con los botones agregados, pero el botn Buscar sig. est oculto. 2. Haga un clic en el botn Buscar. 3. En el cuadro de entrada escriba un ao existente, por ejemplo: 1992.

4. Haga un clic en el botn Aceptar o presione la tecla Aparecer el botn Buscar sig. y el primer registro perteneciente a la ciudad buscada.
5. Utilice el botn Buscar sig. para recorrer todos los registros de la ciudad buscada.

6. Haga un clic en el botn Buscar.


7. En el cuadro de entrada escriba un ao inexistente y haga un clic en el botn Aceptar. Aparecer el mensaje indicando que el ao buscado no existe y el botn Buscar sig. se oculta.

Cmo usar el asistente para dos tablas


Como se indic al comienzo del captulo, Visual Basic puede manejar correctamente las bases de datos relacionales. La base de datos BIBLIO es un ejemplo de este tipo de base de datos, porque est formada por varias tablas relacionadas entre s.

Figura 15.17 Relaciones entre las tablas de la base de datos BIBLIO

Trabajo con bases de datos


Para que dos tablas de una base de datos estn relacionadas deben tener por lo menos un campo en comn. Por ejemplo, en la base BIBLIO las tablas Publishers y Titles estn relacionadas por el campo PubID (que existe en ambas). La figura 15.17 (pgina anterior) muestra las relaciones entre las distintas tablas de la base de datos BIBLIO. Si desea crear un formulario que est basado en dos tablas, las mismas deben estar relacionadas. Por ejemplo, si desea consultar en un formulario los libros editados por distintas editoriales, podr crear un formulario donde por cada editorial se listen los ttulos que ha publicado.

1. Grabe el proyecto que est utilizando.


2. En el men Archivo, elija la opcin Proyecto nuevo.

3. Deje marcada la opcin EXE estndar.

4. Haga un clic en el botn Aceptar.


5. En el men Complementos,elija la opcin Asistente para formularios de datos. Aparecer el cuadro inicial del asistente.

6. Haga un clic en el botn Siguiente para continuar.

7. Eliia el formato de la base de datos. Para este caso, . deie marcado Access.
u u

8. Haga un clic en el botn Siguiente para continuar. 9. Haga un clic en el botn Examinar para elegir la base de datos. Por ejemplo, de la carpeta de Visual Basic elija la base de datos Biblio.
10. Haga un clic en el botn Siguiente para continuar. Aparecer el cuadro que solicita el modelo o tipo de formulario que crear. 11. Elija el tipo de formulario MaestroDetalles. Se denomina Maestro a la tabla que contiene los datos que aparecern una sola vez en el formulario. Para este ejemplo, la tabla que est en esta categora es la que contiene la lista de los editores: Publishers, ya que por cada uno de ellos se desea que aparezcan los libros editados por los mismos. Se denomina Detalle a la tabla que posee la informacin que se repetir en el formulario, por ejemplo: los ttulos de los libros: Titles. 12. Haga un clic en el botn Siguiente para continuar. Aparecer el cuadro que solicita la tabla que ocupar la posicin Maestro. 13. Haga un clic en el control del recuadro Origen de registros y elija la tabla principal o Maestro, por ejemplo: Publishers. Listar en el recuadro Campos disponibles de los campos que contiene la tabla.

14. Utilice el botn que agrega de un campo a la vez para ingresar al recuadro Campos seleccionados los siguientes campos: PubID, Name, Company Name, City y State.
15. Haga un clic en el control del recuadro Ordenar columna por y elija el campo Company Name.

Visual Basic 6.0 en un solo libro

16. Haga un clic en el botn Siguiente para continuar. Aparecer un cuadro idntico al anterior, pero solicitando la informacin la tabla secundaria o Detalle.

17. Haga un clic en el control del recuadro Origen de registros y elija la tabla secundaria o Detalle, por ejemplo: Titles. Listar en el recuadro Campos disponibles los campos que contiene la tabla. Observe que el campo PubID forma parte de esta tabla, por lo que no ser necesario incluirlo ya que es el mismo que posee la tabla Publishers. 18. Utilice el botn que agrega de un campo a la vez para ingresar al recuadro Campos seleccionados los siguientes: Title y Year Published.
19. Haga un clic en el control del recuadro Ordenar columna por y elija el campo Title. 20. Haga un clic en el botn Siguiente para continuar. Aparecer el cuadro de la figura 15.18, solicitando el campo que vincula a las dos tablas.

Figura 15.18 Cuadro para definir el campo comn de las dos tablas

21. En el recuadro Maestro, marque el campo PubID. 22. En el recuadro Detalles, marque el campo PubID. 23. Haga un clic en el botn Siguiente para continuar. Aparecer el cuadro que solicitar los botones que utilizar para administrar los datos de las tablas.

24. Deje marcadas todas las opciones de botones.


25. Haga un clic en el botn Siguiente y habr llegado al ltimo paso. 26. Haga un clic en el botn Finalizar y Visual Basic comenzar a crear el formulario armado con el asistente. 27. Haga un clic en el botn Aceptar en el cuadro que indica la finalizacin de la creacin del formulario.

Trabajo con bases de datos

Seguramente el formulario Forml habr quedado en blanco, por lo que deber eliminarlo y modificar las propiedades del proyecto para que se ejecute el formulario recin creado.

3 1.

En la ventana Explorador de proyectos, haga un clic en el formulario Forml.

2. En el men Proyecto, elija la opcin Quitar Forml y el formulario habr quedado eliminado.
3. En el men Proyecto, elija la opcin Propiedades de Proyectol.

4. Haga un clic en el control del recuadro Objeto inicial y elija el formulario que ha creado, en este caso frmmiblishers.
5. Haga un clic en el botn Aceptar.
6. En el men Archivo, elija la opcin Guardar proyecto o el icono comspondiente.

n
Guarda -

7. Indique el nombre del formulario, por ejemplo: Editores y Libros.


8. Haga un clic en el botn Guardar. 9. Indique el nombre del proyecto.
Ahora slo le queda probar el proyecto para verificar cmo se despliegan los datos de las dos tablas involucradas en el formulario.

3 1.

En el men Ejecutar, elija la opcin Iniciar o el icono correspondiente. Aparecer el formulario como lo muestra la figura 15.19.

..

- -.

Cerrar -

Figura 15.19 Formulario formado por dos tablas

2. Utilice el objeto Data para desplegar los registros de la tabla principal. Observe que al avanzar y retroceder por los registros se muestran los distintos editores de libros.
3. Utilice la barra de desplazamiento para ver los ttulos editados por cada una de las editoriales. --- - --

. .

4. Haga un clic en el botn Cerrar.

Utilizacin de nuevos controles

Los controles utilizados hasta ahora para los diferentes ejemplos son los de uso ms frecuente en el desarrollo de una interfaz de usuario, pero existen otros tipos de controles ms aptos para mostrar datos o para que el usuario elija una opcin. Los controles que veremos en este captulo ayudarn a crear una interfaz de usuario ms amigable y de ms sencilla utilizacin.

Qu son los cuadros de lista


Los cuadros de lista son objetos que pueden incluirse dentro de un formulario, para que el usuario pueda elegir un elemento de la lista que muestra el objeto. Las listas pueden tener dos formatos: lista O lista combinada. Una lista puede presentar varios elementos desplegados al mismo tiempo, si bien el usuario slo podr elegir uno. Una lista combinada presenta un elemento a la vez y tambin en este caso el usuario podr elegir un solo elemento de la lista, la que se habilita con un control.

1L

ventas Alta

Registro de ventas
Artculo:

Figura 16.1 Diferencia entre una lista y una lista combinada

Cuando se utiliza un formulario con cuadros de lista, se debe tener en cuenta la propiedad ListIndex.

Utilizacin de nuevos controles


La propiedad ListIndex de un cuadro de lista o lista combinada guarda el valor del elemento seleccionado. Este valor es un valor numrico entero que indica el nmero de orden del elemento dentro de la lista. Cuando el usuario no selecciona nada del cuadro de lista, esta propiedad tiene el valor -1. Si el usuario selecciona un elemento, la propiedad asume el valor correspondiente a la posicin del elemento, es decir que si elige el primer elemento la propiedad asumir el valor O , si elige el segundo asumir el valor 1, etctera.

Cmo crear un formulario con cuadros de lista


Suponga un formulario que le presente al usuario la posibilidad de consultar precios, teniendo en cuenta que existe un listado de artculos. Adems, al momento de seleccionar un producto del listado correspondiente se necesita saber el precio de aqul. Los controles que se utilizarn sern los siguientes:

Label Text List

Para crear el titulo del formulario y las etiquetas de los cuadros de texto. Para crear los cuadros de texto necesarios para permitirle al usuario que ingrese informacin y para mostrar el resultado del total que debe pagar. Para crear un cuadro de lista que muestre el listado de productos que estn a la venta.

3
1-

1. Inicie una sesin de Visual Basic. 2. Deje marcada la opcin EXE estndar. 3. Haga un clic en el botn Abrir. 4. Elija la herramienta Label y dibuje un rectngulo en la parte superior del formulario.
5. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

6. Haga doble clic sobre la propiedad Caption y escriba: Consulta de precios.


7. Presione la tecla [Enterci) para finalizar.

8. Haga doble clic sobre la propiedad Font y elija Times New Roman en Negrita y de tamao 20.

9. Utilice la propiedad ForeColor para cambiar el color del texto.


10. Elija la herramienta Label y dibuje un pequeo rectngulo debajo del ttulo.

11. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 12. Haga doble clic sobre la propiedad Caption y escriba: Productos. 13. Presione la tecla3-( 15. Presione la tecla
para finalizar. para finalizar.

14. Haga doble clic sobre la propiedad Font y elija Negrita.


16. Elija la herramienta List y dibuje un rectngulo debajo de la etiqueta Productos.

Visual Basic 6.0 en un solo libro


Las listas pueden llenarse a travs de la programacin o con la modificacin de la propiedad List la que contiene a todos los elementos definidos en las listas. Para ello deber realizar lo siguiente:

1. Seleccione el objeto Listl. 2. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

3. Haga doble clic sobre la propiedad List y ver que se despliega una lista (vaca) para que escriba el primer elemento, tal como muestra la figura 16.2.

~
'

Praductos,

*..*.

'

"

Figura 16.2 La propiedad List permite ingresar los elementos de la lista

4. Escriba un artculo, por ejemplo: Carpetas 3g.. 5. Presione la tecla [Enter para finalizar. Observe que el cuadro de lista de la propiedad List se cerr y el texto escrito aparece dentro de la lista.
6. Para agregar los dems elementos de la lista, deber repetir los pasos 3 a 5 para cada elemento que desee aadir. Agregue los siguientes artculos: Lpiz, Lapicera, Carpetas 2g., Goma L p i n i n t a , Regla, Repuesto 3g. y Repuesto 2g.. Cuando est ingresando el ltimo elemento la propiedad List se ver como lo muestra la figura 16.3.

7. Haga doble clic sobre la propiedad Sorted para que asuma el valor True. Esta propiedad permite ordenar alfabticamente la lista creada y, en consecuencia, permite al usuario realizar bsquedas ms rpidas dentro de la lista.

8. Ejecute el programa para observar cmo se presentan las listas. Note que el cuadro de lista combinada aparece con los elementos ordenados alfabticamente, alterando as el orden que se utiliz para ingresar los artculos.

9. Haga doble clic sobre la propiedad Style para que asuma el valor1 CheckBox.

Utilizacin de nuevos controles

Figura 16.3 Todos los elementos de la lista

1 [Link]

rpetas 29.

Figura 16.4 Los cuadros de lista visualizados desde la ejecucin del programa

Para completar el ejemplo, se necesitar agregar objetos que permitan al usuario ingresar la cantidad comprada y visualizar el importe a pagar por el cliente.

3 1.

Elija la herramienta Label y dibuje un rectngulo al lado del primer elemento de la lista. para eli-

2. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


3. Haga doble clic sobre la propiedad Caption y presione la tecla 1- [ minar su contenido.

4. Presione la tecla (Enter para finalizar.


5. Haga doble clic sobre la propiedad (Nombre) y escriba Precio.

6. Presione la tecla [Enter para finalizar.

7. Haga doble clic sobre la propiedad Alignment para que tome el valor 1 Right Justify.
8. Haga un clic sobre el objeto Label.

Visual Basic 6.0 en un solo libro


9. En el men Edicin, elija la opcin Copiar o el icono correspondiente. 10. En el men Edicin, elija la opcin Pegar o el icono correspondiente. Aparecer el cuadro solicitando la confirmacin para crear una matriz del objeto Precio.

11. Haga un clic en el botn S y el objeto quedar pegado en la parte superior izquierda del formulario.
12. Coloque el puntero del mouse sobre el objeto pegado, que tiene el nombre Precio(1) y ubquelo debajo del original, tratando que quede a la altura del segundo elemento de la lista.

13. Pegue el objeto seis veces ms para tener uno por cada elemento de la lista (el ltimo objeto pegado debe ser Precio(7)).
14. Elija la herramienta Label y dibuje un rectngulo arriba de los objetos Precio creados. 15. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 16. Haga doble clic sobre la propiedad Caption y escriba: Precio Unitario. 17. Presione la tecla para finalizar. 18. Elija la herramienta Text y dibuje un rectngulo a la derecha de la etiqueta Precio(0). 19. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 20. Haga doble clic sobre la propiedad Text y presione la tecla su contenido. 21. Presione la tecla (Entercll para finalizar. 22. Haga doble clic sobre la propiedad (Nombre) y escriba Cantidad. 23. Presione la tecla para borrar

[m] para finalizar.

24. Haga un clic sobre el objeto Text, ahora llamado Cantidad. 25. En el men Edicin, elija la opcin Copiar o el icono correspondiente. 26. En el men Edicin, elija la opcin Pegar o el icono correspondiente. Aparecer el cuadro solicitando la confirmacin para crear una matriz del objeto Cantidad. 27. Haga un clic en el botn S y el objeto quedar pegado en la parte superior izquierda del formulario. 28. Coloque el puntero del mouse sobre el objeto pegado, que tiene el nombre Cantidad(1) y ubquelo debajo del original, tratando que quede a la altura del segundo elemento de la lista.

e
I .

29. Pegue el objeto sies veces ms para tener uno por cada elemento de la lista (el ltimo objeto pegado debe ser Cantidad(7)). 30. Elija la herramienta Label y dibuje un rectngulo arriba de los cuadros de texto para la cantidad.

31. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

Utilizacin de nuevos controles


32. Haga doble clic sobre la propiedad Caption y escriba: Cantidad. 33. Presione la tecla (Entercll para finalizar.

34. Elija la herramienta Text y dibuje un rectngulo a la derecha del cuadro de texto que representa a la cantidad.
35. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

36. Haga doble clic sobre la propiedad Text y presione la tecla IDelete] para borrar su contenido.
37. Haga doble clic sobre la propiedad Locked para que asuma el valor True. 38. Haga doble clic sobre la propiedad Alignment para que tome el valor 1 Right Justify. 39. Haga doble clic sobre la propiedad (Nombre) y escriba Importe. 40. Presione la tecla (Entercil para finalizar.

41. Haga un clic sobre el objeto Text, ahora llamado Importe.


42. En el men Edicin, elija la opcin Copiar o el icono correspondiente. 43. En el men Edicin, elija la opcin Pegar o el icono correspondiente. Aparecer el cuadro solicitando la confirmacin para crear una matriz del objeto Importe.

44. Haga un clic en el botn S y el objeto quedar pegado en la parte superior izquierda del formulario.
45. Coloque el puntero del mouse sobre el objeto pegado, que tiene el nombre Importe(1) y ubquelo debajo del original, tratando que quede a la altura del segundo elemento de la lista.

46. Pegue el objeto sies veces ms para tener uno por cada elemento de la lista (el ltimo objeto pegado debe ser Importe(7)).
47. Elija la herramienta Label y dibuje un rectngulo aniba de los cuadros de texto para el importe.

48. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


49. Haga doble clic sobre la propiedad Caption y escriba: Importe. 50. Presione la tecla

[ B l para finalizar.

51. Elija la herramienta Command y dibuje un rectngulo debajo de la columna de las cantidades. 52. En el men Ver, elija la opcin Ventana Propiedades cs el icono correspondiente. 53. Haga doble clic sobre la propiedad Caption y escriba: Total a Pagar:. 54. Presione la tecla (Entercil para finalizar. 55. Haga doble clic sobre la propiedad Font y elija Negrita. 56. Elija la herramienta Text y dibuje un rectngulo a la derecha del botn anterior.

I d

Visual Bacic 6.0 en un solo libro

57. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.


58. Haga doble clic sobre la propiedad Text y presione la tecla [Delete] para borrar su contenido.
59. Presione la tecla 1 -r
para finalizar.

60. Haga doble clic sobre la propiedad Locked para que asuma el valor True. 61. Grabe el programa indicando el nombre del formulario y del proyecto, por ejemplo: Precios. En la figura 16.5 vemos el formulario antes de ser grabado.

Figura 16.5 Formulario completo

El cdigo de programacin para la lista


Para que aparezca el precio unitario del producto elegido, deber crearse un procedimiento para el cuadro de lista de artculos. De esa forma cuando el usuario haga un clic sobre la casilla de verificacin de un artculo, tendr que aparecer el precio del producto en el cuadro de texto correspondiente, y cuando desactive dicha casilla el precio deber desaparecer. Adems se necesitar que se calcule el importe a pagar, una vez que el usuario haya finalizado el ingreso de la cantidad comprada por el cliente. Las listas poseen varias propiedades, dos de ellas son: ListIndex y Selected.
4 ListIndex:

Esta propiedad devuelve un nmero entero que corresponde al nmero de orden del elemento de la lista. El primer elemento de una lista tiene el valor O, el segundo 1 y as sucesivamente.
J

Selected: Cuando se trabaja con una lista con formato o estilo de casilla de verificacin, esta propiedad devuelve el valor True cuando el elemento est "chequeado", es decir que tiene la marca, caso contrario devuelve el valor False.

Utilizacin de nuevos controles

Solamente devuelve el valor True si la marca est en la casilla de verificacin, es decir que los elementos seleccionados pero no marcados, tendrn el valor False.

1. Despliegue la ventana del cdigo de formulario que esta diseando. 2. Haga un clic en el control del recuadro que contiene la lista de objetos y elija Listl. 3. Presione la tecla

mpara aumentar la sangra.


y luego la tecla

4. Escriba la instruccin If [Link]([Link]) Then. Con esta instruccin se verifica si el elemento posee una marca en la casilla de verificacin. 5. Presione la tecla

mpara aumentar la sangra.

6. Escriba la instruccin: Select Case [Link]. Con esta instruccin se pretende evaluar la eleccin del artculo que realiza el usuario. 7. Presione la tecla1 -c
para pasar a la siguiente lnea.

8. Escriba la instruccin: Case O. Elige el primer elemento de la lista. 9. Presione la tecla [Entercil y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

10. Escriba la instruccin: Precio(O).Caption = Format(5, "Fixed"). 11. Presione la tecla [E"tercil y luego la teclal[ 12. Escriba la instruccin: Case 1. 13. Presione la tecla

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

14. Escriba la instruccin: Precio(l).Caption = Format(4, "Fied").


l [ 15. Presione la tecla lEntern y luego la tecla e

16. Escriba la instruccin: Case 2. 17. Presione la tecla IEnter y luego la tecla 19. Presione la tecla 21. Presione la tecla 23. Presione la tecla 25. Presione la tecla 1-L

mpara aumentar la sangra.


para disminuir la sangra.

18. Escriba la instruccin: Precio(2).Caption = Format(O.5, "Fixed").


y luego la tecla (=]
y luego la tecla

20. Escriba la instruccin: Case 3.

mpara aumentar la sangra.


para disminuir la sangra.

22. Escriba la instruccin: Precio(3).Caption = Format(l.5, "Fixed").


y luego la tecla 1-L

24. Escriba la instruccin: Case 4.

y luego la tecla [m] para aumentar la sangra.


y luego la tecla ( E para ] disminuir la sangra.

26. Escriba la instruccin: Precio(4).Caption = Format(1, "Fixed").

-( 27. Presione la tecla1

Visual Basic 6.0 en un solo libro


28. Escriba la instruccin: Case 5. 29. Presione la tecla (Entercll y luego la tecla 31. Presione la tecla [ m 1 y luego la tecla 32. Escriba la instruccin: Case 6. 33. Presione la tecla (Enter y luego la tecla 35. Presione la tecla [Enter y luego la tecla 36. Escriba la instruccin: Case 7. 37. Presione la tecla [Enter y luego la tecla C m ) para aumentar la sangra. 38. Escriba la instruccin: Precio(7).Caption = Format(3, "Fixed"). 39. Presione la tecla [Enter y luego la tecla 40. Escriba la instruccin: End Select. 41. Presione la tecla (Enter y luego la tecla 1 -( 42. Escriba la instruccin: Else. 43. Presione la tecla 1- [
y luego la tecla para disminuir la sangra.

mpara aumentar la sangra.


para disminuir la sangra.

30. Escriba la instruccin: Precio(S).Caption= Format(2, "Fixed").

mpara aumentar la sangra.


[ S I para disminuir la sangra.

34. Escriba la instruccin: Precio().Caption= Format(2.5, "Fixed").

[ s para disminuir . la sangra.

[m] para aumentar la sangra.

44. Escriba la instruccin: Precio([Link])= "".


45. Presione la tecla [Enter para pasar a la siguiente lnea. 46. Escriba la instruccin: Cantidad([Link]) = "". Si ya haba ingresado una cantidad y se desmarc, entonces se borrar su contenido. 47. Presione la tecla [Enter]para pasar a la siguiente lnea. 48. Escriba la instruccin: Importe([Link])= "". 49. Presione la tecla (Enter y luego la tecla (8&kspacel para disminuir la sangra. 50. Escriba la instruccin: End If. 51. Presione la tecla1 -(
para pasar a la siguiente lnea.

52. Escriba la instruccin: If Cantidad([Link]) o "" Then. Si el artculo tiene ingresada una cantidad, y el mismo se activa, se calcular el importe. 53. Presione la tecla 1-(
y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

54. Escriba la instruccin: Importe([Link]) = Cantidad([Link])

* Precio(Listl.List1ndex).

55. Presione la tecla (Enter y luego la tecla

56. Escriba la instruccin: End If. La figura 16.6 muestra el cdigo completo del objeto Listl.

Utilizacin de nuevos controles

1
3

Private Sub Listl-Click() If [Link](Listl.List1ndex) Then Select Case [Link] Case O Precio(O) .Caption = Foraiat(5, "Fixed") Case 1 Precio(1) = Fonaat(4, "Fixedw) Case 2 Precio(2) = Format (0.5, wFixedw) Case 3 Precio(3) = Format (1.5, "Fixed") Case 4 lormcit ( 1, wFixedw) Precio(4) Case 5 Precio(5) Fonuat(2, "Fixed") Case 6 Fonaat(2.5, "Fixed") Precio (6) Case 7 Precio(7) = Format (3, "Fixed") End Select Else Precio ([Link]) "" Cantidad(Listl.Li8tIndex) "" Importe ([Link]) = End If If Cantida(Listl.List1ndex) <> "" Then Importe ([Link]) = Cantidad(List1. ListIndcx) End If End Su

--

Figura 16.6 Procedimiento para asignar el precio automticamente

Ahora queda crear el procedimiento para que se realice el clculo del importe a pagar, cuando el usuario finalice el ingreso de la cantidad comprada.

l. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Cantidad. Es el objeto que representa al cuadro de texto de la cantidad comprada por el cliente.
2. Haga un clic en el control del recuadro de los procedimientos y elija LostFocus. De esta forma, cuando el usuario presione la tecla 1 -( para indicar que finaliz el ingreso de la cantidad, se ejecutar el procedimiento.
3 . Presione la tecla
para aumentar la sangra.

4. Escriba la instruccin: If Precio(index) = "" Then. index es una propiedad que indica la posicin del cursor dentro de una matriz.
5. Presione la tecla

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

6. Escriba la instruccin: Importe(1ndex) = "".


7. Presione la tecla
9. Presione la tecla

y luego la tecla1 (

8. Escriba la instruccin: Else.

! -u

y luego la tecla [ S para ) aumentar la sangra.

Visual Basic 6.0 en un solo libro 10. Escriba la instruccin: Importe(1ndex) = Cantidad(1ndex) * Precio(1ndex). 11. Presione la tecla [Enter y luego la tecla
para disminuir la sangra.

12. Escriba la instruccin: End If. La figura 16.7 muestra el cdigo para el objeto Cantidad.
As Integer) If Precio (Index)
=

-- -

----

""

Then

Importe(Index) = Importe(1ndex) End If End Sub

""
*
Precio(1ndex)

Cantidad(1ndex)

Figura 16.7 Procedimiento que se ejecutar cuando el cursor abandone el cuadro de texto

1. Haga un clic en el control del recuadro que contiene la lista de los objetos y elija Commandl. Es el botn que realizar el clculo del total a pagar. 2. Presione la tecla

mpara aumentar la sangra.


para pasar a la siguiente lnea.

3. Escriba la instruccin:Total = O. Esta variable se utilizar para acumular los t o t a l e s .

4. Presione la tecla
6. Presione la tecla 1 -(

5. Escriba la instruccin: For 1= O To 7.

y luego la tecla

mpara aumentar la sangra.


para aumentar la sangra. para disminuir la sangra.

7. Escriba la instruccin: If Importe(1) = "" Then.


8. Presione la tecla [Enter y luego la tecla

9. Escriba la instruccin: Total = Total + 0. 10. Presione la tecla 12. Presione la tecla 14. Presione la tecla 16. Presione la tecla 18. Presione la tecla1-(
y luego la tecla y luego la tecla 1 1 . Escriba la instruccin: Else.

mpara aumentar la sangra.


para disminuir la sangra. para disminuir la sangra.

13. Escriba la instruccin: Total = Total + Importe(1).

y luego la tecla1 -( y luego la tecla [-e]

15. Escriba la instruccin: End If'. 17. Escriba la instruccin: Next 1.


para pasar a la siguiente lnea.

19. Escriba la instruccin: [Link] = Total. La figura 16.8 muestra el procedimiento completo.

Utilizacin de nuevos controles

m 1

20. Grabe el proyecto para no perder la programacin realizada.


'royectol - Forml [Cdigol

"TI

Total = O For 1 = O TO 7 I f Importe(1) = Total = Total Else Total = Total End I f Next 1 [Link] Total End Sub

Then
O

i
1
<..:

Importe (1)

ii.$I

Figura 16.8: Procedimiento que calcula el total a pagar

1. Ejecute el programa y observe cmo trabaja la lista de los artculos.

2. Haga un clic sobre la casilla de verificacin de un artculo y aparecer el precio unitario.

3. Haga un clic sobre el nombre de otro artculo y comprobar que no aparece la


marca sobre la casilla de verificacin ni el precio.

4. Haga un clic sobre el cuadro de texto de la cantidad de un artculo que tenga precio y escriba un valor.

5. Presione la tecla [

S I y ver que aparece el importe que deber pagar.

6. Escriba una cantidad en un artculo que no haya seleccionado, es decir que no tenga el precio unitario.
7. Presione la tecla

my no se calcular el importe.

8. Haga un clic sobre la casilla de verificacin del artculo cuya cantidad ingres y aparecern el precio unitario y el importe.
9. Haga un clic en el botn Total a Pagar y obtendr el total de la columna Importe.

@ Sugerencia:

Puede utilizar la funcin Format para colocar los importes y el total a pagar, y de esa forma obtendr un resultado adecuado.

Qu son los controles de opcin


Los controles de opcin son botones circulares que sirven para elegir una opcin de un grupo. En un formulario pueden existir varios grupos de opciones, pero deben colocarse dentro de un marco. Esto significa que debe trabajarse con dos tipo de objetos: Frame y Option.

Frame Es un objeto que permite crear varios grupos de opciones, las que deben estar incluidas en el mismo.

Visual Basic 6.0 en un solo libro Option Es un objeto que sirve para representar una opcin, y puede activarse o desactivarse.
En el programa Registro de ventas creado en este captulo, se utilizaron cuadros de lista. Suponga que desea registrar la forma de pago y recargar un 10% si se paga con tarjeta de crdito. Para agregar esto, se pueden utilizar botones que presenten las opciones: contado y tarjeta, y cuando el usuario elija tarjeta aparecer el porcentaje de recargo correspondiente a esa forma de pago. La modificacin que debe realizarse implica la utilizacin de los siguientes controles:

Frame Para crear un recuadro de opciones. Para este ejemplo no es necesario porque slo existir un grupo de opciones, pero se logra una mejor presentacin de las opciones si estn enmarcadas. Option Para crear las opciones correspondientes a la forma de pago: contado y tarjeta. Label Text
Para crear las etiquetas de los controles que mostrarn el recargo calculado y el total a pagar. Para crear cuadros de texto que muestren el recargo y el importe total a pagar.

1. Abra el diseo del formulario Registro de ventas. 2. Modifique la altura del formulario para que pueda insertarse una lnea ms de objetos. 3. Elija la herramienta Frame y dibuje un recuadro en la parte inferior izquierda del formulario. 4. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.
5. Haga doble clic sobre la propiedad Caption y escriba: Forma de pago.

6. Presione la tecla 1-(

para finalizar.

7. Elija la herramienta Option y dibuje un pequeo rectngulo dentro del objeto Frame.
8. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente.

9. Haga doble clic sobre la propiedad Caption y escriba: Contado.


10. Presione la tecla [Entercil para finalizar. 11. Haga un clic sobre el objeto que ha insertado, que tiene el nombre Optionl. 12. En el men Edicin, elija la opcin Copiar o el icono correspondiente. 13. En el men Edicin, elija la opcin Pegar o el icono correspondiente. Aparecer el cuadro solicitando la confirmacin para crear una matriz del objeto Optionl. 14. Haga un clic en el botn S y el objeto quedar pegado en la parte superior izquierda del formulario.

Utilizacin de nuevos controles 15. Coloque el puntero del mouse sobre el objeto pegado, que tiene el nombre Precio(1) y ubquelo a la derecha del original dentro del objeto Frame. 16. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 17. Haga doble clic sobre la propiedad Caption y escriba: Tarjeta. 18. Presione la tecla
para finalizar.

19. Elija la herramienta Text y dibuje un rectngulo a la derecha del objeto Frame creado. 20. En el men Ver, elija la opcin Ventana Propiedades o el icono correspondiente. 21. Haga doble clic sobre la propiedad Text y presione la tecla [Deletel para borrar su contenido. 22. Presione la tecla1 -(
para finalizar.

23. Haga doble clic sobre la propiedad Font y elija Negrita de tamao 10. La figura 16.9 muestra el diseo del formulario con los controles agregados.

Consulta de precios
Productos Precia Unitario . Cal

Figura 16.9 Formulario con botones de opcin

El cdigo para los controles de opcin


El procedimiento debe evaluar cul es el botn que eligi el usuario y en base a eso realizar el clculo correspondiente.

1. Haga doble clic sobre uno de los botones de opcin. Aparecer6 la ventana de cdigo para que comience a escribir el procedimiento de Optionl.

Visual Basic 6.0 en un solo libro


2. Presione la tecla 1 -l
para aumentar la sangra.

3. Escriba la instruccin: If Optionl(O).Value = True Then.


4. Presione la tecla Ilntercr] y luego la tecla [ S I para aumentar la sangra.

5. Escriba la instruccin: Optionl(l).Value = False. Desactiva el botn de opcin correspondiente a la tarjeta de crdito.
6. Presione la tecla Ilntercr] para pasar a la siguiente lnea.

7. Escriba la instruccin: [Link] = [Link]. El total que debe pagar es igual al calculado anteriormente.

8. Presione la tecla Ilntercr] y luego la tecla 1 -I


9. Escriba la instruccin: Else. 10. Presione la tecla IEnter y luego la tecla

para disminuir la sangra.

mpara aumentar la sangra.

11. Escriba la instruccin: Optionl(O).Value= False. 12. Presione la tecla Ilntercr] para pasar a la siguiente lnea. 13. Escriba la instruccin: [Link] = [Link] * 1.1. Calcula el recargo y el total que debe pagar. 14. Presione la tecla

y luego la tecla IBackSpacel para disminuir la sangra.

15. Escriba la instruccin: End If. La figura 16.10 muestra el cdigo completo.

P r i v a t e Sub O p t i o n 1 C l i c k ( I n d e x A s I n t e g e r ) If O p t i o n l ( 0 ) . ~ a l u c = True Then O p t i o n l ( 1). V a l u e = F a l s e Text2. Text = Textl. Text Optionl (O) .Value = F a l s e T e x t 2 . T e x t = T e x t l . T e x t * 1.1

Figura 16.10 Procedimiento para el clculo del recargo segn el botn seleccionado

Ejecute el programa y elija un artculo, ingrese la cantidad comprada y haga un clic en el botn Total a Pagar. Luego seleccione la forma de pago. Observe que al hacer un clic sobre el botn Contado el cuadro de texto repite el mismo valor, pero si selecciona el botn Tarjeta se realizan los clculos correspondientes.

Creacin de un protector de pantalla

Consideraciones iniciales
Con Visual Basic es posible crear diferentes tipos de programas, tal como lo hemos venido comprobando, pues esta verstil herramienta permite desarrollar proyectos administrativos tanto como tcnicos. Esta versatilidad nos permitir utilizar Visual Basic para crear un protector de pantalla personalizado, ya sea para nuestra PC,aprovechando la fotografa de una mascota, o para la de nuestro lugar de trabajo, utilizando el logo de la empresa. Para crear un protector de pantalla con Visual Basic ser preciso tomar en cuenta una serie de consideraciones que afectan al diseo del formulario, a los controles que el mismo contendr y a la aplicacin propiamente dicha. A continuacin se describen los puntos a tener en cuenta para la tarea proyectada.

Consideraciones para el formulario:


J J J

Un protector de pantalla est formado por un nico formulario. El formulario no tendr barra de ttulos ni bordes. A pesar de no tener barra de ttulo, deber establecer un icono para representar al archivo ejecutable que deber crear. El color de fondo deber ser oscuro (recomendado: negro). La ventana del formulario deber estar maximizada. Los controles tendrn que estar animados, para evitar imgenes fijas en la pantalla Es recomendable utilizar controles Picture, en lugar de Image, para lograr una mejor apariencia del desplazamiento de los objetos (animacin). Los dibujos o imgenes que se animarn debern ser de tipo .BMP, pues proporcionan una mejor resolucin de los grficos. Las imgenes no debern tener bordes. Los protectores de pantalla debern ocultar el puntero del mouse mientras se estn ejecutando.

Consideraciones para los controles:


J
J

Consideraciones para la aplicacin:


J

Visual Basic 6.0 en un solo libro


Dado que Windows ejecuta el protector de pantalla en diferentes momentos, deber controlar las instancias que genera el formulario. Todos los controles u objetos generan instancias, y un formulario, cuando es cargado, genera una instancia. El programa del protector de pantalla deber contemplar este problema, porque si no lo hace, el programa se ejecutar n veces.
J

El protector de pantalla deber responder a los eventos del mouse y del teclado, es decir que debe finalizar cuando se presiona una tecla, se mueve el mouse o se presiona uno de sus botones.

Qu es la animacin
La animacin dentro de un programa, es la simulacin de movimientos mediante la visualizacin de una serie de imgenes. Este movimiento debe realizarse en forma rpida para lograr un mejor efecto. La animacin puede ser simple: es decir mover el objeto dentro del formulario, o puede ser avanzada: incluye movimiento del objeto y cambio de forma del mismo. Para probar la animacin, se debe conocer el mtodo Move que permite desplazar un objeto por el formulario, utilizando un cronmetro Timer. Cuando se mueve un objeto se debe indicar la coordenada donde se le ubicar. Esta coordenada est expresada en twip, que equivale a 1/20 punto o a 111440 pulgadas. La sintaxis del mtodo Move es la siguiente: Move izquierda, arriba
J

Izquierda: Es un nmero, expresado en twip, que representa la posicin izquierda del objeto en el formulario. Es equivalente a la propiedad Left del objeto. El valor O en la propiedad Left significa que el objeto se encuentra en el borde izquierdo del formulario. Arriba: Es un nmero, expresado en twip, que representa la posicin superior del objeto en el formulario. Es equivalente a la propiedad Top del objeto. El valor O en la propiedad Top significa que el objeto se encuentra "pegado" al borde superior del formulario.

Cmo crear un formulario con animacin


Todos los protectores de pantalla poseen imgenes que se mueven constantemente. Por ello, deber crear un formulario que tenga controles, por ejemplo: Picture, al que deber agregar la programacin necesaria para que se muevan. A continuacin, se describir el diseo de un programa que se utilizar como protector de pantalla, el que contendr una sola imagen que se desplazar por aqulla. Para ello se utilizarn los siguientes controles: Timer Para ejecutar los movimientos de las imgenes que se utilizarn.

Creacin de un protector de pantalla


Picture Para crear, en el formulario, la imagen que contendr a la fotografa de su mascota o cualquier archivo de dibujo que desee como protector de pantalla. Sugerencia: Si posee un archivo .BMP con una imagen muy amplia, reduzca su tamao o tome solamente una porcin de ella. Tenga en cuenta que el tamao de la imagen no debe ser muy grande, para que pueda moverse en la pantalla.

3 l.

Inicie una sesin de Visual Basic.

2. Deje seleccionada la opcin EXE estndar.

3. Haga un clic en el botn Abrir.


4. Ample un poco el tamao del formulario en sus dos sentidos. Si bien esto no afecta al resultado final, le facilitar la tarea de colocar la imagen y apreciar las relaciones de tamao.
5. En el men Ver, elija la opcin Propiedades o el icono correspondiente.

6. Haga doble clic sobre la propiedad BackColor y elija el color negro.

7. Mueva la barra de desplazamiento hasta la propiedad Icon.


8. Haga doble clic sobre la propiedad Icon para elegir el icono que representar al protector de pantalla. Por ejemplo, elija el archivo [Link], que se encuentra en la carpeta que muestra la figura 17.1.
Cargar irono

icrosoftVisual S tudio

Figura 17.1 Carpeta que contiene al icono que representar al protector de pantalla

9. Haga un clic sobre la propiedad BorderStyle y aparecer el control que le permitir elegir el estilo del borde.

10. Haga un clic en el control de la propiedad BorderStyle y elija el estilo o tipo de borde: O None. Observe que al no tener borde, el formulario no presenta la barra de ttulo y el icono elegido anteriormente no se ver.

1 1 . Mueva la barra de desplazamiento hasta la propiedad WindowState.

12. Haga un clic en el control de la propiedad WindowState y ver la lista de los tres posibles estados de la ventana del formulario.

Visual Basic 6.0 en un solo libro


13. Elija el estado de la ventana 2 Maximized. 14. Haga doble clic sobre la propiedad KeyPreview para que asuma el valor True. Esta propiedad establece un valor que determina si los eventos de teclado de los formularios se invocan antes que los eventos de teclado de los controles. Si esta propiedad no tiene el valor True no podr desactivar el protector de pantalla pulsando cualquier tecla. 15. Elija la herramienta Picture y dibuje un recuadro. 16. En el men Ver, elija la opcin Propiedades o el icono correspondiente. 17. Haga doble clic sobre la propiedad Picture y elija la imagen que desea utilizar dentro del protector de pantalla. Es probable que el recuadro que contendr a la imagen no la muestre en forma completa, por lo que deber modificar la propiedad AutoSize. 18. Haga doble clic sobre la propiedad AutoSize para que asuma el valor True. Con esta propiedad, el tamao del recuadro se modificar para mostrar la imagen en forma completa. 19. Haga doble clic sobre la propiedad BorderStyle para que asuma el valor O None y el recuadro que rodea a la imagen desaparecer. 20. Elija la herramienta Timer y dibuje un recuadro en alguna parte del formulario. 21. En el men Ver, elija la opcin Propiedades o el icono correspondiente. 22. Haga doble clic sobre la propiedad Interval y escriba: 1.

-I 23. Presione la tecla 1 pleto del formulario.


M

para finalizar. La Figura 17.2 muestra el diseo com-

Provecto1 - Forml IForml

Figura 17.2 Diseo completo del formulario

Creacin de un protector de pantalla


24. En el men Archivo, elija la opcin Guardar proyecto o el icono correspondiente.

25. Indique el nombre que desee aplicar al archivo del formulario y al proyecto.

Cdigos para finalizar la ejecucin del protector de pantalla


Dado que el formulario no posee un botn de salir y no tiene una barra de ttulos con el botn que cierra la ventana, es recomendable crear los procedimientos para finalizar la ejecucin del protector de pantalla. Para esto, deber tomar en cuenta que el protector deber finalizar cuando:
J

Se presione una tecla. Se haga un clic. Se haga doble clic. Se mueva el mouse.

J
J

1 . Haga doble clic sobre el formulario para desplegar la ventana del cdigo.

2. Verifique que en el recuadro que contiene la lista de los objetos diga Forml. 3. Haga un clic en el control del recuadro que lista los procedimientos y elija Click. 4. Presione la tecla1-(
para aumentar la sangra.

5. Escriba la instruccin: End. 6. Haga un clic en el control del recuadro que lista los procedimientos y elija DblClick.
7. Presione la tecla

mpara aumentar la sangra.

8. Escriba la instruccin: End. 9. Haga un clic en el control del recuadro que lista los procedimientos y elija Key Press. 10. Presione la tecla

mpara aumentar la sangra.

11. Escriba la instruccin: End.

m l

12. Haga un clic en el control del recuadro que lista los procedimientos y elija MouseDown. 13. Presione la tecla

mpara aumentar la sangra.

14. Escriba la instruccin: End. 15. En el men Ejecutar, elija la opcin Iniciar para probar cmo finaliza el programa. Notar que el formulario cumple con las propiedades que se le indicaron y adems, oculta la barra de tareas de Windows.
El protector de pantalla debe finalizar cuando mueva el mouse, pero si coloca solamente la instruccin End, no podr ejecutar el programa. Esto se debe a que el mouse

Visual Basic 6.0 en un solo libro


se mueve constantemente. Este movimiento, imperceptible al ojo humano, es causado por muchas razones, una de ellas es la vibracin que provocan los elementos que estn en su mesa de trabajo (por ejemplo: la CPU, la impresora, etc.). Para resolver este problema deber crear un cdigo que permita un rango de pequeos movimientos, tomando en cuenta las coordenadas del puntero del muse en pantalla.

1. Haga un clic en el control del recuadro que lista los procedimientos y elija MouseMove. 2. Presione la tecla

mpara aumentar la sangra.

3. Escriba la instruccin: Static X1 As Integer, Y1 As Integer. Con la instruccin Static se definen variables que tendrn el mismo valor durante la ejecucin del [Link] variables X1 e Y1 se utilizan para representar las coordenadas del puntero del mouse. 4. Presione la tecla [Enter]para pasar a la lnea siguiente. 5. Escriba la instruccin: If X1= O And Y1 = O Then.
6. Presione la tecla [Entercil y luego la tecla
para aumentar la sangra.

7. Escriba la instruccin: X1= X. Se asigna a la variable X1 la posicin actual del mouse. 8. Presione la tecla 10. Presione la tecla
para pasar a la lnea siguiente. para pasar a la lnea siguiente.

9. Escriba la instruccin: Y1 = Y.
11. Escriba la instruccin: Exit Sub. 12. Presione la tecla [Enter y luego la tecla [Backspace] para disminuir la sangra. 13. Escriba la instruccin: End If y presione la tecla [Enter. 14. Escriba la instruccin: If Abs(X1- X) < 5 And Abs(Y1- Y) c 5 Then. Con esta instruccin se permite un pequeo movimiento del mouse, comparando la actual posicin del mouse con la guardada en la variable. 15. Presione la tecla l J ] y luego la tecla 16. Escriba la instruccin: X1= X. 17. Presione la tecla [Enter para pasar a la lnea siguiente. 18. Escriba la instruccin: Y1 = Y. 19. Presione la tecla
para aumentar la sangra.

[w) para pasar a la lnea siguiente.


y luego la tecla [S) para disminuir la sangra.

20. Escriba la instruccin: Exit Sub.

-c 21. Presione la tecla 1

22. Escriba la instruccin: End If. 23. Presione la tecla [Enter]para pasar a la lnea siguiente.

Creacin de un protector de pantalla

24. Escriba la instruccin: End. La figura 17.3 muestra el procedimiento completo para todos los eventos del mouse y del teclado.
Y . . " . ,

' .,,,,,,

,<

... ",,..,

Private Sub Form-Click()

Private Sub Form~EoweEove(ButtonAs Integer, S h i f t As In S t a t i c X1 A s Integer, Y1 As Integer if X 1 = O h d Y 1 = O Tken

E x i t Sub

If Abs (X1 - X) < 5 Bnd Abs (Y1


Exit Sub

Y) < 5 Then

Figura 17.3 Procedimientos para eventos del mouse y teclado que finalizan la ejecucin

Ejecute el programa, las veces que sea necesario, para comprobar cmo finaliza segn los distintos eventos del mouse y del teclado (mover el mouse, hacer un clic o presionar una tecla).

El cdiao para mover una imagen


El protector de pantalla que se est creando presenta una imagen redonda que "rebotar" por la pantalla como una pelota. Para controlar el movimiento de la imagen se deber definir una variable que almacenar la direccin que tiene la imagen y cul ser la prxima direccin. Las instmcciones del movimiento debern formar parte del procedimiento del control Timer, pero la direccin inicial deber estar dada cuando se carga el formulario, es decir el procedimiento Load del formulario. Suponga que los movimientos de una imagen se pueden numerar, de modo que la direccin que llevar la imagen podr tomar cuatro valores:

Visual Basic 6.0 en un solo libro Valor


1 2 3 4

Direccin
Hacia arriba y a la izquierda. Hacia arriba y a la derecha. Hacia abajo y a la derecha. Hacia abajo y a la izquierda.

Otra consideracin: Si la imagen lleva una direccin hacia amba y a la izquierda (1), y toca el borde superior de la pantalla, deber cambiar la direccin hacia abajo y a la izquierda (4), pero si toca el borde izquierdo de la pantalla, deber cambiar por la direccin arriba y a la derecha (2) de la misma forma que ocurrira con una pelota.

1. Despliegue la ventana del cdigo.

2. Haga un clic en el control del recuadro que lista los objetos del formulario y elija Timerl. 3. Presione la tecla

mpara aumentar la sangra.

4. Escriba la instruccin: Select Case Movimiento.


5. Presione la tecla [Enter]para pasar a la Inea siguiente. 6. Escriba la instruccin: Case 1. Evala el movimiento: arriba y a la izquierda. 7. Presione la tecla 1-c
y luego la tecla [Backspace) para disminuir la sangra.

8. Escriba la instruccin: [Link] [Link] 20, [Link] 20. El mtodo Move mover la imagen 20 twips hacia la izquierda porque a la posicin actual (Left) le resta 20 y la desplaza hacia arriba otros 20 twips, con respecto a la posicin (Top).
9. Presione la tecla 1-[
para pasar a la Inea siguiente.

10. Escriba la instruccin: If [Link] e= O Then. Valida el borde izquierdo de la imagen, segn la actual posicin, con el borde de la pantalla. 11. Presione la tecla 13. Presione la tecla 1 -c
y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

12. Escriba la instruccin: Movimiento = 2. Indica cul ser el siguiente movimiento.


y luego la tecla 1-(

14. Escriba la instruccin: ElseIf [Link] e= O Then. Valida con respecto al borde superior de la pantalla. 15. Presione la tecla

[ m y ] luego la tecla [Tabi*]para aumentar la sangra.


y luego la tecla [Backspace) para disminuir la sangra.

16. Escriba la instruccin: Movimiento = 4. 17. Presione la tecla1 -(


18. Escriba la instruccin: End If.

19. Presione la tecla [Enter]y luego la tecla [ E para ] disminuir la sangra. 20. Escriba la instruccin: Case 2. Evala el movimiento: arriba y a la derecha.

Creacin de un protector de pantalla

(Eej

21. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

22. Escriba la instruccin: [Link] [Link] + 20, [Link] - 20. Mueve la imagen hacia arriba y a la derecha 20 twips. 23. Presione la tecla [Enter para pasar a la siguiente lnea. 24. Escriba la instruccin: If [Link] >= ([Link] [Link]) Then. Con [Link] se obtiene el ancho del formulario, a este ancho se le debe restar el ancho de la imagen ([Link])para determinar el momento
en que debe cambiar de posicin. Si no se efectuara esta resta, la imagen desaparecera porque el mtodo Move toma en cuenta el borde izquierdo del objeto, en este caso la imagen.

25. Presione la tecla [Enter y luego la tecla [ 26. Escriba la instruccin: Movimiento = 1. 27. Presione la tecla 29. Presione la tecla

S I

para aumentar la sangra.

y luego la tecla B para disminuir la sangra.

28. Escriba la instruccin: ElseIf [Link] <= O Then.

[ m 1 y luego la tecla [

S I para aumentar la sangra.


para disminuir la sangra.

30. Escriba la instruccin: Movimiento = 3. 31. Presione la tecla [Enter y luego la tecla 32. Escriba la instruccin: End If. 33. Presione la tecla 35. Presione la tecla
y luego la tecla
para disminuir la sangra.

34. Escriba la instruccin: Case 3. Evala el movimiento: abajo y a la derecha. y luego la tecla ITab-,l para aumentar la sangra. 36. Escriba la instruccin: [Link] [Link] + 20, [Link] + 20. 37. Presione la tecla [ E ? ] para pasar a la siguiente lnea. 38. Escriba la instruccin: If [Link] >= ([Link] [Link]) Then. 39. Presione la tecla
]E [ 41. Presione la tecla

y luego la tecla

mpara aumentar la sangra.

40. Escriba la instruccin: Movimiento = 4.


y luego la tecla IB"'k"p"cc1para disminuir la sangra.

42. Escriba la instruccin: ElseIf [Link] >= ([Link] - [Link]) Then. Este caso es similar al planteado anteriormente, slo que utiliza el alto de la imagen y el del
formulario.

43. Presione la tecla 1-I 45. Presione la tecla

y luego la tecla (Tab-,l para aumentar la sangra.

44. Escriba la instruccin: Movimiento = 2.

v lueeo la tecla @%@l para disminuir la sangra.

Visual Basic 6.0 en un solo libro


46. Escriba la instruccin: End If. 47. Escriba la instruccin: Case 4. Evala el movimiento: abajo y a la izquierda.

48. Presione la tecla IEnterci] y luego la tecla [Tab"-l para aumentar la sangra.
49. Escriba la instruccin: [Link] [Link] - 20, [Link] + 20. 50. Presione la tecla LEnterci] para pasar a la siguiente lnea.

51. Escriba la instruccin: If [Link] c= O Then.


52. Presione la tecla IEnterci] y luego la tecla 53. Escriba la instruccin: Movimiento = 3. 54. Presione la tecla IEnterci] y luego la tecla [Bac"pacel para disminuir la sangra. 55. Escriba la instruccin:

mpara aumentar la sangra.

ElseIf [Link] >= ([Link] [Link]) Then.


56. Presione la tecla 1 r

y luego la tecla

mpara aumentar la sangra.


para disminuir la sangra.

57. Escriba la instruccin: Movimiento = 1.

58. Presione la tecla


60. Presione la tecla

cm)

y luego la tecla

59. Escriba la instruccin: End If.

[m) y luego la tecla (Backspaeel para disminuir la sangra.

61. Escriba la instruccin: End Select. La Figura 17.4 muestra el cdigo completo.
62. Haga un clic en el control del recuadro que lista los objetos del formulario y elija

(General).
63. Escriba la definicin de la variable que verificar la direccin del movimiento de la imagen: Dim Movimiento As Integer.

Este programa todava no funciona, porque debe indicarse el primer valor que tomar la variable Movimiento, el que debe ser asignado en el momento en que se carga el formulario, es decir en el procedimiento Load.

Cmo controlar las instancias


Muchos programas puede ejecutarse n veces, tal es el caso de los programas de Microsoft Office, donde puede tener dos o ms sesiones de un mismo programa ejecutndose simultneamente. Con los protectores de pantalla ocurre lo mismo, y si no se coloca un impedimento a esta ejecucin simultnea, Windows activar el protector de pantalla y lo ejecutar varias veces. Cuando se ejecuta un programa se dice, en trminos de programacin, que ocurre una instancia. Por ello, para el protector de pantalla se debe validar si ya existe una instancia anterior o es la primera vez que se ejecuta. Esta validacin debe efectuarse en el procedimiento Load del formulario.

1. Despliegue la ventana del cdigo.

Creacin de un protector de pantalla

l a

2. Haga un clic en el control del recuadro que lista los objetos del formulario y elij; Forml.

3. Presione la tecla

para aumentar la sangra.

4. Escriba la instruccin: If [Link] Then. La propiedad PrevInstan ce del objeto App (que representa a la aplicacin), almacena un valor que deter mina el nmero de instancias que se estn ejecutando.

Select Case Hovimiento Case 1 [Link] [Link] - 2 0 , [Link] - 2 0 If [Link] <o O Then ifovimiento = 2 ElseIf [Link] <= O Then Movimiento = 4 End If Case 2 [Link] [Link] + 2 0 , [Link] - 2 0 If [Link] >= ([Link] - [Link]) Then Movimiento = 1 ElseIf [Link] <= O Then Hovimiento = 3 [Link] [Link] + 2 0 , [Link] + 2 0 If [Link] >= ([Link] - [Link]) Then Hovimiento = 4 ElseIf [Link] >= [[Link] - [Link]) Then Movimiento = 2 End If Case 4 [Link] [Link] - 2 0 , [Link] + 2 0 If [Link] <= O Then Hovimiento = 3 ElseIf [Link] >= ([Link] - [Link]) Then Movimiento = 1

End Select

Figura 17.4 Procedimiento para mover una imagen

5. Presione la tecla

y luego la tecla

para aumentar la sangra. para disminuir la sangra.

6. Escriba la instruccin: End.


7. Presione la tecla [EnterLiI y luego la tecla [
F e ]

8. Escriba la instruccin: End If.


9. Presione la tecla
para pasar a la siguiente lnea.

Visual Basic 6.0 en un solo libro

10. Escriba la instruccin: Movimiento = 3. Si ubic la imagen en el ngulo superior izquierdo del formulario, el movimiento lgico inicial sera: hacia abajo y a la derecha (3).
Ejecute el programa y observe cmo se desplaza la imagen por la pantalla. Notar que el puntero del mouse permanece visible, por lo que deber modificarse el programa para que se oculte el mouse al iniciarse la ejecucin del mismo y para que vuelva a mostrarse cuando finalice.

Cmo ocultar y mostrar el mouse


Todo protector de pantalla oculta el puntero del mouse y ste vuelve a mostrarse una vez que el protector se desactiva. Para resolver este problema deber conocer la funcin ShowCursor. Esta funcin puede contener dos posibles valores, O para ocultar el cursor y -1 para mostrarlo (son valores lgicos).

La funcin ShowCursor est contenida en la librera [Link], por lo que debe definirse, junto con las variables, para que pueda ser utilizada.

Para ocultar el mouse, utilizando esta funcin, deber escribir una instruccin que oculte el mouse cuando se carga el formulario (en el procedimiento Load) y otra instruccin para mostrarlo cuando finalice la ejecucin del protector de pantalla (en los eventos del mouse y del teclado).

1. Despliegue la ventana del cdigo. 2. Haga un clic en el control del recuadro que lista los objetos del formulario y elija (General). 3. Escriba la definicin que se utilizar para ocultar el mouse: Private Declare Function ShowCursor Lib "User32" (ByVal fShow As Integer) As Integer.

4. Haga un clic en el control del recuadro que lista los objetos del formulario y elija Forml. Aparecer el procedimiento Click.
5. Coloque el cursor al comienzo de la instruccin End.

6. Presione la tecla

y luego la tecla

m para llevar el cursor a la lnea anterior.

7. Escriba la instruccin: Puntero = ShowCursor(-1).Esta instruccin mostrar el puntero cuando se haga un clic para finalizar la ejecucin del protector de pantalla.

8. Haga un clic en el control del recuadro que lista los procedimientos y elija DblClick.
9. Coloque el cursor al comienzo de la instruccin End.

10. Presione la tecla IEiG33 y luego la tecla Q para llevar el cursor a la lnea anterior. 11. Escriba la instruccin: Puntero = ShowCursor(-1).

Creacin de un protector de pantalla


12. Haga un clic en el control del recuadro que lista los procedimientos y elija KeyPress. 13. Coloque el cursor al comienzo de la instruccin End. 14. Presione la tecla [Enter y luego la tecla
para llevar el cursor a la lnea anterior.

15. Escriba la instruccin: Puntero = ShowCursor(-1). 16. Haga un clic en el control del recuadro que lista los procedimientos y elija MouseMove. 17. Coloque el cursor al comienzo de la instruccin End, que se encuentra al final del procedimiento. 18. Presione la tecla (Entei y luego la tecla
para llevar el cursor a la lnea anterior.

19. Escriba la instruccin: Puntero = ShowCursor(-1).Esta instruccin mostrar el puntero cuando se haga un clic para fuializar la ejecucin del protector de pantalla. 20. Haga un clic en el control del recuadro que lista los procedimientos y elija Load. 21. Coloque el cursor al comienzo de la instruccin Movimiento = 3. 22. Presione la tecla [Enter y luego la tecla @ para llevar el cursor a la lnea anterior. 23. Escriba la instruccin: Puntero = ShowCursor(0).Esta instruccin ocultar el puntero del mouse. La figura 17.5 muestra la definicin de la funcin y uno de los procedimientos modificados. 24. Guarde el proyecto terminado.

1 1Proyecto1

t orml [I:idiijo]

Figura 17.5 Definicin de la funcin que oculta o muestra el puntero del mouse

Creando el archivo SCR


Los protectores de pantalla son archivos ejecutables que tienen la extensin .SCR en lugar de la tradicional .EXE. Por lo tanto, crear el archivo que ejecutar al protector de pantalla, es similar a la creacin del ejecutable de un programa estndar. Para crear el archivo .SCR, ejecute los siguientes pasos:

Visual Basic 6.0 en un solo libro

3 1.

En el men Archivo, elija la opcin Generar [Link]. En esta opcin usted ver el nombre que le asign al proyecto del protector de pantalla.

2. En el recuadro Nombre de archivo, indique el nombre que desea para el protector de pantalla, seguido de la instruccin .SCR. El nombre que indique aqu ser el que mostrar en el cuadro de Windows: Propiedades de Pantalla.

3. Haga un clic en el control del recuadro Guardar en.


4, Elija el directorio de Windows. De esta forma lo tendr disponible para activarlo cuando modifique las propiedades del escritorio o pantalla de Windows.

A partir de ahora, cada vez que abra el proyecto del protector de pantalla para modificarlo, ver en el men Archivo la opcin Generar [Link]

Instalacin de Visual Basic 6.0

Requisitos del sistema


Para instalar la versin Profesional de Visual Basic 6.0 es preciso considerar los siguiente requisitos de hardware y soffware:
J

Sistema operativo: Windows 95 o posterior, Windows NT 4 o posterior. Procesador: 486DX2 de 66 MHz.(Recomendable: Pentium o superior). Memoria RAM: 16 MB. Espacio en el disco duro. Unidad de CD-ROM. Para la instalacin mnima 30 MB. Para la instalacin completa 220 MB.

J J

J J

Monitor VGA o superior. Mouse.

Nota: Visual Basic 6.0 puede instalarse sobre Windows NT 3.51, pero es recomendable tener instalado Service Pack y disponer de 32 MB de memoria RAM.

Cmo instalar Visual Basic 6.0

1. Coloque el CD en la unidad correspondiente, se ejecutar automticamente la presentacin de Visual Basic 6.0 y aparecer el cuadro de la figura A.1.

2. Haga un clic en el botn Siguiente y aparecer el cuadro que muestra el contrato de licencia de usuario.
3. Haga un clic en la opcin Acepto el contrato y se habilitar el botn que le permite continuar con la instalacin de Visual Basic 6.0.

4. Haga un clic en el botn Siguiente y aparecer el cuadro que muestra la figura A.2, solicitando el nmero del producto y el Id del usuario. Este nmero lo encontrar en la parte posterior de la caja que contiene el CD.
5. Escriba el nmero completo del producto.
6. Indique, si lo desea, su nombre y el de la empresa en la que trabaja. Esta informacin es opcional, ya que si la omite podr continuar el proceso de instalacin del programa.

Visual Basic 6.0 en un solo libro

Figura A. 1 Cuadro de presentacin de Visual Basic 6.0

uurnero de producto r: [d. dc: ario


E-rrih 01 niinlrm rir P i

Id de

prodcicto

Figura A.2 Solicitud de la informacin del producto y del usuario

7. Haga un clic en el botn Siguiente y aparecer un cuadro indicando que debe instalar el programra DCOM 98, que es necesario para que pueda utilizar Visual Basic 6.0.

Apndice

% DCOM es un protocolo de objetos que permite a los componentes de ActiveX comunicarse directamente entre s a tra(Distributed Component Objecf ModeZ)

vs de una red. DCOM es independiente del lenguaje, de modo que cualquier lenguaje que genere componentes de ActiveX tambin puede generar aplicaciones DCOM.

8. Marque la opcin Instalar DCOM 98. 9. Haga un clic en el botn Siguiente y comenzar la instalacin de DCOM 98. Finalizada esta instalacin aparecer el cuadro de la figura A.3, donde se indica que el sistema debe ser reiniciado.

El Asiderite para la instala~ziri reiniciara ah12rael sistema

Figura A.3 Aviso de reinicio del sistema

m -

10. Haga un clic en el botn Aceptar para que el sistema se reinicie. Luego continuar el asistente de instalacin y aparecer el cuadro que muestra la figura A.4.
11. Marque la opcin Instalar Visual Basic 6.0 Edicin profesional.

12. Haga un clic en el botn Siguiente y aparecer un cuadro solicitando la carpeta donde se almacenarn los archivos comunes de Visual Basic.

Figura A.4 Instalacin de Visual Basic 6.0

Visual Basic 6.0 en un solo libro 13. Si desea elegir otra carpeta para guardar los archivos comunes, haga un clic en el botn Examinar y aparecer el cuadro de la figura A.5.

/*..

BUSCM

carpeta

EaH

Figura A.5 Cuadro de eleccin de la unidad de disco y carpeta para los archivos comunes

14. Elija la unidad de disco y la carpeta donde desea instalar los archivos comunes.

15. Haga un clic en el botn Aceptar para volver al cuadro anterior.

d -i

16. Haga un clic en el botn Siguiente para continuar con la instalacin y se desplegar el cuadro que indica el inicio de la instalacin de Visual Basic 6.0, tal como lo muestra la figura A.6. Finalizada la preparacin de la instalacin del programa, aparecer un cuadro donde se le avisar que debe cerrar todos los programas que est utilizando, a fin de no perder datos y para permitir que la instalacin pueda ejecutarse correctamente.
~lmldacin de Yiciosni Visual Batic 6.0

Figura A.6 Incio de la instalacin de Visual Basic 6.0

17. Haga un clic en el botn Continuar cuando aparezca el aviso de cerrar los programas abiertos o en uso.
18. A continuacin, el programa de instalacin de Visual Basic 6.0 buscar componentes instalados, tal vez de versiones anteriores, y mientras tanto mostrar el mensaje de la figura A.7.

Apndice

19. Finalizada la bsqueda de componentes instalados, aparecer el cuadro de eleccin de tipo de instalacin de la figura A.8. Por default, estr seleccionado el botn de instalacin Tpica. Este tipo de instalacin cargar en el disco duro los componentes ms usuales de Visual Basic 6.0. Debido a que este tipo de instalacin no copia en el disco los elementos grficos que se pueden utilizar, ser preciso hacer una instalacin personalizada (tema que veremos ms adelante).

Figura A.7 Mensaje de bsqueda de componentes instalados

Figura A.8 Eleccin del tipo de instalacin

20. Haga un clic sobre el botn Tpica para instalar los componentes de Visual Basic ms usuales. Luego aparecer un cuadro, como el de la figura A.9, indicando el porcentaje de instalacin del programa.
Archivo de destino. C:~'~r,')[Link]'~,SYSTEtd'~.[Link]

Figura A.9 Progreso de la instalacin

21. Cuando finalice la instalacin de todos los componentes de Visual Basic, aparecer el cuadro de la figura A.10. Haga un clic en el botn Reiniciar Windows para que se actualice el sistema operativo.

Visual Basic 6.0 en un solo libro

Figura A. 10 Finalizacin de la instalacin

1 \

Si bien la instalacin de Visual Basic 6.0 ha finalizado, el asistente de instalacin todava sigue ejecutndose. Por lo tanto, al reiniciarse el sistema aparecer un cuadro preguntando si desea instalar la MSDN Library (Microsoft Developer Network), que se encuentra en dos CD-ROM y en donde podr encontrar toda la documentacin de Visual Basic y de Visual Studio (grupo al que pertenece Visual Basic 6.0). Para evitar la instalacin de esta librera, ejecute los siguientes pasos:

1. Desmarque la opcin Instalar MSDN, de esta forma no instalar la MSDN Library.


2. Haga un clic en el botn Siguiente y aparecer un cuadro, como el de la figura A.11, preguntando si desea instalar herramientas para utilizar en un servidor de red.
p

lnstalacanes de servidor
r una de la* hetramenias de ~ervidw que fe muestran a ri, seleccione d tipo de mslalacari qua &ea qecutar y tbaga ckc n ' lnctalar" 51la instalaciondeherranieMasde ser~hjor reqaere le, volvera a esta pagina del asistente ie srvidoc

Figura A. 11 Cuadro para elegir elementos para un servidor

Apndice

)Em

3. Haga un clic en el botn Siguiente, sin marcar ninguna de las opciones listadas en el cuadro del asistente de instalacin.
4. Desmarque la opcin Registrarse ahora, para no ejecutar el procedimiento de registro Visual Basic 6.0.
5. Haga un clic en el botn Finalizar para concluir con la tarea de instalacin de Visual Basic 6.0.

Cmo instalar Visual Basic en forma personalizada


En lugar de instalar todos los componentes, puede optar por instalar slo aquellos que realmente necesita, de esa forma reducir el espacio que ocupar en el disco duro. A la vez, tambin podr agregar todos aquellos componentes que no se incluyen en la instalacin Tpica, como por ejemplo los referidos a grfcos (imgenes, cursores, pelculas, etctera).

3
4 -

l. Coloque el CD en la unidad de disco correspondiente y se iniciar el proceso de instalacin.

2. Haga un clic en el botn Siguiente y aparecer el cuadro que muestra el contrato de licencia de usuario.

3. Haga un clic en la opcin Acepto el contrato y se habilitar el botn que le permite continuar con la instalacin de Visual Basic 6.0.
4 Haga un [Link] siguiente y aparecer un cuadro solicitando el nmero del groducto y el Id M usuario. Este nmero lo encontrar en la parte posterior de la caja que contiene el CD.
5. Escriba el nmero completo del producto.

6. Indique, si lo desea, su nombre g el de la empresa en la que trabaja. Esta informacin es opcional, ya que si la omite podr continuar el proceso de instalacin del programa.
7. Haga un clic en el botn Siguiente y aparecer un cuadro indicando que debe instalar el programa DCOM 98 (Distributed Component Object Model), que es necesario para que pueda utilizar Visual Basic 6.0. Si ya tiene instalado este componente, no se mostrar este cuadro.
8. Marque la opcin Instalar DCOM 98.

9. Haga un clic en el botn Siguiente y comenzar la instalacin de DCOM 98. Finalizada esta instalacin, aparecer un cuadro indicando que el sistema deber reiniciarse.
I ~ c e P t a a

10. Haga un clic en el bot6n Aceptar para que el sistema se reinicie. Luego continuar el asistente de instalacin. ..
I

1 1 . Marque la opcin Instalar Visual Basic 6.0 Edicin profesional.

E.?

m
> e ~

Visual Basic 6.0 en un solo libro


12. Haga un clic en el botn Siguiente y aparecer un cuadro solicitando la carpeta donde se almacenarn los archivos comunes de Visual Basic.
M

13. m Si desea ~ elegir otra ~ carpeta para guardar los archivos comunes, haga un clic en el botn Examinar y aparecer un cuadro donde podr elegir el lugar donde desea que se instalen estos archivos.
14. Elija la unidad de disco y la carpeta donde desea instalar los archivos comunes.

15. Haga un clic en el botn Aceptar para volver al cuadro anterior.


t i

16. Haga un clic en el botn Siguiente para continuar con la instalacin y aparecer el cuadro que indica el inicio de la instalacin de Visual Basic 6.0. Finalizada la preparacin de la instalacin del programa, aparecer un cuadro donde se le avisar que debe cerrar todos los programas que est utilizando, a fin de no perder datos y para que la instalacin pueda ejecutarse correctamente. 17. Haga un clic en el botn Continuar cuando aparezca el aviso de cerrar los programas abiertos o en uso. 18. A continuacin, el programa de instalacin de Visual Basic 6.0 buscar componentes instalados, tal vez de versiones anteriores. Finalizada la bsqueda de componentes instalados, aparecer el cuadro de eleccin del tipo de instalacin. 19. Haga un clic sobre el botn Personalizada para poder elegir los componentes de Visuai Basic que se instalarn. Luego a p m r un cuadro, como el de la figura A.12.
n profesional - Personalizada

mml

cfe o

e s , sqkciope !os &mentas: que deseca inst$yg borre b q q w ano desea . . .

t~&br
. u . . . . .

de la Esta O p c h s , haga clic on


r .

1:"" ............................................................................................. ' Microsoft Visual Basic 6.0

"

..................................... ...... 481111 KI


2662 KB 9206KB 10228 KB 16801 KB 1489 KB

IJ] Herramientasy caractersticas profesionales @ GrFicos


erramientas

MwiliCW Opcwn... Seleccitodo

11

Figura A. 12 Eleccin de los componentes de Visual Basic que se instalarn

Apndice

Cuando modifique las opciones o componentes que se instalarn, las marcas que aparecern en el cuadro pueden ser:
r]!Totalmente blanco

no se instala el componente. el componente se instala completamente. la instalacin del componente se realizar en forma parcial.

Con un tilde sobre fondo blanco


@ J Con un tilde sobre fondo gris

20. Desmarque todas aquellas casillas de componentes que no desea instalar.

21. Algunas opciones estn divididas en partes, por ejemplo: elija la opcin Grficos y haga un clic en el botn Modificar opcin. Luego aparecer el cuadro correspondiente al listado de partes que integran esta opcin.

22. Elija las opciones correspondientes, para la opcin Grficos, elija todos los componentes (figura A.13).

Cursores

1585KB 8161 KB 2257 KB

Figura A.13 Componentes de la opcin Grficos

23. Haga un clic en el botn Aceptar para volver al cuadro anterior.


24. Haga un clic en el botn Siguiente para continuar con la instalacin.

1
,

25. Haga un clic en el botn Siguiente para que se inicie la copia de los archivos en el disco.

1 26. Haga un clic en el botn Reiniciar Windows para que se actualice el sistema
operativo, cuando finalice el reinicio del sistema, aparecer nuevamente el asistente de instalacin.

Visual Basic 6.0 en un solo libro 27. Desmarque la opcin Instalar MSDN, de esta forma no instalar la MSDN Library . 28. Haga un clic en el botn Siguiente y aparecer un cuadro preguntando si desea instalar herramientas para utilizar en un servidor de red.

m -1
-

29. Haga un clic en el botn Siguiente, sin marcar ninguna de las opciones listadas en el cuadro del asistente de instalacin. 30. Desmarque la opcin Registrarse ahora, para no ejecutar el procedimiento de registro Visual Basic 6.0. 31. Haga un clic en el botn Finalizar para concluir con la tarea de instalacin de Visual Basic 6.0.

Cmo instalar la MSDN Library


Junto con el CD de Visual Basic 6.0, usted dispondr de dos CD-ROMs con la librera de Visual Studio 6, llamada MSDN (Microsoft Developer Network), donde encontrar al manual del usuario de cada uno de los programas que conforman Visual Studio, entre ellos el de Visual Basic 6.0. Adems de los manuales de usuario, encontrar ejemplos y publicaciones referentes a las posibilidades que brindan los programas que componen a Visual Studio. Para instalar la MSDN Library , deber ejecutar los siguientes pasos:

l. Inserte el CD de la librera MSDN en la unidad de disco correspondiente. Comenzar la autoejecucin del asistente para instalar esta librera, y mientras este procedimiento se realiza, usted ver un cuadro como el de la figura A.14.

Figura A.14 Inicio de la instalacin de la MSDN Library

2. Haga un clic en el botn Continuar en el cuadro que inicia la instalacin de la MSDN Library .Visualizar otro cuadro que solicitar el ingreso de su nombre y el de su empresa (este ltimo es optativo), tal como muestra la figura A.15.

Apndice

--

_j

Eicriba el nignibre completo en el cuadro correspotldierite Puede escr~hir tanihiet-t el norritire de la orgariicacioti Erto-: nombres se uzariri en iti:tlacione: po:tr,riiires del prodtgrfn Nornhre Oruarii~acian -

[ i .

Figura A.15 Solicitud del nombre del usuario y de la empresa

3. Haga un clic en el botn Aceptar y aparecer un cuadro solicitando la confirmacin de los datos ingresados.
4. Haga un clic en el botn Aceptar y aparecer el cuadro con el nmero de serie correspondiente a su MSDN Library .
5. Haga un clic en el botn Aceptar y el programa comenzar a buscar los componentes instalados, finalizado este procedimiento, aparecer el cuadro con el contrato de licencia.

6. Haga un clic en el botn Acepto para desplegar el cuadro que indica el tipo de instalacin que efectuar, tal como muestra la figura A.16.
7. Haga un clic en el botn Personalizada para poder elegir qu se instalar.

Para a

ar~~deinskbciin~~,~cdicwurto&fizs

Figura A.16 Cuadro de tipos de instalacin de la MSDN Library

Visual Basic 6.0 en un solo libro

En la lista de opciones, seleccione los elementos que desea instalar y borre los que no desea instalar en el sistema. Un cuadro sombreado con una marca indica que se instalara s61o una parte del componente. Para seleccionar todos los componentes de la lista Upciones, haga clic en Seleccionar todo. Descripcin

1
Y
y

Documentacinde VB [Link] VB C] Documentacinde VC++ Documentacinde VFP Eiempios de VFP Documentacinde VID

n
n

12896 KB 9360 KB 16048 KB 7600 KB 18640 KB

Documrtitacin y archivo; que t ?eincluyen en ninguna otra opcin persotializada

'todo

IE

Espacio requeBdoen C:

Ewacb

mC:

22256 KB 240432KB

Figura A.17 Documentacin a instalar

8. Marque los componentes que desea instalar. Por ejemplo, marque solamente las opciones correspondientes a la documentacin de Visual Basic 6.0, tal como muestra la figura A.17.

9. Haga un clic en el botn Continuar y comenzar la copia del primer CD de la MSDN Library, tal como muestra la figura A.18.
MSDN Library - Visual Studio 6.0a CD1

m 1

Figura A. 18 Inicio de la instalacin de los componentes de la MSDN Library

10. Finalizada la instalacin de la informacin del primer CD, aparecer un cuadro como el de la figura A.19, indicando que debe colocar el segundo CD en la unidad de disco correspondiente. 11. Inserte el CD en la unidad correspondiente y haga un clic en el botn Aceptar para continuar con la instalacin. Una vez completada la instalacin de los componentes, aparecer un cuadro indicando la finalizacin de la misma.

Apndice

'MSDN L h y . V i S\urlr> O a COZ

I~rbcDUOM.

mhuiEhdE:

Figura A.19 Solicitud de cambio de CD-ROM

3 -

12. Haga un clic en el botn Aceptar y MSDN Library quedar instalada.

Cmo agregar o eliminar componentes ya instalados


Una vez instalado Visual Basic 6.0, es posible modificar la lista de los componentes instalados, agregando elementos que nohaba instalado previamente o eliminar aquellos que ya no utiliza. Hasta puede desinstalar todo Visual Basic, si as lo desea.

3 1.
propramas

Haga un clic en el botn 1-0.

2. Elija la opcin Configurad6n y luego Panel de control.


3. Haga doble clic sobre el icono Agregar o quitar programas y aparecer el cuadro de la figura A.20.

4. Seleccione en el cuadro inferior Microsoft Visual Basic 6.0 Edicin Profesional (Espaol).

M i Fgl M'iaosdt O f h 97 Fmkimd MiosdtV d Baaic 6.0 Edcibi pdeomd EapaFki] MSDN Lbrary - V d Shido 6.00 C m

Figura A.20 Agregar o eliminar programas

Visual Basic 6.0 en un solo libro


5. Haga un clic en el botn Agregar o quitar. Luego aparecer la ventana correspondiente a la instalacin de Visual Basic, pero mostrando un cuadro como el de la figura A.2 1.

Figura A.21 Modificacin de la instalacin de Visual Basic 6.0

6. Haga un clic en el botn Agregar o quitar, aparecer el cuadro con el listado de todos los componentes instalados de Visual Basic para que elija cules desea eliminar en forma total o parcial.

7. Marque los componentes que desea instalar y desmarque los que desea eliminar. Observe que en la parte inferior del cuadro aparece un nmero que indica la cantidad de componentes que se agregarn y10 eliminarn, tal como lo muestra la figura A.22.

Figura A.22 Cantidad de elementos a agregar o eliminar

8. Haga un clic en el botn Continuar para iniciar la instalacin o eliminacin de componentes.

Cmo desinstalar Visual Basic


La desinstalacin de todos los componentes de Visual Basic es similar a los pasos anteriores, pero recuerde que al desinstalar siguiendo los pasos que se detallan a con-

Apndice

tinuacin, los directorios con la informacin personalizada y los archivos LEAME permanecen en el disco duro.

u m
-9'

3. Haga un clic en el botn Inicio.

2. Elija la opcin Configuracin y luego Panel de control.


3. Haga doble clic sobre el icono Agregar o quitar programas.

Agregar o quitar programas

4. Seleccione en el cuadro inferior Microsoft Visual Basic 6.0 Edicin Profesional (Espaol).

5. Haga un clic en el botn Agregar o quitar. r i

d b

6. Haga un clic en el botn Eliminar todos para desinstalar todos los componentes de Visual Basic 6.0.

? ! f

Utilice el botn Reinstaiar para volver a instalar los componentes seleccionados en la ltima instalacin o reinstalacin de Visual Basic.

La publicacin de esta obra la realiz Editorial Trillas, 5. A. de C. U

Divisin Administrativa, Av. Ro Churubusco 385, Col. Pedro Marr Anaya, C. /? 03340, Mxico, D. E Tel. 56884233, F M 56041364 Divisin Comercial, Calz. de la Viga 1132, C. i? 09439 Mxico, D. E Tel. 56330995, FAX 56330870
Se imprimi en Impresora Roma, 5. A. de C. V.
A 0 75 TASS

También podría gustarte