Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aprenda Visual Basic Practicando
Aprenda Visual Basic Practicando
PRACTICANDO
Revisin tcnica:
Pginas: 848
Educacin
A Adriana, mi esposa,
porque ama mis propiedades,
hace mejores todos mis eventos
y motiva todos mis mtodos.
CONTENIDO
____________________________________________________________________
Contenido ..........................................................................................................................................vi
ndice de prcticas .............................................................................................................................xv
Lo inesperado ....................................................................................................................................xx
Prlogo ..............................................................................................................................................xxii
Forma y contenido del libro .............................................................................................................xxiii
Agradecimientos...............................................................................................................................xxvii
Contenido vii
Insercin de objetos...............................................................................................................................
Propiedades de posicin y dimensin ..................................................................................................
Organizacin de los objetos en el formulario ......................................................................................
Cmo establecer las aplicaciones para diferentes resoluciones de monitores .....................................
Resumen .......................................................................................................................................................
Algunas respuestas a los ejercicios .....................................................................................................
37
41
48
52
55
56
58
59
59
62
67
73
74
76
76
79
81
84
.84
.94
96
.97
98
98
viii Contenido
InputBox ....................................................................................................................................................
Declaracin de variables ................................................................................................................................
Tipos de datos ................................................................................................................................................
DIM: declaracin de variables de memoria ...................................................................................................
Alcance ..........................................................................................................................................................
Nombre ..........................................................................................................................................................
Constantes ......................................................................................................................................................
Matrices ..........................................................................................................................................................
Funciones de lmite de posiciones ..................................................................................................................
Option Explicit .........................................................................................................................................
Conversin de datos ........................................................................................................................................
La funcin Format ........................................................................................................................................
Resumen .........................................................................................................................................................
Algunas respuestas a los ejercicios .......................................................................................................
139
142
143
145
147
148
150
150
153
155
158
161
166
166
Contenido jx
Parte 3: Controles grficos y programacin orientada a eventos
Captulo 10: Controles bsicos para la introduccin de datos ................................................................
Controles bsicos para el acceso de datos .....................................................................................................
Label.......................................................................................................................................................
TextBox..................................................................................................................................................
CommandButton......................................................................................................................
Enfoque .........................................................................................................................................................
La tecla presionada: evento KeyPress ..................................................................................................
Resumen ........................................................................................................................................................
241
242
242
243
244
249
259
262
x Contenido
Manejo del Portapapeles ...............................................................................................................................
Len: longitud del texto ..........................................................................................................................
Propiedades del objeto fuente: SelStart, SelLength y SelText ..............................................
Mtodos del objeto Clipboard: Clear, SetText y GetText ..........................................................
Resumen ........................................................................................................................................................
385
386
386
387
393
Contenido xi
Captulo 20: Cmo trabajar en una interfaz de mltiples documentos ...............................................
Fundamentos del entorno MDI ..................................................................................................................
Limitaciones que implica el uso de un formulario MDI .......................................................................
Cmo preparar su aplicacin para compilacin y distribucin ...................................................................
Resumen ......................................................................................................................................................
505
506
508
511
512
xii Contenido
Cmo trabajar con las colecciones de DAO ................................................................................................... 587
Resumen .......................................................................................................................................................... 594
Algunas respuestas a los ejercicios ........................................................................................................ 595
Captulo 24: Lenguaje de Manipulacin de Datos y DAO ........................................................................ 597
Lenguaje de Manipulacin de Datos .............................................................................................................. 598
Validaciones a nivel tabla ....................................................................................................................... 599
Validaciones a nivel base de datos .......................................................................................................... 599
Operaciones bsicas de manipulacin de bases de datos ............................................................................... 600
Tareas de apertura de base de datos ................................................................................................................ 601
OpenDatabase ....................................................................................................................... 601
OpenRecordset ..................................................................................................................... 602
Tipos de Recordset ............................................................................................................... 603
Close ...................................................................................................................................... 605
Tareas de escritura de datos (partel) ................................................................................................................ 605
AddNew y actualizacin al almacn de datos .......................................................................................... 606
Tareas de bsqueda de datos (parte 1) ............................................................................................................. 609
Seek ........................................................................................................................................................ 609
Propiedad Index ..................................................................................................................................... 609
Propiedad NoMatch ................................................................................................................................ 610
Tareas de escritura de datos (parte 2) .............................................................................................................. 610
Edit ........................................................................................................................................................ 611
Update .................................................................................................................................................... 611
Delete .................................................................................................................................................... 612
Tcnica RAR ................................................................................................................................................... 613
Tareas de movimiento entre datos ................................................................................................................... 622
Tareas de bsqueda de datos (parte 2) ............................................................................................................. 627
Condicin ................................................................................................................................................... 628
Mtodos Find ........................................................................................................................................... 629
Resumen ........................................................................................................................................................... 636
Captulo 25: Controles Data y FlexGrid ................................................................................................ 639
Control Data .................................................................................................................................................... 640
Objetos vinculados a campos de base de datos ........................................................................................ 641
FlexGrid ...................................................................................................................................................... 646
Consideraciones de incompatibilidad entre Access 97 y Access 2000 ........................................................... 649
Resumen .......................................................................................................................................................... 655
Captulo 26: Bases de datos multiusuario usando DAO ...........................................................................
La necesidad de capacidades multiusuario .....................................................................................................
Cmo abrir la base de datos en modo compartido ...................................................................................
Cmo abrir los Recordsets en modo compartido ..............................................................................
Problemas al escribir y concepto de bloqueo ...........................................................................................
Bloqueo pesimista y optimista .......................................................................................................................
Bloqueo pesimista ....................................................................................................................................
Bloqueo optimista ....................................................................................................................................
Aclaracin del "bloqueo de registros" .....................................................................................................
Manejo de errores para el modo multiusuario ................................................................................................
On Error ...............................................................................................................................
Etiquetas .................................................................................................................................
GoTo ........................................................................................................................................
657
658
658
659
660
662
662
663
664
665
665
665
665
Contenido xiii
Resume ...............................................................................................................................................
Err y Error .......................................................................................................................................
Exit Sub .............................................................................................................................................
Resumen .......................................................................................................................................
666
666
666
672
737
738
739
749
751
752
752
753
753
754
755
755
760
762
769
771
776
783
787
xiv Contenido
Parte 5: Apndices
791
791
794
795
795
795
796
797
797
798
798
799
799
799
801
801
802
802
Apndice II: Service Pack 5.0 de Visual Studio 6.0 ................................................................................... 803
Necesidad del Service Pack ............................................................................................................................ 803
Consideraciones de instalacin ................................................................................................................. 805
Actualizaciones de productos relativos a Visual Basic ................................................................................... 807
Microsoft Agent 2.0 ............................................................................................................................... 807
Visual Studio Installer ............................................................................................................................... 807
Problemas con los controles, resueltos con SP5 .............................................................................................. 807
Artculos de Microsoft Knowledge Base sobre los errores solucionados ........................................................ 812
ndice ................................................................................................................................................................813
NDICE DE PRCTICAS
_________________________________________________________________________
38
43
45
45
46
47
49
51
53
54
81
82
85
86
87
90
92
xv
104
107
110
111
307
312
319
325
326
332
349
354
358
361
365
375
380
381
383
384
387
398
401
406
410
416
LO INESPERADO
_________________________________________________________________________
XX
Lo inesperado xxi
Errores en tiempo de ejecucin (orden consecutivo)
Algunos campos no regresan valores al ejecutar el informe........................................................................... 766
El tamao del informe excede el tamao de la pgina.................................................................................... 766
Error desconocido ADO................................................................................................................................. 734
No se encuentra el nombre del origen de datos (Administrador ODBC)....................................................... 734
Error 5: Llamada a procedimientos o argumentos no vlidos ........................................................................ 368
Error 6: Desbordamiento................................................................................................................................. 146
Error 9: El subndice est fuera del intervalo....................,............................................................................ 153
Error 13: No coinciden los tipos ...................................................................................................................... 228
Error 48: Error al cargar la biblioteca "archivo.ocx".................................................................................... 735
Error 53: No se ha encontrado el archivo....................................................................................................... 397
Error 68: El dispositivo no est disponible ..................................................................................................... 463
Error 75: Error de acceso a ruta o archivo ..................................................................................................... 463
Error 76: No se ha encontrado la ruta de archivo........................................................................................... 462
Error 91: Variable de tipo objeto o la variable de bloque With no est definida............................................ 730
Error 380: El valor de la propiedad no es vlido ........................................................................................... 515
Error 424: Se requiere un objeto ............................................................................................................. 115, 247
Error 481: La imagen no es vlida.................................................................................................................. 397
Error 3020: Update o CancelUpdate sinAddNew o Edit ................................................................................ 612
Error 3044: {Rutaj No es una ruta vlida ...................................................................................................... 575
Error 3078: El motor de base de datos Jet no encuentra la tabla o query ..................................................... 603
Error 3204: Base de datos ya existe................................................................................................................. 575
Error 3264: No hay campos definidos - No se puede agregar el objeto TableDefo ndex ............................. 576
Error 3265: Elemento no encontrado en esta coleccin ................................................................................ 608
Error 3368: Relaciones deben ser por el mismo nmero de campos del mismo tipo de datos ....................... 587
Error 3420: Objeto invlido o no permanece definido ................................................................................... 578
Error 3421: Error de conversin de tipo de datos .......................................................................................... 620
Error 35600 El ndice est fuera de los lmites .............................................................................................. 415
Error 35601 No se encontr el elemento ........................................................................................................ 415
Error-2147217843: Conexin invlida............................................................................................................ 707
Error -2147217843: Login failed.................................................................................................................... 707
Error -2147217843: Attempt to locate entry in sysdatabase.......................................,................................... 708
PRLOGO
_________________________________________________________________________
xxii
xxiii
Notas
Las notas que aparecen en el contenido de este libro pueden ser de los siguientes tipos:
Las referencias marcadas como Nota contienen informacin suplementaria, que no repercute en la
realizacin de una tarea, pero que sin duda enriquecer su acervo de conocimientos relativos a
Visual Basic.
Las notas marcadas como Lo inesperado contienen explicaciones de aquello que le puede suceder
y que no esperaba que ocurriera; comportamientos extraos, errores, situaciones imprevistas de
toda ndole. Por lo general, seguirn de prcticas que con toda intencin generan el error, a efecto
de que usted lo pueda analizar y prevenir. Este tipo de notas ser vital para usted, ya que los
errores ms comunes y la forma de solucionarlos se detallarn en el momento oportuno.
Prcticas
Las prcticas que se encuentren en este libro (que son muchas) estarn presentadas como listas
numeradas (1, 2, 3, y as sucesivamente). Una vieta triangular (>>) indica el inicio de una
prctica. Las prcticas estarn numeradas por Captulo.Prctica; las prcticas sern su gua para
saber cmo hacer algo.
En el desarrollo de las prcticas ser muy frecuente el uso de los mens de Visual Basic; algunos
de ellos tienen diferentes niveles de profundidad, es decir, de un
Archivos de apoyo
En el sitio Web http://www.enlace.net/ramirez2 se ha colocado un archivo llamado
AVBP.ZIP, que contiene los archivos comprimidos que son necesarios para la realizacin de las
prcticas del libro. Al ejecutar el programa, se generar un directorio llamado \avbp, que a su
vez tendr varios directorios, como sigue:
\avbp
\cap01
\cap02
\cap03
..
En \avbp\capn se colocarn los archivos necesarios para que pueda realizar de manera completa
y correcta las prcticas. La
archivos.
En \avbp\capn se debern guardar las aplicaciones que vaya generando, a efecto de que tenga
debidamente organizado su avance. La
generadas las aplicaciones.
Aunque no todos los captulos requieren archivos o generan aplicaciones, se incluirn de tal forma
que se tenga un estndar de uso. No se incluyen los ejercicios ya resueltos; la idea es que usted
programe, o no?
AGRADECIMIENTOS
Aprenda Visual Basic practicando no es el esfuerzo de una sola persona, y mucho menos la visin unipersonal de
un profesional en informtica con nimo de sentarse a escribir; ms bien es una especie de consolidacin
colectiva, la contribucin de muchas cabezas y muchas manos, con el objeto de producir un libro idneo para
capacitar a estudiantes de informtica en la programacin, utilizando para ello Visual Basic.
Quiero agradecer a todos los que de una forma u otra contribuyeron con el desarrollo de este libro. Los miembros
de la generacin LI@ 1996-2000, de la Facultad de Contadura y Administracin, habitan de manera cmoda y
curiosa en cada uno de los ejercicios contenidos en el texto: para ustedes mi amistad, mi respeto y mi apoyo
constante.
Especialmente agradezco a dos personas: a Dalila Garza Villarreal, quien de manera exhaustiva y dedicada corri
a cargo de los trabajos de edicin del texto, le agradezco su paciencia y precisin en la revisin de los
documentos; sin su atinado apoyo, este libro sera una retrica tcnica y extraa. A Juan Francisco Guevara
lvarez, por otro lado, le agradezco haber probado y criticado todos y cada uno de los ejercicios y su explicacin,
haber aportado ideas ("por qu no le agrega esto Lic...") y por transmitirme la sensacin de que la docencia slo
tiene esperanza si el alumno llega a superar al maestro. En palabras de Don Alfonso Reyes, son unos hroes en
mangas de camisa. No temen al trabajo arduo y llegarn lejos.
Agradezco a todos mis compaeros, que como yo, tienen muy presente que los egresados de la UANL deben ir
abriendo surco, y que de hecho lo hacen con gusto: Jos Luis Ramos, Juvencio Jaramillo, Magdiel Martnez, Jos
Mndez, Ismael Rodrguez Elizalde, Enrique Hernndez Hernndez, y a todos los compaeros de la Divisin de
Postgrado de la FACPyA; agradezco tambin a mis amigos de la Universidad del Norte, Instituto Tecnolgico de
Monterrey, ITESM, y dems; son tantos que no puedo precisarlos.
Agradezco a mis amigos Javier Chalup Ayala, Jos Rogelio Martnez Delgadillo, Abraham Alvarez Escobedo, y
tantos otros que comprendieron que mi preferente atencin hacia el monitor de la computadora era un trance
pasajero: si me dieran a escoger entre el libro y ustedes, adis libro!
Agradezco a los alumnos y ex alumnos que con su retroalimentacin ayudaron a obtener un mejor texto:
Guadalupe Rangel Vzquez, Elsa Marcela Lugo, Anna Elizabeth Franco, Mnica Castaeda Guerra y,
especialmente, a Mario Alberto Tamez Garca, quien prob todo el cdigo del libro.
Como siempre, dejo al ltimo lo ms importante: agradezco a mi esposa, a quien dedico este libro, por su
paciencia y apoyo; a mi padre y a mi madre, porque les debo ser el profesional que soy: slo cuando uno crece
comienza a entender y a agradecer. A mis hermanos, todo mi amor y todo lo bueno.
xxvii
Parte 1
Entorno integrado de
Desarrollo
En esta primera parte conocer a Visual Basic como herramienta de
desarrollo de aplicaciones para el entorno de Windows. As como el
artesano que termina primero su trabajo es aquel que sabe con
exactitud de qu herramientas dispone y dnde se encuentran stas, de
la misma forma el desarrollador de aplicaciones conoce la enorme
variedad de utileras y caractersticas que Visual Basic pone a su
disposicin.
Esta primera parte tiene como objetivo que usted sepa qu partes
componen Visual Basic, cmo se utilizan esas partes, dnde las
encuentra y cmo puede administrarlas.
Tambin se revisa el ciclo de desarrollo de aplicaciones en Visual
Basic, que es el tpico para la programacin orientada a eventos. Se
propondr una forma de trabajo sistemtica y metdica, que pueda
repetir una y otra vez; recuerde: lo importante no es lo que hace, sino
el mtodo que utiliza. Si bajo un mtodo obtiene e| xito, repitiendo el
mtodo repetir el xito.
Captulos:
1,2,3,4,5
Nmero de prcticas: 37
1
Captulo
1
Visual Basic
como plataforma
de desarrollo
Objetivos
Aprender el objeto principal de la programacin. Conocer la parte
grfica de Visual Basic, a travs de su Entorno Integrado de Desarrollo
(IDE), y la parte procedural, a travs del manejo del lenguaje orientado
a eventos,
Al finalizar este captulo deber:
Saber cul es el objeto de la programacin
Entender la tecnologa orientada a eventos
Conocer el Entorno Integrado de Desarrollo
Saber cmo est compuesto el IDE y para qu sirven cada una de sus
partes
Dominar los conceptos bsicos del desarrollo de aplicaciones en
Visual Basic
Conocer los siete pasos para crear una aplicacin en Visual Basic
Objeto de la programacin
Usted quiere aprender a programar en Visual Basic. Si no lo ha hecho antes en ningn
lenguaje y quiere empegar de lleno con la programacin, djeme decirle que estar
empezando a la mitad en el proceso de desarrollo de aplicaciones: una mediana que si
no percibe, puede costarle mucho trabajo entender,
No siempre aprender a programar lo conducir a solucionar sus problemas de informacin. Simplemente automatizar tareas, y stas pueden constituir en s mismas una
solucin o un problema.
En conclusin, queremos decirle que la programacin no es una actividad aislada que
produzca resultados por s misma: la programacin es una de las muchas tareas que se
tienen que hacer al desarrollar una aplicacin.
El modelo clsico del Ciclo de Desarrollo de Aplicaciones tiene las siguientes fases:
Anlisis. Se observa detenidamente un problema o situacin con el fin de determinar qu aplicacin se requiere desarrollar. Se delimitan los problemas o se
identifican reas de oportunidad sobre las que hay que trabajar.
Diseo, Se define de manera sistemtica y estructurada la forma en que se va a
llevar a cabo el desarrollo. En el diseo se definen las vistas de la aplicacin, as
como su comportamiento y sus restricciones.
Programacin. Se disea y codifica la aplicacin de tal forma que haga, sin
errores, lo que est definido en la fase de diseo.
Pruebas. Se ejecuta la aplicacin en todas sus variantes, a efecto de determinar si
cumple con lo estipulado en el diseo, y se comprueba que la misma satisfaga los
requerimientos determinados en la fase de anlisis. En caso de que se detecten
errores o funcionamientos equivocados, es necesario volver sobre las fases
anteriores, a fin de aislar el problema y corregirlo.
Como puede darse cuenta, la programacin es una fase muy avanzada en e] proceso
de desarrollo; si no sabe qu necesita hacer, mucho menos sabr cmo hacerlo. Por
otro lado. si ya sabe qu es lo que necesita hacer, debe asegurarse de que la transicin
del "qu" al "cmo" se haga sin errores. La mayora de los errores de sistemas son
debido a que lo especificado en e] anlisis y el producto final no representan lo
mismo. El argumento de los usuarios: "eso no es lo que yo quera", es generalmente
vlido.
Concluimos que el objeto de la programacin es generar cdigo sin errores que
cumpla con lo definido en el diseo y que satisfaga los requerimientos del anlisis.
En este libro seremos bastante claros con respecto a lo que queremos que el programa
haga, a cmo lo haga, y adems nos aseguraremos de que no tenga errores. An ms
importante, queremos que usted aprenda a resolver situaciones que generan error,
ya que una vez que concluya el ejercicio de este libro nadie le dir cmo resolver los
errores que le aparezcan; sern suyos, como suya ser la solucin a ellos.
Nuestros grandes consejos:
No comience a programar sino hasta saber qu desea que su programa realice.
Olvide la creencia de que en un momento de inexplicable lucidez programadora, las
ideas con respecto a la solucin de un problema aparecern en el proceso de
codificacin.
Aprenda a desarrollar siempre de manera organizada y sistemtica. Adquirir
destreza, experiencia y una facilidad casi automtica para resolver errores.
Hgalo bien desde el principio. Cree programas bien desarrollados, aunque se tarde
ms; dice un dicho de mi tierra que "el flojo y el atenido trabajan dos veces".
Piense en el tiempo de desarrollo como la suma del tiempo de desarrollo ms el
tiempo de mantenimiento; en ocasiones los trabajos de mantenimiento son
demasiado onerosos, y en otros casos, hasta imposibles.
Consistencia cognoscitiva en comparacin con ignorancia veloz. Con respecto al
aprendizaje del contenido de este libro, no olvide la parbola de la tortuga y la
liebre: no siempre el que corre ms rpido llega primero a la meta. Comprenda los
temas hasta que sea capaz de explicarlos sin ayuda del libro, y tema por tema,
convirtase en un experto. Antes de mover los dedos, hay que mover las neuronas.
Nota: Es el momento adecuado de que instale los archivos que complementan este
libro, mismos que se encuentran en el sitio Web
http://www.enlace.net/ramirez2; descargue el archivo AVBP.ZIP en el
directorio raz de su disco duro, y ejectelo para su instalacin.
Nota: Visual Basic inicia una sesin mediante la ejecucin del programa VB6.EXE;
si tiene definidos los accesos directos a Microsoft Visual Basic 6.0 y su computadora no lo
encuentra, puede buscar el programa ejecutable para iniciar la sesin. Tambin puede estar
como miembro de un grupo de programas Microsoft Visual Studio 6.0; depende de su
instalacin.
Figura 1.1
Ventana Nuevo
proyecto
2. En la ficha Nuevo, haga clic en el icono EXE estndar, que de manera predeterminada est
seleccionado.
3. Haga clic en el botn de comando Abrir.
Nota: Aunque la documentacin de Visual Basic hace referencia a los Libros en pantalla,
stos no son parte del producto. En la versin 5.0, al momento de la instalacin se generaba
dentro del men de Microsoft Visual Basic 5.0 una opcin que deca Libros en lnea, que a
travs de hipertexto dinmico proporcionaba la documentacin del producto. En la versin 6.0,
tiene que instalar la MSDN Library Visual Studio 6.0 (otro producto) para disponer de ayuda.
MSDN Library es una referencia tcnica muy completa, de ms de 1 GB de informacin de los
productos que integran Visual Studio 6.0; si usted est dispuesto a consumir ms de 1 GB en
informacin de Visual C++, Visual Basic 6.0, Visual InterDev, Visual FoxPro, Visual J++ y
Visual SourceSafe, adelante. Por otro lado, puede decidir que no desea informacin de
productos que no le interesan, e instalar slo la ayuda de Visual Basic con la finalidad de no
consumir mucho espacio en disco. Esto es posible, pero se puede llevar la sorpresa de que
algunos componentes compartidos por varios productos no se integren si usted solicita instalar
nicamente informacin de Visual Basic. O instala toda la informacin de MSDN Library que
comparten todos los productos de Visual Studio 6.0, o corre el riesgo que algo que necesite
consultar no se encuentre instalado.
10
Figura 1.2
Entorno
Integrado
Desarrollo
de
El IDE contiene todos los elementos y herramientas grficas que Visual Basic proporciona para desarrollar una aplicacin.
No todos los elementos se requieren todo el tiempo, por lo que a travs del men Ver
puede decidir qu elementos desea utilizar, y por tanto, tener presentes en la pantalla.
Esto es importante porque en ocasiones el espacio en la pantalla es muy preciado.
11
Visual Basic respeta las preferencias del desarrollador, de tal forma que si distribuye en
la pantalla los elementos del IDE a su gusto, la prxima vez que inicie sesin en Visual
Basic, los elementos del IDE se encontrarn donde los dej la ltima vez.
2.
3.
4.
5.
Nota: Observe detenidamente las figuras que aparecen a la izquierda de las opciones que se encuentran en el men Ver. Esto es importante porque dichas figuras
tambin se encuentran en la barra de herramientas, por lo que puede hacer clic en
ellas para activarlas en lugar de utilizar la barra de mens.
El IDE se compone de los siguientes elementos:
La barra de mens
La barra de herramientas Estndar
El Diseador de formularios
La ventana Propiedades
La ventana Posicin del formulario
La ventana Explorador de proyectos
El Cuadro de herramientas
12
Figura 1.3
La barra
de mens
La barra de herramientas
La barra de herramientas (vea la figura 1.4) es un conjunto de botones que proporcionan un acceso rpido a comandos ms comunes que Visual Basic tiene disponibles para su uso en aplicaciones desarrolladas o para la administracin de su
propio entorno.
Figura 1.4
La barra de herramientas
Nota: La existencia de la barra de herramientas sigue con la tradicin de los programas basados en Windows. Seguramente usted reconocer algunos botones que
son estndar para todas las aplicaciones, como Abrir, Guardar, Cortar, Copiar,
Pegar y Deshacer.
13
Figura 1.5
Formulario
14
15
Figura 1.7
Mensaje
de
Visual Basic
4. Haga clic en el botn de comando Aceptar cuando Visual Basic le informe que el
cambio de la opcin MDI/SDI ser efectivo la prxima vez que inicie el entorno
de desarrollo.
5. Cierre la sesin de Visual Basic.
6. Inicie Basic nuevamente una sesin en Visual.
7. Qu cambios nota en el entorno?
8. En el men Herramientas - Opciones - Avanzado, desactive la casilla de verificacin Entorno de desarrollo SDI, cierre la sesin y vuelva a entrar, para dejar
el entorno como estaba.
Entre los beneficios que puede obtener al desarrollar en SDI, es que los elementos
del IDE se comportan como ventanas independientes de Windows, muy conveniente
si considera que en MDI el hecho de mover o cambiar el tamao de los elementos en
ocasiones resulta un problema, pues se ajustan entre s (se acoplan) de manera arbitraria y complican la distribucin de los objetos en la pantalla.
Nota: El acople inesperado de los elementos del IDE, en SDI o MDI, se controla
desde el men Herramientas - Opciones - Acople. El modo SDI se ajusta ms a lo
que queremos del entorno de desarrollo en estos momentos; sin embargo, mantendremos la configuracin predeterminada de Visual Basic, es decir, MDI. Es slo
cuestin de prctica dominar ambos modos.
16
17
Fred y Angus no son inertes, por s mismos hacen algo, a veces saltan en el escritorio.
Lo que ellos pueden hacer por s mismos se le llama mtodo. Los mtodos que un
objeto puede realizar, son slo aquellos que la clase tiene definidos y permitidos. Ni
Fred ni Angus pueden ladrar; no est en su clase.
A Fred le sucedi una transformacin, que no se llev a cabo sino hasta que usted lo
toc. Lo que le sucede a un objeto por el hecho de interactuar con usted, se le llama
evento. Los eventos que le pueden suceder a un objeto, son slo aquellos que la clase
tiene definidos y permitidos.
La clase Conejo existe, pero no se manifiesta sino a travs de sus instancias, mismas
que son generadas solamente a travs del uso del botn rojo. Si no se presiona el botn
rojo, no hay conejos en el escritorio. Al elemento que sirve para crear la instancia de
una clase se le denomina control.
El escritorio sera el objeto contenedor de los objetos. Cumple con la misma funcin
que cumplir el formulario en sus aplicaciones de Visual Basic.
Suponga que Angus se queda inmvil, grficamente tendramos lo siguiente:
Figura 1.8
Esquema de
clase objetopropiedad
18
Clase
Una clase es la definicin formal de un elemento de interfaz de Windows. Una clase
acta como plantilla para cada una de las instancias generadas a partir de un determinado control cuando es agregado a un formulado; la clase define las propiedades de
un objeto y los mtodos y eventos utilizados para controlar su comportamiento. Visual
Basic trata los trminos clase y control como uno solo, ya que la clase no se manifiesta
sino a travs de un control.
Objetos
Los objetos son ocurrencias de una clase en un formulario. Son controles una vez que
son insertados en una aplicacin; el desarrollador les dar las propiedades que necesite
y el comportamiento que requiera. Puede haber un solo control llamado
CommandButton, pero muchos objetos generados a partir de l, es decir, mltiples
botones en el formulario.
Por cuestiones prcticas, en ocasiones los trminos control y objeto se utilizan como
sinnimos; es posible usarlos de esta manera, pero no pierda de vista que son diferentes. Un control es un medio para generar un objeto; un objeto es una ocurrencia del
control (que a su vez es el ejercicio de una clase), con nombre, tamao, colores y otras
especificaciones particulares.
Nota: No somos partidarios del uso como sinnimos de las palabras "Objeto" y
"Control", porque evidentemente no son lo mismo. No obstante. Visual Basic tiene
muchos mensajes del sistema que utilizan dichos trminos como equivalentes, y en la
ayuda en lnea en ocasiones los utilizan de manera indistinta.
19
Cuadro de herramientas
El Cuadro de herramientas (vea la figura 1.9) es la ventana que muestra todos los
controles disponibles para la generacin de objetos en una aplicacin de Visual Basic.
El Cuadro de herramientas debera llamarse cuadro de controles, pero por cuestiones
histricas del producto su nombre persiste.
Figura 1.9
Cuadro de
herramientas
Los controles estn representados de manera grfica; por ejemplo, el control Label
est representado por una letra "a" mayscula (A).
Si desconoce qu representacin grfica le corresponde a un determinado control, slo
coloque el puntero del ratn sobre las figuras del Cuadro de herramientas, y
aparecer un texto identificando el control del que se trata. Dicho texto se conoce
como Informacin sobre herramientas.
Nota: Visual Basic tiene una capacidad de expansin increble; tal vez su caracterstica ms sobresaliente, base de su xito, sea la de integrar controles de terceros
20
21
Frame
Controles grficos: Definen objetos que permiten el manejo de grficos e imgenes.
PictureBox (tambin es contenedor)
Image
Shape
Line
Controles de gestin de archivos: Definen objetos que permiten gestionar el sistema
de archivos de la mquina.
DriveLlstBox
DirListBox
FileListBox
Controles de tiempo: Definen objetos que permiten manejar intervalos de ejecucin
de una aplicacin.
Timer
Controles de datos: Definen objetos que permiten tener acceso a bases de datos.
Data
Controles de vnculo: Definen objetos que permiten tener acceso otras aplicaciones o
funciones dentro del sistema.
OLE
22
1. Si coloca el puntero del ratn sobre las imgenes del Cuadro de herramientas,
aparecer informacin relativa al control del que se trata (esta informacin es llamada
Informacin sobre herramientas [vea la figura 1.10]).
Figura 1.10
Informacin sobre
herramientas: le
ayuda a identificar
los controles del
cuadro de
herramientas
Informacin sobre
herramientas
23
Propiedades
Cada uno de los objetos que conforman un formulario, desde el formulario mismo
hasta los botones de comando, cuadros de texto, botones de opcin, cuadros de imgenes, y dems objetos contenidos en l, tienen caractersticas particulares que los
hacen diferentes uno de otro. A estas caractersticas se les llama propiedades; las
propiedades le indican a Visual Basic la posicin de un objeto en el formulario, su
nombre, alto, ancho, comportamiento inicial, valor predeterminado, etctera.
24
Saxofn
Dicho objeto podra tener muchas caractersticas, tales como tamao, color, marca,
etctera. Actualmente aparece en color blanco, por lo que puede interpretarse que la
propiedad Color del objeto Saxofn es igual a Blanco.
Para Visual Basic eso se codificara de la siguiente manera:
Saxofn. Color = Blanco
Cambiar una propiedad modifica al objeto, por ejemplo, si cambiamos la propiedad
Color del objeto Saxofn a Amarillo, obtendramos lo siguiente:
25
Saxofn.TocarMsica
Explorador de proyectos
La ventana Explorador de proyectos es una ventana que muestra los componentes del proyecto
Visual Basic, llamados mdulos. A travs de esta ventana puede ubicar y activar cualquier
mdulo del proyecto; esto es especialmente til cuando el proyecto se hace muy grande y que
cuenta con muchos mdulos, de tal manera que resulta incmodo tener presente a todos los
componentes del proyecto en la pantalla.
Los mdulos que se pueden tener en la ventana Explorador de proyectos son:
Mdulos de formulario (extensin .FRM). Puede contener objetos y los valores de sus
propiedades. Tambin puede contener declaraciones a nivel formulario
26
Figura 1.11
Ventana
Explorador
de proyectos
Ver cdigo. Permite ver el cdigo que se ha escrito del mdulo que est
seleccionado.
27
7.
28
Nota: En captulos posteriores de este libro se explicarn los controles que se encuentran en el Cuadro de herramientas. Se profundizar en cules son sus propiedades ms tiles, as como los mtodos ms importantes que les aplican.
============================================================
Ventana Propiedades
La ventana Propiedades (vea la figura 1.12) es aquella en donde se identifica un
objeto y en donde se pueden modificar en tiempo de diseo las propiedades de dicho
objeto. Sus componentes son:
Lista desplegable de objetos
Cuadrcula de propiedades
Cuadro de informacin de propiedades
29
Figura 1.12
Ventana Propiedades
En la parte superior de la ventana Propiedades siempre se muestra una lista desple-gable, llamada
Lista desplegable de objetos (vea la figura 1.13); esta lista contiene el nombre del objeto activo (que
se encuentra en negritas) y el tipo de control en el que est basado dicho objeto (Form).
Figura 1.13
Lista desplegable
de objetos
30
Figura 1.14
Cuadrcula de
propiedades
31
e) La propiedad
Appearence es de valor
abierto o limitado?
f) Cules son los 3 valores
posibles que puede tener la
propiedad PaletteMode?
g) Mencione para qu sirve la
propiedad
StartUpPosition.
(Consulte el Cuadro de informacin
de propiedades.)
32
Figura 1.15
Ventana posicin
del formulario
33
En este captulo:
Vimos cul es el objeto de la programacin.
Vimos por qu Visual Basic es ms que un simple lenguaje de programacin.
Vimos de manera esquemtica los conceptos que definen la orientacin a
objetos de Visual Basic.
Identificamos todos y cada uno de los componentes del IDE y explicamos para
qu sirven (no se preocupe por saber cmo se utilizan; en los siguientes captulos lo sabr).
Vimos qu ediciones tiene Visual Basic 6.0.
Vimos qu controles se encuentran disponibles en el Cuadro de herramientas
y a qu categora pertenecen.
Vimos en qu consisten los modos SDI y MDI.
Vimos cules son los tiempos de desarrollo en Visual Basic.
Vimos los conceptos objeto, control, propiedad, mtodo y la relacin que
guardan entre ellos.
Vimos cules son los pasos para desarrollar una aplicacin en Visual Basic.
Antes de seguir, es importante que domine todos los puntos anteriores.
34
Captulo
2
Creacin de la interfaz
de usuario
Objetivo
Conocer los pasos para crear una interfaz de usuario efectiva para una aplicacin
de Visual Basic.
Al finalizar este captulo deber:
Saber cmo insertar objetos
Saber cmo trazar objetos
Conocer la forma de establecer la posicin y las dimensiones de un objeto
Conocer la forma en que se manejan las opciones del men Formato
Saber cmo manejar la ventana Posicin del formulario
Felicidades: comenzar a desarrollar su primer proyecto de Visual Basic
En este captulo comenzar a desarrollar su primer programa; quiz piense "en
otros libros desde el primer captulo se crea un programa". No se desespere: la
diferencia entre "copiar" un programa de un libro sin entenderlo y "hacer" un
programa es mucha. Preferimos que desarrolle una aplicacin con todo el
conocimiento posible, de tal forma que pueda reproducir los procedimientos sobre
aplicaciones basadas en necesidades propias cuando as lo requiera.
Le aseguramos que una vez que haya visto los pormenores de la programacin en
Visual Basic con el primer ejemplo, el libro tomar velocidad con respecto a los
dems
35
36
La figura 2.2 muestra lo que debe suceder cuando haga clic en el botn de comando
Mostrar Mensaje.
Figura 2.2
Respuesta
esperada al hacer
clic en Mostrar
Mensaje.
37
Insercin de objetos
Si quisiera desarrollar la aplicacin de la figura 2.1, requerir lo siguiente:
Un control Form en donde colocar el resto de los objetos. El formulario es una
ventana.
Un control Label donde mostrar el mensaje.
Un control CommandButton que al hacer clic en l muestre el mensaje en la etiqueta.
Un control CommandButton que permita salir de la aplicacin.
38
1 Form
1 Label
2 CommandButton
39
Figura 2.3
Objeto insertado al
hacer doble clic en
el control
CommandButton
del Cuadro de
herramientas
40
Figura 2.4
Controladores
de tamao
41
Es un objeto basado en
el control
CommandButton.
El objeto activo ser el que aparezca en la barra de ttulo de la ventana Propiedades (en
este caso. Propiedades Command1)
42
Figura 2.6
Propiedades
de posicin
y dimensin de
los objetos
43
Command1.Top
= _____________________
Command1 .Left
= _____________________
Command1.Height
= _____________________
Command1.Width
= _____________________
44
= _____________________
Command1.Width
= _____________________
4. Coloque el puntero del ratn en el centro del objeto y arrstrelo de tal forma que el
punto de inicio (esquina superior izquierda) quede cerca de la esquina superior
izquierda del formulario. Qu valores tienen ahora las propiedades de posicin?
Command1.Top
= _____________________
Command1.Left
= _____________________
6. Presione la tecla Ctrl y mantngala presionada; al mismo tiempo utilice las teclas de
movimiento hasta dejar el botn de comando en la posicin similar a la que tena al
inicio de esta prctica. Suelte las teclas.
7. El botn de comando est en el centro del formulario; orintelo hacia la izquierda.
Ahora ya sabe cmo cambiar el tamao y la posicin de un objeto que se encuentra en un
formulario, ya sea con el ratn o con el teclado. Y qu pasa con el formulario?
El formulario tiene algunas consideraciones especiales:
Si el entorno se encuentra en modo SDI, el formulario no est dentro de ningn objeto
contenedor y al seleccionarlo no se colocan controladores de tamao.
Si el entorno se encuentra en modo MDI, el formulario est dentro de un objeto
contenedor, en este caso la Ventana de proyecto; al seleccionar el formulario se
colocarn los controladores de tamao.
Se muestren o no los controladores de tamao, es posible cambiar el tamao del
formulario.
45
Nota: Una forma de "hacer clic en cualquier parte del formulario, que no sea la
barra de ttulo y que no est ocupado por otro objeto" es hacer clic en cualquier
pequeo punto de la cuadrcula estndar. Si puede ver el punto de la cuadrcula estndar, resulta obvio que no tiene un objeto que lo cubre.
=============================================================
2. Seleccione el formulario como se indic en el punto 1. Si tena seleccionado
cualquier otro objeto, ste ya no lo estar ms.
3. Revise la lista desplegable de objetos que se encuentra en la ventana Propiedades,
en donde debe aparecer Form1 Form.
>>
46
Figura 2.7
Vista parcial
del formulario,
hasta este
momento
2.
3.
4.
Ya vimos que agregar objetos en modo de insercin es muy fcil: haciendo doble clic
en cualquier control del Cuadro de herramientas. El problema es que siempre se
47
2.
Figura 2.8
Adicion de un
Objeto en modo
De trazo
48
Figura 2.9
Vista parcial
del formulario,
hasta este
momento
49
50
6. Presione la tecla Mays y sin dejar de presionarla haga clic en el objeto Label1.
7. Vea en la ventana Propiedades. Qu valor tiene la propiedad Name y la propiedad
CausesValidation?:
Name = _________________
CausesValidation= _________________
51
Hasta el momento ya sabe seleccionar, cambiar el tamao y mover los objetos. Lo que
no
ha visto es cmo determinar la posicin de un formulario. Para ello, utilice la ventana
Posicin del formulario.
= ______________________
= ______________________
52
Figura 2.11
Ventana Posicin
del formulario
= ______________________
= ______________________
============================================================
53
Recuerde que sugeramos un monitor ms grande (17" o 19") para desarrollar cmodamente. Seguir esa recomendacin puede llevarlo a una involuntaria prdida de perspectiva: con seguridad los usuarios finales de la aplicacin dispondrn de un monitor
ms reducido. Para asegurarse de que su aplicacin tiene las dimensiones adecuadas
para los diferentes tipos de monitores y resoluciones que existen en el mercado, la
ventana Posicin del formulario puede ayudarle, si establece lo que se conoce como
Guas de resolucin, que sugieren las dimensiones de su aplicacin, comparada
relativamente con el espacio de trabajo de las resoluciones ms comunes de los
monitores actuales.
3. En la figura 2.13 se muestra la forma en que se han agregado las Guas de resolucin.
Ahora podr dimensionar su aplicacin, de acuerdo con el espacio real que el usuario
final puede tener.
Figura 2.13
Guas de resolucin en la
ventana Posicin
del formulario
54
>>Cmo utilizar las herramientas del men Formato para organizar objetos. [02.10]
A continuacin aprender a organizar los objetos con las herramientas que Visual
Basic tiene en su men Formato. Tambin aprender por qu es importante el orden
en que los objetos sean seleccionados.
1. Seleccione el objeto Label1y el men Formato - Centrar en el formulario
Horizontalmente,
2. Seleccione en modo de grupo los objetos Command1 y Command2. Asegrese de
que Command1 , que es el botn de comando ms grande, quede como objeto principal del grupo (controladores de tamao en azul).
3. Seleccione el formulario, lo que implica dejar de tener seleccionados los botones de
comando.
4. Haga clic en el objeto Command1 , presione la tecla Mays y no la suelte, haga clic
en el objeto Command2, deje de presionar la tecla Mays. Los controladores de
tamao del objeto Command1 debern ser blancos, mientras que los del objeto
Command2 son azules. El ltimo objeto integrado al grupo permanece como objeto
principal de grupo.
5. Seleccione el men Formato - Igualar tamao - Ambos. Observe que los objetos
del grupo siguen las caractersticas del objeto principal del grupo.
6. Deshaga la modificacin que acaba de realizar. Para ello seleccione el men Edicin
- Deshacer tamao (tambin puede presionar Ctrl+Z).
7. Para seleccionar otro objeto como objeto principal de grupo, haga clic en el objeto
que desee como objeto principal del grupo. Teniendo seleccionados en modo de
grupo a los objetos Command1 y Command2. haga clic en el objeto Command1 .
Los controladores de tamao del objeto Command2 debern ser blancos, mientras
que los del objeto Command1 debern ser azules.
8. Seleccione el men Formato - Igualar tamao - Ambos. Observe que los objetos
del grupo siguen las caractersticas del objeto principal del grupo.
9. Todava teniendo los objetos Command1 y Command2 seleccionados en modo de
grupo, seleccione el men Formato - Espacio horizontal - Aumentar.
10. Seleccione el men Formato - Bloquear controles.
11. Trate de mover cualquier objeto dentro del formulario. Comprobar que no se
puede; asimismo, cada que seleccione un objeto, los controladores de tamao no
sern azules como lo eran antes, ahora son blancos.
12. Seleccione el men Formato - Bloquear controles. Se deshabilitar el bloqueo de
los objetos; ahora ya podr moverlos.
13. Su formulario deber verse aproximadamente como se muestra en la figura 2.14.
55
Figura 2.14
Vista parcial
del formulario
hasta este momento
14.
____________________________________________________
Resumen
En este captulo:
Vimos cules son los objetivos que se persiguen al crear una interfaz de
usuario.
Vimos cmo se insertan objetos en un formulario.
Vimos cmo se agregan objetos a un formulario en modo de trazo.
Vimos qu son los controladores de tamao.
Vimos qu es un objeto activo, la seleccin de un objeto, la seleccin de
objetos en modo de grupo y el establecimiento de un objeto como principal
del grupo.
Vimos cmo mover y darle dimensin a los objetos.
Vimos cmo establecer la posicin de un formulario en la pantalla.
Vimos para qu sirven las opciones del men Formato de Visual Basic.
Vimos cmo guardar nuestro trabajo.
Es importante que domine todos esos puntos antes de continuar.
56
Captulo
3
Cmo establecer
las propiedades
de los objetos
Objetivo
Aprender a establecer las caractersticas particulares de los objetos, en tiempo de diseo y en tiempo de ejecucin.
Al finalizar este captulo deber:
Dominar el manejo de la ventana Propiedades
Saber cmo modificar la propiedad de identificacin (Name)
Saber cmo modificar las propiedades de apariencia y comportamiento
Conocer la sintaxis que se sigue para modificar los valores de las propiedades en
tiempo de ejecucin
Saber cmo conformar una tabla de objetos y propiedades para las aplicaciones de
ejemplo de este libro
57
58
59
Todas las especificaciones anteriormente listadas son controladas a travs de la asignacin de propiedades, excepto la relativa a lo que suceder cuando se haga clic en los
botones Mostrar Mensaje, y Salir; esta tarea slo puede ser realizada a travs de
programacin, en los procedimientos asociados a dicho uso de la interfaz.
1 Form
1n Label
2 CommandButton
60
61
Verificacin de
la cantidad de
obetos y sus
tipos, utilizando
la Lista
desplegable de
objetos
3. Marque afirmativamente
si se da el caso:
62
63
Sin embargo, este nombre por s mismo no proporciona informacin relativa al control
sobre el cual est basado el objeto; podra ser un objeto basado en el control Label. por
lo que para desplegar un mensaje tendra que modificar la propiedad Caption; pero
tambin podra ser un objeto basado en el control TextBox, por lo que para desplegar
un mensaje tendra que modificar la propiedad Text. Si no conoce con exactitud el tipo
de control sobre el cual est basado el objeto, podra utilizar propiedades que no se
apliquen a un objeto (por ejemplo, modificar la propiedad Text de un control un
Label, o la propiedad Caption de un control un TextBox), lo que generara un error
en tiempo de ejecucin.
Qu le parece este otro nombre para el objeto?
lblTexto
El prefijo lbl indica que el objeto est basado en el controLabelbel, y por otro lado,
el resto del nombre (Texto) nos da una idea en relacin con el uso del objeto.
En Visual Basic se tienen las siguientes convenciones para los objetos:
64
65
A medida que vaya conociendo ms controles agregar las convenciones de prefijos para
cada uno de ellos. Revise el apndice 1: Convenciones, para ver la lista completa de
prefijos, entre otras cosas.
La propiedad Name de un objeto, al igual que los nombres de variables de memoria en
Visual Basic, debe comenzar con una letra y puede tener un mximo de 40 caracteres.
Puede incluir nmeros y caracteres de subrayado (_), pero no signos de puntuacin,
espacios en blanco, caracteres compuestos o caracteres especiales. Le recomendamos el
uso slo de letras, nmeros y el carcter de subrayado. Un formulario no puede tener el
mismo nombre que otro objeto pblico como Clipboard, Screen o App.
Aunque el valor de la propiedad Name puede ser una palabra clave, un nombre de
propiedad o el nombre de otro objeto, esto puede crear conflictos en el cdigo.
===============================================================
Lo inesperado:
66
67
68
===================================================================
Nota: Si el ttulo de la ventana Propiedades no dice Propiedades - frmMensaje, quiere decir
que usted est modificando las propiedades de otro objeto. Ese es el primer paso para arruinar el
funcionamiento de su aplicacin. Cercirese de que est modificando las propiedades del objeto
que realmente desea afectar.
===================================================================
69
4. Seleccione el valor 2- Center Screen. Esto sera en tiempo de diseo; en tiempo de ejecucin
el cdigo que modificara la propiedad sera:
frmMensaje.StartUpPosition = 2
===================================================================
Nota: StartUpPosition es un ejemplo de aquellas propiedades que se ven afectadas por
otros movimientos y asignaciones realizadas posteriormente. StartUpPosition con valor
2 establece que al cargarse el formulario para su ejecucin, ste se colocar exactamente en el
centro de la pantalla. Si despus de haber colocado dicho
70
71
10.
Guarde su trabajo haciendo clic en el botn Guardar proyecto de la barra de
herramientas Estndar.
Debido a que es poco usual tener un botn de comando con dos lneas de contenido, es
recomendable ampliar el tamao del objeto.
===================================================================
Nota: Los objetos deben tener el tamao suficiente en relacin con su contenido. Si el
contenido excede el tamao del objeto, dicho contenido se truncar o se dividir. En el caso
de nuestro ejemplo, el contenido se dividi en dos lneas.
===================================================================
72
73
Formulario:
frmMensaje.frm
Objeto
Propiedad
Valor
Project
(Name)
Saludo
Form
(Name)
StartUpPosition
Caption
(Name)
Caption
BorderStyle
(Name)
Caption
Width
(Name)
Caption
Width
frmMensaje
2-CenterScreen
Mensaje
lblTexto
Borre el texto
1-Fixed Single
cmdDespliega
&Mostrar Mensaje
1500
cmdSalir
&Salir
1500
Label
CommandButton
CommandButton
74
_________________________________________________
Resumen
En este captulo:
Vimos que algo simple en teora, se puede complicar al especificar el diseo de la aplicacin.
Vimos cmo validar la cantidad y tipos de objeto que se requieren para una aplicacin.
Vimos cmo establecer el valor de la propiedad de identificacin.
Vimos cmo utilizar la ventana Propiedades.
Vimos las convenciones para identificar objetos en Visual Basic, atendiendo a la funcin y el
tipo de control en el que estn basados los mismos.
Vimos cmo establecer valores a las propiedades de apariencia y comportamiento, tanto en
tiempo de diseo como en tiempo de ejecucin.
Vimos cmo se conforma una tabla de objetos y propiedades, herramienta que nos ser de
mucha utilidad en el desarrollo de programas detallados de este libro.
Es importante que comprenda muy bien todos estos puntos antes de continuar con el libro.
Captulo
4
Escritura del cdigo
de los eventos
Objetivo
Conocer la forma en que el cdigo de programacin es escrito y ejecutado en Visual Basic.
Al finalizar este captulo deber:
Conocer en qu consiste la programacin orientada a eventos
Saber utilizar todas las caractersticas que brinda el editor de cdigo de Visual Basic
Conocer la estructura de los procedimientos de evento
Conocer algunos caracteres con significado especial en la codificacin en Visual Basic
75
76
Cllck
DblClick
KeyPress
MouseMove
Nota: No descarte algunos otros dispositivos de entrada, tales como lectores de cdigo
de barras, tarjetas electrnicas, etctera.
===============================================================
Dependiendo de la clase o el control en el que est basado un objeto, sern los eventos
disponibles para dicho objeto.
El cdigo de una aplicacin de Visual Basic se divide en bloques menores llamados
procedimientos, que no son otra cosa que un conjunto de rdenes que se ejecutan de
manera secuencial, que tienen un nombre, un principio y un fin. Un procedimiento
77
78
Se ve simple. Analicmoslo.
n Todos los procedimientos de evento tienen un inicio (Sub) y un fin (End Sub). El
inicio y el fin delimitan la totalidad del cdigo que se va a ejecutar cuando suceda el
evento.
oEl evento Click existe para todos los objetos que lo permiten. Por tal motivo, es
necesario identificar a qu objeto le sucede el evento.
El nombre del procedimiento de evento siempre estar compuesto por el nombre del
objeto ...
79
===============================================================
Nota: Es posible que antes de la palabra Sub, en el inicio del procedimiento aparezca
automticamente Private o Public, que indica el alcance del procedimiento.
Analizaremos posteriormente el alcance de los procedimientos.
===============================================================
frmMensaje.Caption = "Bienvenida"
Sub cmdSalir_Cllck()
End
End Sub
80
===============================================================
Nota: Por expresin se debe entender todo valor o referencia de un valor:
"A" & "B" (concatenacin) es una expresin de tipo carcter que equivale a
"AB".
20/5 (divisin) es una expresin numrica que equivale a 4.
5 > 3 (comparacin) es una expresin lgica que es True (verdadera).
===============================================================
Es importante comprender estos dos conceptos en virtud de que los errores en Visual
Basic sern violaciones a las reglas sintcticas o semnticas. Los errores de sintaxis no
deben preocuparle, ya que Visual Basic los reconoce en el mismo instante en que los
comete y le sugiere corregirlos, pero los errores de semntica pueden convertirse en
verdaderos dolores de cabeza, ya que son difciles de identificar; es una buena prctica
que documente sus desarrollos a efecto de evitar errores.
En Visual Basic slo podr incluir como cdigo instrucciones y funciones del lenguaje,
funciones y procedimientos definidos por el usuario, operadores y expresiones, cuidando
siempre la sintaxis y la semntica.
Al editor de cdigo de Visual Basic se le llama ventana Cdigo; sta se puede utilizar
para escribir, mostrar y editar cdigo de Visual Basic. El cdigo de Visual Basic est
asociado a un mdulo, por lo que puede abrir tantas ventanas Cdigo como mdulos
tenga, lo que facilita ver el cdigo en diferentes formularios o mdulos y copiarlo y
pegarlo entre ellos. En estos momentos, en su proyecto slo tiene un mdulo creado, que
es el formulario mismo.
Puede abrir una ventana Cdigo:
Utilizando la ventana Explorador de proyectos, seleccionando un formulario o mdulo
y haciendo clic en el botn Ver cdigo.
Haciendo doble clic en un control o formulario.
81
82
>>
83
4. Haga clic en el botn Ver mdulo. Se mostrarn todos los procedimientos definidos hasta el momento.
5. En el cuadro Objeto seleccione el objeto cmdSalir.
6. En el cuadro Procedimiento/Evento seleccione LostFocus.
7. Arrastre la barra de divisin hasta que quede a la mitad de la ventana Cdigo.
Debe verse aproximadamente como se muestra en la figura 4.5.
84
Nota: La ventana Cdigo tiene la misma funcionalidad que cualquier editor de texto
basado en Windows, por lo que seleccionar texto, eliminar, copiar, pegar, reemplazar,
etctera, se realiza de la misma forma que si lo estuviera haciendo en Word, WordPad o
Notepad.
===============================================================
Caracteres especiales
Antes de que comencemos con la edicin de cdigo, es recomendable que sepa la existencia de caracteres especiales con significado en el lenguaje de Visual Basic.
Apstrofe (). Todo el cdigo que contine en la misma lnea (hasta encontrar fin de
lnea) ser interpretado como comentario.
Comillas dobles ( ). Siempre engloban una expresin de tipo carcter, por lo que
siempre que abra unas comillas, tendr que cerrarlas.
Carcter de subrayado ( _ ). Es el continuador de lnea de Visual Basic. Antes de
ste siempre debe haber cuando menos un espacio en blanco, y despus de ste nunca
debe haber nada, o de lo contrario se generar un error.
85
______________
Por qu?
________________________________________________________
===============================================================
Nota: En Visual Basic una lnea de cdigo no es evaluada y aceptada hasta que cambia
de lnea, ya sea utilizando las flechas de direccin o la tecla Intro.
===============================================================
______________
Por qu?
________________________________________________________
3. Teclee la siguiente lnea de cdigo debajo del comentario que acaba de escribir
(escrbalo todo en maysculas).
BEEP
86
87
2. Ahora s, acepte la lnea (utilice las flechas de direccin o Intro para pasar a la siguiente
lnea). Visual Basic detecta un error de sintaxis y enva un error, como se muestra en la
figura 4.7. Observe que la lnea que causa el error se pone en rojo; cualquier lnea en
rojo en modo de edicin de cdigo es sinnimo de problemas.
88
Proyect
3. Contine tecleando en la misma lnea lo siguiente:
lblTexto.Ca
4. Observe que el simple hecho de comenzar a teclear la continuacin de la lnea,
encuentra la probable palabra que desea. Teclee slo las letras que requiera basta
encontrar la palabra Caption.
5. Una vez que est seleccionada la opcin que desea, en este caso Caption (vea la
figura 4.9), presione la barra espaciadora y Visual Basic colocar el nombre de la
propiedad por usted. Quiz en propiedades como Top o Left le resulte ms
89
6. Termine de capturar, de tal forma que la lnea completa quede como se muestra a
continuacin:
90
>> Uso de los cuadros Objeto y Evento para la seleccin y codificacin de un procedimiento de evento determinado. [04.06]
1. Haga doble clic en el objeto cmdDespliega.
Qu procedimiento de evento se puso en modo de edicin?
91
92
93
Beep
===============================================================
94
Observe que la distribucin A deja en claro cul es el cdigo de evento, dnde inicia y
dnde termina el procedimiento. La distribucin B es ms confusa, y una vez teniendo ms
procedimientos y estructuras de control en el cdigo, el problema se complica.
Al estar detallando los ejemplos en este libro, pondremos las tabulaciones ideales;
trate de escribir el cdigo tal y como aparece en el texto. Aunque en este libro tambin
ponemos la lnea de inicio y de conclusin del procedimiento (Sub, EndSub), usted no
tendr que teclear esas lneas, pues Visual Basic las escribe automticamente.
95
Con ello asumimos que no tendremos que repetir que en caso de que no se encuentre en la
ventana Cdigo, es necesario que la abra; asimismo, no ser necesario que le digamos a
detalle cmo llegar a editar el procedimiento de evento mencionado para el objeto referido.
Estamos seguros de que est de acuerdo con nosotros en que entender de una vez esto le
puede ahorrar mucha lectura de lo que ya resulta obvio. Despus de todo, siempre sabr
qu objeto es el que desea codificar, y en qu evento.
Tambin sabemos que todo procedimiento tiene inicio y fin:
Private Sub cmdSalir_Click()
End
End Sub
Por lo tanto no es necesario que coloquemos las lneas de inicio y fin todo el tiempo; por
ejemplo, para obtener el cdigo anterior sera suficiente lo que se muestra a continuacin:
Editar cdigo: cmdSalir, Evento: Click.
End
96
Especificaciones de codificacin
Ser la forma en que se codificarn los programas en este libro. Las especificaciones de
codificacin estarn integradas por las siguientes partes:
Identificacin del mdulo (formulario) sobre el que hay que trabajar.
Especificacin de cdigo a agregar. Abrir la ventana Cdigo, seleccionar el objeto del
que desea editar un procedimiento de evento, a travs del cuadro Objeto; seleccionar el
evento en el que desea agregar cdigo de evento, a travs del cuadro
Procedimiento/Evento. Escribir el cdigo de evento.
Especificacin de cdigo a editar. Seleccionar el procedimiento de evento que est
inconcluso, y continuar con la codificacin.
Especificacin de cdigo a modificar. Seleccionar el procedimiento de evento que se va a
modificar, haciendo los cambios deseados.
97
Codificacin de frmMensaje
Editar cdigo: cmdDespliega, Evento: Click.
Resumen
En este captulo:
Vimos qu son los eventos y los procedimientos de evento. ,
Vimos qu nomenclatura se aplica a los procedimientos de evento.
Vimos la utilidad de las herramientas que estn integradas en la ventana Cdigo.
Vimos los elementos que componen a la ventana Cdigo.
Vimos qu caracteres especiales tienen significado particular en la codificacin en Visual
Basic.
Vimos la asistencia en modo de edicin, mediante colores.
Vimos la asistencia en modo de edicin, a travs de sugerencias de propiedades y
mtodos.
Vimos la importancia de la distribucin del cdigo para que ste sea legible.
Establecimos convenciones para utilizar en el resto del libro.
Es muy importante que domine todos los puntos antes mencionados, para que el proceso de
codificacin sea lo ms asistido posible.
99
100