Está en la página 1de 127

APRENDA VISUAL BASIC

PRACTICANDO

APRENDA VISUAL BASIC


PRACTICANDO
Jos Felipe Ramrez Ramrez
Master en Informtica Administrativa,
Catedrtico de la Facultad de Contadura Pblica y Administracin,
Universidad Autnoma de Nuevo Len, Mxico

Revisin tcnica:

Lic. Jos Luis Ramos


Coordinador de la Carrera de Informtica Administrativa, Facultad de Contadura
Pblica y Administracin, Universidad Autnoma de Nuevo Len, Mxico
Pearson
Educacin
MXICO ARGENTINA BRASIL COLOMBIA COSTA RICA CHILE
ESPAA GUATEMALA PER PUERTO RICO VENEZUELA

/ Datos de catalogacin bibliogrfica


RAMREZ RAMREZ, JOS
FELIPE Aprenda Visual Basic
practicando
PEARSON EDUCACIN. Mxico, 2001
ISBN: 970-26-0285-8
rea: Universitarios
Formato: 18.5x23.5cm

Pginas: 848

Editor: Jos Luis Vzquez Chavarra


e-mail: luis.vazquez@pearsoned.com
Editor de desarrollo: Amonio Nuez Ramos
Supervisor de produccin: Jos D. Hernndez
Garduo
Diseo de portada: Iliana H. Gonzlez Villafn
PRIMERA EDICIN. 2001
D-R, 2001 por Pearson Educacin de
Mxico, S.A. de C.V. Calle 4 No, 252do. Piso
Fracc. Industrial Alce Blanco 53370 Naucalpan de
Jurez, Edo. de Mxico E-mail:
editorial.universidades@pearsoned.com
Cmara Nacional de la Industria Editorial Mexicana. Registro No. 1031
Reservados todos los derechos. Ni la totalidad ni parte de esta publicacin pueden
reproducirse, registrarse o transmitirse, por un sistema de recuperacin de
informacin, en ninguna forma ni por ningn medio, sea electrnico, mecnico.
fotoqumico, magntico o electro ptico, por fotocopia, grabacin o cualquier otro.
sin permiso previo por escrito del editor.
El prstamo, alquiler o cualquier otra forma de cesin de uso de este ejemplar
requerir tambin la autorizacin del editor o de sus representantes.
ISBN: 970-26-0285-8
Impreso en Mxico- Primea in Mxico
1234567890-03 02 01
Pearson

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

Parte 1: Entorno Integrado de Desarrollo


Captulo 1: Visual Basic como plataforma de desarrollo ................................................. 3
Objeto de la programacin ...................................................................................................................... 4
Visual Basic: ms que un lenguaje de programacin ............................................................................. 5
Entorno Integrado de Desarrollo ............................................................................................................ 6
Ediciones de Visual Basic ........................................................................................................................ 8
Elementos del IDE .................................................................................................................................. 9
La barra de mens ................................................................................................................................... 12
La barra de herramientas ......................................................................................................................... 12
Formulario (Form) .................................................................................................................................. 13
Modos de trabajo con formularios: SD1 y MDI ..................................................................................... 13
Tecnologa orientada a objetos y Visual Basic ....................................................................................... 16
Controles ................................................................................................................................................. 18
Clase ........................................................................................................................................................ 18
Objetos .................................................................................................................................................... 18
Cuadro de herramientas .......................................................................................................................... 19
Propiedades ............................................................................................................................................. 23
Mtodos .................................................................................................................................................. 24
Ejemplificacin de objeto - propiedad - mtodo .................................................................................... 24
Explorador de proyectos ......................................................................................................................... 25
Tiempos de desarrollo de Visual Basic ................................................................................................... 27
Ventana Propiedades ............................................................................................................................... 28
Ventana Posicin del formulario ............................................................................................................. 31
Pasos para crear una aplicacin en Visual Basic ..................................................................................... 32
Resumen................................................................................................................................................... 33
Algunas respuestas a los ejercicios ........................................................................................................ 34

Capitulo 2: Creacin de la interfaz de usuario ............................................................... 35


El punto de partida: Qu desea hacer? .................................................................................................. 36
Paso 1: Crear la interfaz de usuario .................................................................................................... 37

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

Captulo 3: Cmo establecer las propiedades de los objetos .............................................. 57


Consideraciones de diseo en Visual Basic ..........................................................................................
Paso 2: Establecer las propiedades de los objetos .......................................................................................
Validar que ya se tienen lodos los objetos que se requieren en el formulario.....................................
Cmo asignar el nombre adecuado a cada uno de los objetos ..........................................................
Cmo establecer las propiedades de apariencia y comportamiento ..................................................
Tablas de objetos y propiedades ........................................................................................................
Resumen .....................................................................................................................................................

58
59
59
62
67
73
74

Captulo 4: Escritura del cdigo de los eventos ................................................................... 75


Paso 3: Escribir el cdigo de los eventos ....................................................................................................
El editor de cdigo de Visual Basic ............................................................................................................
Elementos de la ventana Cdigo ..........................................................................................................
Caracteres especiales ............................................................................................................................
Asistencia en la edicin de cdigo .......................................................................................................
El evento predeterminado de los objetos...............................................................................................
Convenciones para la codificacin .......................................................................................................
Especificaciones de codificacin ...........................................................................................................
Qu hacer con los procedimientos de evento sin cdigo? ....................................................................
Resumen ......................................................................................................................................................
Algunas respuestas a los ejercicios .....................................................................................................

76
76
79
81
84
.84
.94
96
.97
98
98

Captulo 5: Cmo guardar y ejecutar aplicaciones ............................................................. 101


Cmo se almacena su trabajo en Visual Basic? ......................................................................................... 102
Cmo guardar aplicaciones .......................................................................................................................... 103
Recomendaciones para nombrar archivos en Visual Basic .................................................................... 107
Cmo ejecutar su aplicacin ......................................................................................................................... 108
Depuracin y control del programa............................................................................................................... 114
Indicadores de margen ............................................................................................................................. 115
La ventana Cdigo al depurar una aplicacin ..........................................................................................117
Ejecucin paso a paso .............................................................................................................................. 118
Puntos de interrupcin ............................................................................................................................. 119
Cmo generar un archivo ejecutable (EXE) ................................................................................................. 120
Forma esquemtica de presentacin de aplicaciones ................................................................................... 123
Resumen ...................................................................................................................................................... 127
Algunas respuestas a los ejercicios .......................................................................................................... 128

Parte 2: Elementos de programacin


Captulo 6: Variables y tipos de datos ...................................................................................................... 131
MsgBox .................................................................................................................................................. 132
Constantes de Visual Basic .................................................................................................................... 135

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

Captulo 7: Operadores y estructuras de control ...................................................................... 169


Operadores aritmticos .................................................................................................................................... 170
Operadores comparativos ................................................................................................................................ 172
Cdigo ASCII ......................................................................................................................................... 173
Operadores lgicos .......................................................................................................................................... 174
Prioridad entre operadores ............................................................................................................................... 177
Instruccin If (condicional) ........................................................................................................................... 178
Select Case ................................................................................................................................................ 184
For Next ....................................................................................................................................................... 186
Do Loop .......................................................................................................................................................... 189
Resumen .......................................................................................................................................................... 191
Algunas respuestas a los ejercicios ...................................................................................................... 191
Captulo 8: Funciones de manipulacin de datos ......................................................................193
Qu son las funciones .......................................................................................................................................194
Funciones de fecha y hora ................................................................................................................................ 195
Funciones de manipulacin de cadenas (string) ......................................................................................... 202
Funciones numricas ........................................................................................................................................ 210
Funciones de decisin ...................................................................................................................................... 213
Funciones de uso especfico ............................................................................................................................. 216
Funciones financieras ................................................................................................................................ 216
Funciones trigonomtricas ........................................................................................................................ 217
Resumen ........................................................................................................................................................... 218
Captulo 9: Procedimientos y funciones definidas por el usuario .......................................... 219
Procedimientos ................................................................................................................................................. 220
Ejecucin de procedimientos ............................................................................................................... 221
Cmo agregar procedimientos en Visual Basic ................................................................................... 222
Procedimientos que no utilizan argumentos y no devuelven valores ................................................. 224
Procedimientos que no utilizan argumentos y s devuelven valores .................................................. 225
Procedimientos que utilizan argumentos ........................................................................................... 227
Especificacin de argumentos opcionales ......................................................................................... 229
Valores predeterminados para argumentos opcionales ...................................................................... 232
Funciones con nmero incierto de argumentos ................................................................................ 233
Resumen ......................................................................................................................................................... 237

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

Captulo 11: Programacin orientada a eventos ........................................................................................ 263


Eventos y su clasificacin ............................................................................................................................... 264
Argumentos implcitos ............................................................................................................................. 266
Resumen de las categoras de eventos, consideradas de uso general .............................................................. 266
TipoClic .................................................................................................................................................. 267
Tipo Cambios ......................................................................................................................................... 268
Tipo Enfoque .......................................................................................................................................... 270
Tipo Ratn .............................................................................................................................................. 284
Prioridad de los eventos .................................................................................................................................. 294
Resumen .......................................................................................................................................................... 303
Captulo 12: Controles contenedores y controles de seleccin .................................................................. 305
Objetos contenedores ...................................................................................................................................... 306
Frame ............................................................................................................................................................. 306
CheckBox ...................................................................................................................................................... 312
Matriz de controles .......................................................................................................................................... 316
Colores en Visual Basic utilizando RGB y QBColor .................................................................................... 323
RGB ........................................................................................................................................................... 323
QBColor ............................................................................................................................................... 324
OptionButton ............................................................................................................................................ 325
HscrollBary y ScrollBar ..................................................................................................................... 330
Resumen ........................................................................................................................................................... 337
Captulo 13: Controles de listas desplegables .............................................................................................. 339
Concepto de coleccin ..................................................................................................................................... 340
Listas desplegables: ListBox y ComboBox ................................................................................................ 342
Cmo agregar y eliminar opciones de las listas desplegables ......................................................................... 343
Mtodo Additem ..................................................................................................................................... 343
Propiedad ListCount ............................................................................................................................ 344
Propiedad List ........................................................................................................................................ 345
Propiedades Selected y Listindex ................................................................................................. 346
Mtodo Removeltem .............................................................................................................................. 347
Mtodo Clear .......................................................................................................................................... 348
Resumen ........................................................................................................................................................... 368
Captulo 14: Editor de mens y manejo del Portapapeles ......................................................................... 371
El Editor de mens .......................................................................................................................................... 372
Cmo invocar el Editor de mens .......................................................................................................... 373

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

Captulo 15: Manejo de imgenes .............................................................................................................. 395


Controles bsicos para mostrar imgenes ....................................................................................................... 396
Image .............................................................................................................................................................. 396
LoadPicture ......................................................................................................................................... 396
PictureBox ................................................................................................................................................. 400
Adicin de componentes al proyecto .............................................................................................................. 405
Almacenamiento de imgenes ......................................................................................................................... 409
ImageList (; Microsoft Windows Common Controls 6.0) ...................................................................... 410
Resumen .......................................................................................................................................................... 419
Algunas respuestas a los ejercicios ............................................................................................................. 419
Captulo 16; Arrastrar y colocar ................................................................................................................. 421
Arrastrar y colocar .......................................................................................................................................... 422
Estados de transicin y punteros predefinidos ................................................................................................ 432
Punteros predefinidos del entorno de Windows ..................................................................................... 433
Manejo en modo manual de arrastrar y colocar .............................................................................................. 435
Resumen .......................................................................................................................................................... 441
Captulo 17: Control del tiempo .................................................................................................................. 443
Control bsico para controlar el tiempo .......................................................................................................... 444
Timer ...................................................................................................................................................... 444
Resumen .......................................................................................................................................................... 449
Captulo 18: Manejo del sistema de archivos ............................................................................................. 451
El sistema de archivos ..................................................................................................................................... 452
Controles bsicos para el manejo del sistema de archivos .............................................................................. 452
DriveListBox ............................................................................................................................................ 452
DirListBox ................................................................................................................................................. 453
FileListBox .............................................................................................................................................. 453
Manejo del objeto FileSystem ................................................................................................................... 461
Manipulacin de subdirectorios ................................................................................................................... 461
Manipulacin de archivos ............................................................................................................................ 468
Resumen ........................................................................................................................................................... 474
Captulo 19: Cuadros de dilogo comunes ...................................................................................................477
Cuadros de dilogo comunes ............................................................................................................................478
CommonDialog (; Microsoft Common Dialog Control 6.0) ..................................................................... 478
Indicadores ................................................................................................................................................... 480
Manejo de errores .........................................................................................................................................481
Cuadro de dilogo Color ............................................................................................................................. 482
Cuadro de dilogo Fuente ............................................................................................................................ 485
Cuadro de dilogo Imprimir ........................................................................................................................ 491
Cuadro de dilogo Abrir/Guardar como ...................................................................................................... 497
Resumen .......................................................................................................................................................... 504

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

Captulo 21: Controles ActiveX para mejorar la interfaz ..................................................................... 513


Controles comunes de Windows ................................................................................................................. 514
ProgressBar (; Microsoft Windows Common Controls 6.0) ....................................................... 514
TreeView (; Microsoft Windows Common Controls 6.0) ............................................................. 518
Cmo agregar opciones a un sistema TreeView ............................................................................... 519
StatusBar (; Microsoft Windows Common Controls 6.0) ............................................................ 526
Cmo agregar opciones a un objeto basado en StatusBar .............................................................. 526
ToolBar (; Microsoft Windows Common Controls 6.0) ................................................................. 529
Cmo agregar opciones a un objeto basado en StatusBar .............................................................. 530
Resumen ...................................................................................................................................................... 537

Parte 4: Archivos y bases de datos


Captulo 22: Bases de datos y DAO ......................................................................................................... 541
Conceptos de bases de datos ....................................................................................................................... 542
Base de datos, tabla, registro y campo ................................................................................................... 542
Clave primaria ........................................................................................................................................ 543
Clave externa y relaciones ...................................................................................................................... 544
Integridad referencial .............................................................................................................................. 545
ndices ..................................................................................................................................................... 545
El motor de base de datos Microsoft Jet ...................................................................................................... 550
La interfaz de usuario y el cdigo de aplicaciones ................................................................................ 550
El motor de base de datos ....................................................................................................................... 551
El almacn de datos ................................................................................................................................ 551
DAO ............................................................................................................................................................. 551
Clases, objetos y colecciones ................................................................................................................. 554
Divisiones de la programacin de bases de datos .................................................................................. 555
Lenguaje de Definicin de Datos ........................................................................................................... 555
Lenguaje de Manipulacin de Datos ...................................................................................................... 556
Resumen ...................................................................................................................................................... 556
Algunas respuestas a los ejercicios ........................................................................................................ 556
Captulo 23: Lenguaje de Definicin de Datos y DAO ........................................................................... 559
Lenguaje de Definicin de Datos ................................................................................................................. 560
Tipos de objetos en DAO ........................................................................................................................ 561
Sintaxis para el uso de colecciones ........................................................................................................ 562
Variables objeto ...................................................................................................................................... 563
Espacio de trabajo e integracin de la base de datos .............................................................................. 570
Mtodos Create ................................................................................................................................... 570
Bloque With... End With ................................................................................................................ 573
Elementos requeridos para agregar objetos ............................................................................................ 576

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

Captulo 27: Archivos planos para transferencia de datos ...................................................... 675


Los archivos planos siguen vigentes ............................................................................................................... 676
Creacin y lectura de archivos planos ............................................................................................................. 677
Open ........................................................................................................................................................ 678
FreeFile ............................................................................................................................................... 678
Tipos de datos definidos por el usuario .................................................................................................... 679
Cmo escribir en un archivo ..................................................................................................................... 679
Input ...................................................................................................................................................... 684
Resumen .......................................................................................................................................................... 688
Captulo 28: Manejo de bases de datos corporativas usando ADO ........................................ 689
Bases de datos ms all de la computadora personal ...................................................................................... 690
Objeto de Datos ActiveX .......................................................................................................................... 690
Pubs: La base de datos de ejemplo ............................................................................................................ 692
Ejecucin front - end a travs de ADO ..................................................................................................... 693
Conexin a una base de datos corporativa mediante ADO ...................................................................... 694
Peticiones al servidor de bases de datos utilizando ADO ........................................................................ 701
DataGr-id (; Microsoft DataGrid Control OLEDB) ................................................................................... 704
SQL............................................................................................................................................................... 709
DML usando ADO ........................................................................................................................................ 720
ADO a travs de ODBC ................................................................................................................................ 732
Conexin a travs de DSN almacenado en el Registro ........................................................................... 733
Conexin a travs de DSN almacenado en archivo DSN ....................................................................... 733
MDAC y problemas comunes en el enlace ................................................................................................... 735
Resumen ........................................................................................................................................................ 736
Captulo 29: Data Environment .................................................................................................
Organizacin de enlaces a datos utilizando el Data Environment ................................................................
Estructura jerrquica del Data Environment ..........................................................................................
Resumen .......................................................................................................................................................

737
738
739
749

Captulo 30: Data Report ...........................................................................................................


Informes a travs del Data Report ................................................................................................................
Cmo agregar un Data Report a un proyecto ..........................................................................................
Objetos del Data Report ..........................................................................................................................
Secciones del Data Report .......................................................................................................................
Controles del Data Report ......................................................................................................................
Desarrollo de un informe ..............................................................................................................................
Qu queremos? La imagen visual del informe ......................................................................................
Cmo agregar campos del Data Environment al Data Report ................................................................
Cmo agregar objetos al Data Report .....................................................................................................
Informes con grupos de datos ........................................................................................................................
Data Environment para informes con grupos ..........................................................................................
Cmo se organizan las secciones .............................................................................................................
Campos calculados y objetos rptFunction ........................................................................................
Resumen .........................................................................................................................................................

751
752
752
753
753
754
755
755
760
762
769
771
776
783
787

xiv Contenido

Parte 5: Apndices

Apndice I: Convenciones .........................................................................................................................


Prefijos para los controles ............................................................................................................................
Prefijos sugeridos para DAO ..................................................................................................................
Prefijos sugeridos para mens ................................................................................................................
Seleccin de prefijos para otros controles ..............................................................................................
Convenciones de nombres de constantes y variables ...................................................................................
Prefijos de alcance de variables ..............................................................................................................
Constantes ...............................................................................................................................................
Variables ..................................................................................................................................................
Tipos de datos de variables .....................................................................................................................
Nombres descriptivos de variables y procedimientos ............................................................................
Tipos definidos por el usuario ................................................................................................................
Convenciones de codificacin estructurada .................................................................................................
Convenciones de comentarios al cdigo ................................................................................................
Cmo formatear el cdigo ......................................................................................................................
Agrupacin de constantes .......................................................................................................................
Operadores & y + ....................................................................................................................................
Creacin de cadenas para MsgBox, InputBox y consultas SQL ........................................................

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
_________________________________________________________________________

Parte 1: Entorno Integrado de Desarrollo


Capitulo 1: Visual Basic como plataforma de desarrollo
01.01 Cmo iniciar sesin en Visual Basic...................................................................................... 6
01.02 Cmo cerrar una sesin en Visual Basic................................................................................ 8
01.03 Cmo activar los elementos del IDE ................................................................................... 11
01.04 Cmo establecer el entorno de desarrollo a SDI ................................................................. 14
01.05 Ubicacin de los controles ................................................................................................... 22
01.06 Cmo ocultar y mostrar formularios..................................................................................... 26
01.07 Uso de la ventana Propiedades ............................................................................................. 30

Capitulo 2: Creacin de la interfaz de usuario


02.01 Cmo insertar un objeto en la interfaz..................................................................................
02.02 Cmo cambiar la posicin o las dimensiones de un objeto...................................................
02.03 Cmo seleccionar un formulario... .......................................................................................
02.04 Corno cambiar el tamao de un formulario. .........................................................................
02.05 Cmo guardar su trabajo.......................................................................................................
02.06 Cmo agregar objetos en modo de trazo ..............................................................................
02.07 Seleccin de objeto activo. en forma individual o en modo de grupo .................................
02.08 Cmo determinar la posicin de un formulario en la pantalla .............................................
02.09 Cmo establecer las Guas de resolucin .............................................................................
02.10 Cmo utilizar las herramientas del men Formato para organizar objetos......................................

38
43
45
45
46
47
49
51
53
54

Captulo 3: Cmo establecer las propiedades de los objetos


03.01 Cmo validar la cantidad y el tipo de objetos requeridos en una aplicacin......................... 60
03.02 Cmo modificar la propiedad ame de los objetos............................................................... 66
03.03 Cmo modificar las propiedades de apariencia y comportamiento....................................... 68

Captulo 4: Escritura del cdigo de los eventos


04.01 Cmo abrir la ventana Cdigo...............................................................................................
04.02 Cmo manejar los componentes de la ventana Cdigo ........................................................
04.03 Manejo de colores y autoformato al editar cdigo.................................................................
04.04 Compilacin y deteccin de errores en modo de edicin......................................................
04.05 Sugerencia de propiedades y mtodos en modo de edicin...................................................
04.06 Uso de los cuadros Objeto y Evento para la seleccin y codificacin de un procedimiento
de evento determinado ..........................................................................................................
04.07 Uso del carcter de .subrayado y la ayuda contextual en modo de edicin...........................

81
82
85
86
87
90
92

Captulo 5: Cmo guardar y ejecutar aplicaciones


05.01 Archivos de trabajo en Visual Basic .................................................................................
05.02 Cmo abrir un proyecto previamente guardado.................................................................
05.03 Cmo ejecutar e interrumpir su programa..........................................................................
05.04 Cmo seleccionar el proyecto inicial.............. ...................................................................

xv

104
107
110
111

xvi ndice de prcticas


05.05 Cmo seleccionar el objeto de inicio en un proyecto..........................................................................113
05.06 Despliegue de errores en tiempo de ejecucin ................................................................................... 116
05.07 Cmo corregir cdigo en modo de interrupcin................................................................................. 118
05.08 Cmo ejecutar un programa lnea por lnea................................................. ...................................... 119
05.09 Cmo agregar y eliminar un punto de interrupcin............................................................................ 120
05.10 Cmo compilar un proyecto para generar un ejecutable en Visual Basic.......................................... 121

Parte 2: Elementos de programacin


Captulo 6: Variables y tipos de datos
06.01 MsgBox: creacin de cuadros de informacin y confirmacin de manera rpida..............................133
06.02 Uso de constantes de Visual Basic...................................................................................................... 138
06.03 InputBox: acceso rpido de datos ...................................................................................................140
06.04 Determinacin del nombre. tipo de datos y alcance indicado para las variables de memoria.............148
06.05 Uso de matrices y determinacin de lmites mnimos y mximos del intervalo de subndices...........154
06.06 Declaracin automtica de variables en Visual Basic..........................................................................155
06.07 Uso de Option Explicit (requerir la declaracin de variables de manera explcita)...................156
06.08 Cmo establecer Option Explicit de manera automtica para todos los formularios nuevos....157
06.09 Uso de funciones de conversin........................................................................ ................................. 160
06.10 Uso de la funcin Format ................................................................................................................ 163
06.11 Uso de la funcin Format. en formatos definidos por el usuario..................................................... 165

Captulo 7: Operadores y estructuras de control


07.01 Uso de los operadores aritmticos .......................................................................................................171
07.02 Cmo se resuelven las condiciones que incluyen operadores de comparacin....................................174
07.03 Cmo especificar la preferencia al resolver condiciones. mediante el uso de parntesis ....................177
07.04 Uso de For Next ................................................................................................................ ...............187
07.05 Uso de Exit For ................................................................................................................................188
07.06 Uso de Do Loop .................................................................... .............................................................190

Captulo 8: Funciones de manipulacin de datos


08.01 Uso de funciones de fecha y hora...................................................... .................................................201
08.02 Uso de funciones de manipulacin de cadenas................................................................................... 209
08.03 Uso de funciones numricas y de decisin..........................................................................................214

Captulo 9: Procedimientos y funciones definidas por el usuario


09.01 Creacin de un procedimiento ............................................................................................................ 224
09.02 Creacin de un procedimiento que no utilice argumentos y devuelva valores................................... 226
09.03 Creacin de un procedimiento que utilice argumentos y devuelva valores........................................ 228
09.04 Creacin de un procedimiento que utilice argumentos opcionales y devuelva valores ..................... 231
09.05 Creacin de un procedimiento que utilice argumentos opcionales con valor predeterminado
y devuelva valores................................................................................................................ 233
09.06 Creacin de un procedimiento que utilice un nmero de argumentos incierto.................................. 236

Parte 3: Controles grficos y programacin orientada a eventos


Captulo 10: Controles bsicos para la introduccin de datos
10.01 Uso de objetos basados en los controles Label. TextBox y CommandButton......................... 245

ndice de prcticas xvii


10.02 Uso de botones predefinidos de aceptacin y cancelacin y cuadros de texto multilneas,
de capacidad limitada.......................................................................................................................................... 251
10.03 Uso de caracteres para escritura oculta y validacin inmediata de caracteres, asegurando
la captura de caracteres en mayscula. Habilitar e inhabilitar botones............................................................... 256
Captulo 11: Programacin orientada a eventos
11.01 Demostracin de algunos de los eventos de tipo Clic, Cambios y Enfoque.............................................. 271
11.02 Demostracin de algunos de los eventos de tipo Teclado ......................................................................... 279
11.03 Demostracin de algunos de los eventos de tipo Ratn ............................................................................ 285
11.04 Cmo darle riqueza visual a un programa, mediante el evento MouseMove........................................... 287
11.05 Elaboracin de un programa que le permita visualizar la prioridad en la ejecucin
de los eventos................................................................................................................................................. 295
11.06 Demostracin de la precedencia del evento MouseMove sobre el evento Click.................................. 301
Captulo 12: Controles contenedores y controles de seleccin
12.01 Cmo utilizar un objeto contenedor para darle funcionalidad a una aplicacin ...................................
12.02 Uso de un control CheckBox para seleccionar varias caractersticas de manera simultnea .............
12.03 Uso de una matriz de controles y su uso a travs de For Next y For Each ....................................
12.04 Uso de funciones RGB y QBGolor para la manipulacin de colores...................................................
12.05 Uso de objetos tipo OptionButton y Shape, y de una matriz de controles ...................................
12.06 Uso de barras de desplazamiento y nmeros aleatorios ........................................................................

307
312
319
325
326
332

Captulo 13: Controles de listas desplegables


13.01 Utilizacin de un objeto ListBox, agregndole y eliminndole elementos
de forma dinmica.............................................................................................................................................
13.02 Uso de objetos ListBox de seleccin mltiple, que pasan elementos de una lista a otra....................
13.03 Uso de un objeto ListBox con estilo CheckBox................................................................................
13.04 Uso de los objetos ComboBox y ListBox para crear un explorador de fuentes..................................
13.05 Uso de un objeto ComboBox sensible a la escritura...............................................................................

349
354
358
361
365

Captulo 14: Editor de mens y manejo del Portapapeles


14.01 Cmo se agrega un objeto de tipo men..................................................................................................
14.02 Cmo introducir cdigo a una opcin de men y utilizar un men.........................................................
14.03 Activacin dinmica de opciones.............................................................................................................
14.04 Modificacin del tipo de letra utilizando el men....................................................................................
14.05 Opciones de men mutuamente excluyentes............................................................................................
14.06 Cmo se maneja el Portapapeles en Visual Basic.....................................................................................

375
380
381
383
384
387

Captulo 15: Manejo de imgenes


15.01 Uso de objetos basados en el control Image y carga de imgenes con LoadPicture.......................
15.02 Uso de objetos basados en el control PictureBox y modificacin dinmica de imgenes ................
15.03 Cmo agregar componentes a un proyecto de Visual Basic ....................................................................
15.04 Almacenamiento de imgenes en un objeto ImageList ......................................................................
15.05 Uso de una coleccin de imgenes ImageList ....................................................................................

398
401
406
410
416

Captulo 16: Arrastrar y colocar


16.01 Programa que comprueba las operaciones de arrastrar y colocar.............................................................. 423
16.02 Programa que comprueba las operaciones de arrastrar y colocar cuando el objeto de destino
no es de tipo Form......................................................................................................................................... 426

xviii ndice de prcticas


16.03 Programa que comprueba las operaciones de arrastrar y colocar, y que utiliza un objeto
de destino que no es de tipo Form ......................................................................................................... 428
16.04 Programa que comprueba los estados de las operaciones de arrastrar y colocar, as como
los punteros predefinidos del entorno de Windows ............................................................................... 434
16.05 Programa que comprueba las operaciones de arrastrar y colocar utilizando el modo manual ........... 436
Captulo 17: Control del tiempo
17.01 Uso del control Timer como valor absoluto. Un reloj.......................................................................444
17.02 Uso del control Timer como valor relativo. Cuenta regresiva en captura.........................................446
Captulo 18: Manejo del sistema de archivos
18.01 Uso de los controles bsicos para el manejo del sistema de archivos................................................. 454
18.02 Uso del objeto FileSystem para manipulacin de directorios....................................................... 463
18.03 Uso del objeto FileSystem para manipulacin de archivos........................................................... 469
Captulo 19: Cuadros de dilogo comunes
19.01 Cmo agregar el control CommonDialog al Cuadro de herramientas............................................. 479
19.02 Uso del control CommonDialog para manipular el color en el formato estndar
de Windows................................................................................................................................................... 482
19.03 Uso del control CommonDialog para manipular las fuentes (tipos de letra) en el formato
estndar de Windows.................................................................................................................................... 488
19.04 Uso del control CommonDialog para manipular las especificaciones de impresora
en el formato estndar de Windows.............................................................................................................. 493
19.05 Uso del control CommonDialog para manejar el cuadro de dilogo Abrir/ Guardar como,
en el formato estndar de Windows ............................................................................................................. 501
Captulo 20: Cmo trabajar en una interfaz de mltiples documentos
20.01 Cmo agregar un formulario maestro para trabajo en MDI y los formularios hijos.......................... 506
20.02 Cmo trabajar con varios formularios ............................................................................................... 509
Captulo 21: Controles ActiveX para mejorar la interfaz
21.01 Uso de objetos basados en el control ProgressBar ..................................................................... 515
21.02 Uso de TreeView ............................................................................................................................ 521
21.03 Uso de StatusBar y ToolBar ..................................................................................................... 532
Parte 4: Archivos y bases de datos
Captulo 22: Bases de datos y DAO
22.01 Anlisis de un modelo relacional de bases de datos.
22.02 Identificacin de elementos del modelo de datos ......
Captulo 23: Lenguaje de Definicin de Datos y DAO
23.01 Habilitacin de DAO.......................................................................................................................... 564
23.02 DDL utilizando DAO: declaracin de variables objeto...................................................................... 565
23.03 DDL utilizando DAO: creacin del almacn de base de datos........................................................... 574
23.04 DDL utilizando DAO: creacin de estructura de tablas y sus campos................................................ 579
23.05 DDL utilizando DAO: creacin de ndices .........................................................................................582

ndice de prcticas xix


23.06 DDL utilizando DAO: creacin de relaciones.................................................................................. 584
23.07 Ingeniera inversa utilizando DAO: determinacin del modelo de datos a partir
de un almacn de datos .......................................................................................................................... 589
Captulo 24: Lenguaje de Manipulacin de Datos y DAO
24.01 DML utilizando DAO: actualizacin de una tabla mediante la tcnica RAR..................................... 614
24.02 DML utilizando DAO: mtodos de movimiento entre registros......................................................... 623
24.03 DML utilizando DAO: bsqueda basada en criterios .........................................................................630
Captulo 25: Controles Data y FlexGrid
25.01 Uso del control Data para agregar, eliminar, modificar y consultar registros................................... 642
25.02 Uso del control Data para alimentar un FlexGrid ........................................................................647
25.03 SQLViewer: intrprete de SQL para DAO, usando los controles Data y FlexGrid..................... 650
Captulo 26: Bases de datos multiusuario usando DAO
26.01 Rutina de manejo de errores ............................................................................................................... 666
26.02 Uso del DAO para aplicaciones multiusuario..................................................................................... 669
Captulo 27: Archivos planos para transferencia de datos
27.01 Creacin y escritura en archivos planos.............................................................................................. 680
27.02 Proceso para bajar datos de una base de datos a archivos planos ...................................................... 682
27.03 Cmo cargar datos a una base de datos desde un archivo.................................................................. 685
Captulo 28: Manejo de bases de datos corporativas usando ADO
28.01 Conexin a bases de datos corporativas usando ADO........................................................................ 697
28.02 Visualizacin de bases de datos corporativas utilizando el control DataGrid y ADO....................705
28.03 Consultas SQL a bases de datos corporativas usando ADO............................................................... 713
28.04 DML utilizando ADO: actualizacin de una tabla mediante la tcnica RAR..................................... 722
Captulo 29: Data Environment
29.01 Uso del Data Environment para manejar bases de datos corporativas ............................................... 742
Captulo 30: Data Report
30.01 Cmo definir un Data Environment para utilizarlo con el Data Report.............................................. 757
30.02 Cmo complementar con objetos rptTextBox la seccin Detalle de un Data Report................... 761
30.03 Cmo complementar el Data Report con objetos rptLabel y rptLine. Asignacin
de valores a objetos rptLabel ............................................................................................ 763
30.04 Cmo complementar el Data Report con objetos rptShape y rptimage................................... 767
30.05 Cmo definir un Data Environment para utilizarlo con el Data Report basado
en grupos de informacin........................................................................................................................ 772
30.06 Cmo definir un Data Report basado en grupos de informacin........................................................ 778
30.07 Cmo integrar a un informe datos consolidados, de la base de datos y de campos calculados...........785

LO INESPERADO
_________________________________________________________________________

Errores en tiempo de diseo


Apertura no solicitada de la ventana Cdigo.................................................................................................... 43
Changed database context to "Database" ...................................................................................................... 735
Desea crear una matriz de controles?............................................................................................................... 65
Especificacin de alcance de procedimiento no requerida................................................................................ 93
Formato regional de Windows afecta el valor devuelto de la funcin Format............................................... 165
Las secciones del informe no coinciden con el origen de datos ..................................................................... 786
No aparece la ventana Nuevo proyecto............................................................................................................... 7
No hay ninguna fuente .................................................................................................................................... 488
No se encontr campo <campo>.................................................................................................................... 786
No se encuentra Data Environment en el men Proyecto ............................................................................... 743
No se puede colocar el control <control> en esta seccin.............................................................................. 786
No se recuperan datos,..................................................................................................................................... 748

Errores de compilacin (orden alfabtico)


Bloque if sin end if .......................................................................................................................................... 180
Do sin Loop ..................................................................................................................................................... 190
El Character de declaracin de tipo no coincide con el tipo de datos declarado.......................................... 147
El Character no es vlido ............................................................................................................................... 147
El nmero de dimensiones es incorrecto ......................................................................................................... 153
End if sin bloque if .......................................................................................................................................... 180
End Select sin Select Case .............................................................................................................................. 185
For sin Next ..................................................................................................................................................... 188
Loop sin Do ..................................................................................................................................................... 191
Next sin For ..................................................................................................................................................... 189
No coinciden los tipos ..................................................................................................................................... 397
No se encontr el mtodo o el dato miembro .................................................................................................. 248
No se encontr mtodo o elemento de datos ................................................................................................... 114
No se ha definido el tipo definido por el usuario ........................................................................................... 570
No se ha encontrado el archivo ....................................................................................................................... 397
No se puede asignar a una matriz .................................................................................................................. 153
Origen de datos no vlido............................................................................................................................... 786
Procedimiento Sub o Function no definido ..................................................................................................... 115
Referencia de variable de control Next no vlida ........................................................................................... 189
Se esperaba ")", "(" ......................................................................................................................................... 228
Se esperaba el fin de la instruccin.................................................................................................................. 146
Se esperaba fin de la funcin ........................................................................................................................... 228
Select Case sin End Select .............................................................................................................................. 185
Uso no vlido de una propiedad ..................................................................................................................... .248

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
_________________________________________________________________________

Aprenda Visual Basic practicando es un libro de propuesta.


Nace de una realidad evidente: la gente compra los libros de programacin para aprender. En muchos casos
adquiere el conocimiento como resultado de la lectura y, sin embargo, est inconforme con el resultado y con sus
propias potencialidades. La consecuencia obligada, si su afn de aprender persiste o si las necesidades de trabajo
as lo demandan, es que termina tomando un curso.
Tal pareciera entonces que los cursos son ms completos, ms efectivos, lo que nos lleva a planteamos la pregunta
cuya respuesta mueve este libro: qu tienen los cursos que no tengan los libros? La respuesta es simple: los
cursos tienen ms accin, como diran algunos; hay interaccin, aciertos y errores, el hacer del participante es
diferente al hacer que corresponde al lector de un libro.
Conocer la teora es importante, pero no suficiente; todo lo plasmado en un libro funciona bien, pero en la realidad
las cosas no siempre suceden de manera tan favorable en el trabajo diario. En la realidad aparecen situaciones
inexploradas por los libros, en donde ms que conocer la teora, se requiere haberla comprendido mediante la
vivencia prctica, para poder as ejercer el pensamiento lateral que nos lleve a resolver problemas ante los cuales
nunca nos habamos enfrentado.
ste es un libro prctico y creemos firmemente que la prctica hace al maestro. Cada captulo tiene su objetivo
particular, no slo explica algo, sino sirve para algo. Es un libro en el que se vale escribir, de hecho se
recomienda; est lleno de conceptos, cuestionarios, ejemplos, ejemplos y ejemplos. Es como leer un libro que
adems le brinda los elementos para que trabaje como lo hara en un curso. Rene lo mejor de los dos mundos.
Es excelente para el lector autodidacta, ya que le permite asimilar la informacin y practicar lo aprendido, as
como dar seguimiento a sus propios avances en el aprendizaje. Para los maestros e instructores de Visual Basic, es
un apoyo valioso como material de texto. Para el programador que ya ha tenido contacto con Visual Basic, es una
caja de trucos que le puede facilitar la tarea de desarrollar aplicaciones avanzadas o pulir las que haya
desarrollado. En trminos generales, es til para aquellos que no se dejan llevar por la engaosa creencia de que
programar se aprende leyendo; programar se aprende programando y punto.
Slo esperamos una cosa: que practique, comprenda y aprenda Visual Basic.

Jos Felipe Ramrez Ramrez


Catedrtico de la Universidad
Autnoma de Nuevo Len

xxii

FORMA Y CONTENIDO DEl LIBRO


_________________________________________________________________________

La organizacin de este libro


Este libro est dividido en cinco partes:
Entorno Integrado de Desarrollo. Trata de manera detallada los elementos y herramientas que
Visual Basic proporciona para soportar el desarrollo de aplicaciones para Windows 95, 98, 2000 y
NT. En esta parte se revisa el ciclo de desarrollo de aplicaciones de Visual Basic, desde el inicio
de un proyecto hasta su compilacin a ejecutable (EXE) para su distribucin. Es fundamental que
asimile y domine todo lo expuesto en esta parte, incluso si ya maneja Visual Basic, a efecto de
unificar los conceptos que maneja el libro.
Elementos de programacin. Trata de manera detallada los elementos de programacin en Visual
Basic, como el manejo de variables, procedimientos, funciones implcitas del lenguaje, tipos de
datos, estructuras de control, etctera. Si verdaderamente quiere ser un experto en Visual Basic, es
necesario que deje lo sencillo, el lado "Visual", para profundizar en primera instancia en su lado
"Basic".
Controles grficos y programacin orientada a eventos. Trata de manera detallada los controles
bsicos de Visual Basic. Al terminar esta parte, estar listo para disear cualquier interfaz de
usuario que se proponga desarrollar. Tambin se revisa el manejo de algunos controles ActiveX
que proporcionarn un aspecto profesional a sus aplicaciones.
Archivos y bases de datos. Trata de manera especfica la forma de utilizar bases de datos con
Visual Basic, introducindolo a tcnicas avanzadas para el registro, recuperacin y eliminacin de
informacin, representacin de modelos de datos en Visual Basic y el manejo de instrucciones
SQL, utilizando para ello las versiones ms recientes de las colecciones de objetos para manejo de
datos:
Objetos de Acceso a Datos de Microsoft, Objetos de Datos ActiveX de Microsoft y enlaces mediante
ODBC. Esta parte tambin trata la manipulacin de archivos de texto utilizando Visual Basic, as
como el manejo del diseador Data Report, que le permitir crear informes para su salida en
pantalla o papel.
Apndices. Aqu se detallar informacin del producto y las costumbres asociadas a su uso. Los
apndices constituyen una referencia que no debe dejar de consultar para obtener buenos productos
de su trabajo. Se tratarn en este caso las

xxiii

xxiv Forma y contenido del libro


convenciones de la programacin en Visual Basic, as como las mejoras relacionadas con el Service
Pack 5.0 de Visual Studio.
Cada parte se divide a su vez en captulos; cada uno de los cuales tiene una organizacin consistente
que facilita la presentacin del material.
Cada captulo tiene el tamao adecuado para manejar un tema de manera completa, sin ser muy
extenso; la idea es que no interrumpa un tema sin agotarlo.
Cada captulo inicia con una seccin de Objetivos, la cual describe de manera rpida lo que se
pretende aprender en dicho captulo.
Al final de cada captulo se encontrar una seccin de Resumen, en la cual se enumerarn los
puntos ms importantes, principalmente los que sern indispensables para captulos posteriores. En
el resumen tambin podr encontrar respuestas relativas a algunas prcticas del captulo.

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

Forma y contenido del libro xxv


men surge otro men, y as sucesivamente. Para manejar esa situacin, ser lo mismo decir
"Seleccione en la barra de mens la opcin Herramientas, despus seleccione Opciones y despus, en
el cuadro de dilogo que aparece, seleccione la ficha Avanzadas", que "Seleccione el men
Herramientas Opciones Avanzadas".
Lo simplificamos porque en la prctica es as de fcil: mediante tres clics usted ya habr hecho todo el
proceso de seleccin de una opcin, en menos de tres segundos. La idea es que el libro no haga que lo
sencillo parezca complejo.

Notaciones y uso de tipos de letra


Se utilizarn itlicas cuando surjan conceptos y trminos nuevos, incluyendo elementos propios del
lenguaje que sean referidos por primera vez. Tambin aplicar para las variables y argumentos,
cuando aparezcan como parte de una sintaxis. Aplicarn cuando se haga referencia a otros textos,
cuando se haga referencia a bibliotecas del lenguaje y cuando se describan mensajes de error en las
secciones de Lo inesperado.
Se utilizar MCPdigital (u OCR A Extended) para las propiedades de los objetos (estn o no
asociadas a los objetos), las referencias a funciones, palabras reservadas y el cdigo de Visual Basic.
En la sintaxis, los corchetes "[ ]" encierran aquellos elementos opcionales. Las llaves "( }", por su
parte, contendrn opciones mutuamente excluyentes.
Se utilizarn negritas en los nombres de directorios o archivos. Se utilizarn de igual manera para
referir nombres de procedimientos creados por el usuario, as como para los datos de entrada que el
usuario tiene que escribir, incluyendo pulsaciones de teclas. Se utilizarn para identificar las
herramientas y componentes del Entorno Integrado de Desarrollo, en sus partes no utilizables
como opcin.
Se utilizarn negritas itlicas para los elementos de la interfaz que pueden ser utilizados como
opcin, las opciones de men y otras opciones de interfaz, como botones de comando u otros que
desencadenen alguna accin determinada, formen parte del Entorno Integrado de Desarrollo, o de
la interfaz creada por los usuarios.

xxvi Forma y contenido del libro

Convenciones del teclado


El signo de suma (+) entre dos teclas indica que stas debern ser presionadas de manera
simultnea; por ejemplo, "Alt+A".

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.

ncorresponde al nmero de captulo en donde son requeridos los

En \avbp\capn se debern guardar las aplicaciones que vaya generando, a efecto de que tenga
debidamente organizado su avance. La
generadas las aplicaciones.

corresponde al nmero de captulo en el que son

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

Parte 1; Entorno Integrado de Desarrollo

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,

Capitulo 1: Visual Basic como plataforma de desarrollo

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.

Visual Basic ms que un lenguaje de programacin


Algunos ubican a Visual Basic como un lenguaje de programacin de propsito general, otros le atribuyen el carcter de Desarrollo Rpido de Aplicaciones (RAD), e
incluso hay quienes dicen que es un 4GL. Lo ms cercano a la verdad, dentro de las
definiciones que citamos, es que Visual Basic es un lenguaje de programacin de
propsito general, pero esa apreciacin es muy limitada para describir lo que en
realidad es Visual Basic- El lenguaje es slo una parte de lo que el producto ofrece; en
trminos generales, Visual Basic es una plataforma de desarrollo de aplicaciones.
Visual Basic proporciona elementos grficos de diseo de aplicaciones, compilador,
editor de programas con capacidad de depuracin al instante y asistencia basada en
colores, ayuda contextual, poderosos asistentes (wizards) que automatizan tareas de
uso comn, tan dismbolas en su objeto como en su complejidad, por citar slo algunas caractersticas. No por nada Visual Basic es la plataforma de desarrollo de aplicaciones para Windows 95, Windows 98, Windows 2000 y Windows NT, lder en el
mercado.

Parte 1; Entorno Integrado de Desarrollo


Visual Basic lleva en su nombre los dos elementos generales que lo conforman.
Su parte "Visual" indica que es una interfaz grfica de usuario (GUI), que en lugar de
requerir el uso de comandos escritos para realizar tareas, slo requiere el uso de
herramientas grficas, de tal forma que desarrollar se asemeja mucho a estar "dibujando"
el trabajo. Esta parte est compuesta por el IDE, que ocupa casi todo este captulo.
Su parte "Basic" indica que aquellas tareas que no se pueden realizar a travs de las
herramientas grficas (que no pueden ser dibujadas), son posibles a travs de un
lenguaje de programacin basado en el legendario lenguaje de propsito general
llamado Cdigo de Instrucciones Simblicas Multipropsito para Principiantes
(BASIC) con el que prcticamente se puede desarrollar cualquier cosa.
Visual Basic no es slo producto, tambin es tecnologa aplicada: su parte "Visual" est
basada en tecnologa orientada a objetos (00), su parte "Basic" es de tipo procedural, y la
mezcla de estas dos tecnologas dan lugar a productos hbridos, orientados a eventos (EO).

Entorno Integrado de Desarrollo


Al iniciar una sesin en Visual Basic, entra en contacto con lo que se llama IDE. Este
entorno es un conjunto de herramientas y elementos que le permiten disear y
programar aplicaciones interactuando con Visual Basic.

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.

>> Cmo iniciar sesin en Visual Basic. [01.01]


A continuacin aprender la forma de iniciar una sesin de trabajo en Visual Basic.
1. En el escritorio de Windows haga clic en el botn Inicio, seleccione Programas,
Microsoft Visual Basic 6.0 y la opcin Microsoft Visual Basic 6.0.

Captulo 1; Visual Basic como plataforma de desarrollo

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.

Al iniciar Visual Basic, aparecer la ventana Nuevo proyecto que se muestra en la


figura 1.1.

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.

Lo inesperado: Si se fija, en la parte inferior de la ventana Nuevo proyecto aparece la


casilla de verificacin "No mostrar este cuadro de dilogo en el futuro", si alguien antes que
usted le dijo a Visual Basic que no apareciera la ventana Nuevo proyecto al iniciar, la ventana
de la figura 1.1 no aparecer. Si ese es su caso, para seguir con la prctica vaya al men
Archivo - Nuevo proyecto, que mostrar una ventana similar. Este cambio no es para siempre,
ya que puede modificarlo a travs del

Parte 1: Entorno Integrado de Desarrollo


men Herramientas - Opciones... - Entorno, seleccionando la opcin Preguntar por un proyecto del
rea Cuando se inicie Visual Basic.

>> Cmo cerrar una sesin en Visual Basic. [01.02]


Enseguida conocer la forma de cerrar una sesin de trabajo en Visual Basic.
1. Seleccione el men Archivo - Salir. Tambin es vlida la combinacin de teclas
Alt+Q, o el estndar para todas las aplicaciones de Windows: A1t+F4.
Ediciones de Visual Basic

En la ventana Nuevo proyecto aparece un conjunto de iconos, mismos que deber


seleccionar de acuerdo a lo que desee realizar en Visual Basic. Si tiene la oportunidad
de trabajar en varios lugares con Visual Basic, tal vez se percate de que no siempre
aparecen los mismos iconos en la ventana Nuevo proyecto; el nmero de iconos disponibles depende de la edicin de Visual Basic que tenga instalada; en la versin 6.0
del producto, se tienen las siguientes ediciones:
Edicin de aprendizaje. Esta edicin de Visual Basic permite a los programadores crear aplicaciones robustas para Windows 95, Windows 98, Windows 2000 y
Windows NT. Incluye todos los controles intrnsecos, adems de los de cuadrcula,
de fichas y los 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 contiene documentacin completa en
pantalla. Una desventaja de esta versin con respecto a la versin 5.0 es que
anteriormente se acompaaba el Crystal Reports, mdulo para elaborar informes en
papel, mismo que ahora tiene que comprarse por separado. Visual Basic suple esta
herramienta con un diseador llamado Data Report, que es un producto ms
modesto. Para el que desea iniciarse en Visual Basic, comprar la edicin de
aprendizaje pueden ser los cien dlares mejor gastados; claro, no olvidando
comprar este libro que tiene en sus manos!
Edicin profesional. Proporciona a los profesionales un conjunto completo de
herramientas para desarrollar soluciones para terceros. Incluye todas las caractersticas de la edicin de aprendizaje, as como controles ActiveX adicionales, el diseador de aplicaciones para Internet Information Server y Visual Database Tools
and Data. La documentacin que se proporciona con la edicin profesional incluye
el libro Caractersticas empresariales de Visual Studio ms los CDs de Microsoft
Developer Network, la cual contiene documentacin completa en pantalla.
Edicin empresarial. Permite a los profesionales crear slidas aplicaciones distribuidas en un entorno de trabajo en equipo. Si decide utilizar a Visual Basic

Captulo 1: Visual Basic como plataforma de desarrollo

para proyectos grandes, complejos y que involucren un nmero considerable de


programadores trabajando en un mismo proyecto simultneamente, o bien si piensa
que Visual Basic ser el componente front end de un esquema cliente/servidor, la
compra de esta edicin es casi obligatoria. Incluye todas las caractersticas de la
edicin profesional, as como herramientas de enlace con productos Back Office
como SQL Server, Microsoft Transaction Server, Internet Information Server, Visual
SourceSafe, SNA Server, etctera. La documentacin impresa que se proporciona
con la edicin empresarial incluye el libro Caractersticas empresariales de Visual
Studio ms los CDs de Microsoft Developer Network, la cual contiene
documentacin completa en pantalla.
Entre ms completa sea la edicin, ms capacidades tendr; el nmero de iconos es un
indicador de ese hecho. Entre ms iconos haya en la ventana Nuevo proyecto, obviamente,
mayor ser el costo.

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.

Elementos del IDE


Una vez que haya abierto un proyecto como EXE estndar, aparecer el IDE (vea la figura
1.2).
Nota: La distribucin del IDE es bastante parecida en todos los productos de Visual Studio 6.0
(Visual C++, Visual InterDev, etctera), as como en los mdulos basados

10

Parte 1: Entorno Integrado de Desarrollo


en Visual Basic para Aplicaciones (nuevo manejo de macros de la Suite Microsoft
Office), por lo que identificarse con la distribucin de los elementos para aprender
Visual Basic proporciona el beneficio adicional de reducir la curva de aprendizaje que
usted tendr si desea aprender otras herramientas.

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.

Nota: Al estar desarrollando en Visual Basic, es importante disponer del mayor


nmero de elementos del IDE para realizar las tareas. Esto se dificulta en virtud de
que el espacio en la pantalla es reducido y los elementos aparecen demasiado amontonados. Si desarrollar profesionalmente un monitor de 17" o ms, sera una verdadera bendicin; si su presupuesto no se lo permite, aumente la resolucin mxima
soportada por su monitor, aunque su vista pedir un poco de piedad ante lo diminuto
de ciertas figuras.

Captulo 1: Visual Basic como plataforma de desarrollo

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.

>> Cmo activar los elementos del IDE. [01.03]


A continuacin aprender a activar los elementos del IDE.
Para activar los elementos del IDE que no se encuentren actualmente en la pantalla,
haga lo siguiente:
1. Abra un nuevo proyecto EXE estndar de Visual Basic.

2.

Seleccione el men Ver Explorador de proyectos (Ctrl+R).

3.

Seleccione el men Ver Ventana Propiedades (F4).

4.

Seleccione el men Ver Ventana Posicin del formulario.

5.

Seleccione el men Ver Cuadro de herramientas.

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

Parte 1: Entorno Integrado de Desarrollo


A continuacin se definirn cada uno de los elementos del IDE, as como los conceptos que estn asociados con l y que son indispensables para comprender su utilidad.
La barra de mens
La barra de mens (vea la figura 1.3) proporciona los mens que contienen
comandos que Visual Basic tiene disponibles para su uso en aplicaciones
desarrolladas, o para la administracin de su propio entorno.

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.

Captulo 1: Visual Basic como plataforma de desarrollo

13

Figura 1.5
Formulario

Todo proyecto en Visual Basic inicia y se desarrolla en un formulario; un formulario


es una ventana, tal y como las hemos utilizado toda la vida; en ella pueden encontrarse objetos que responden a nuestras acciones, pueden minimizarse, maximizarse,
cerrarse, etctera (vea la figura 1.5).
Un formulario es un objeto contenedor, es decir puede contener a otros objetos, en
este caso, botones de comando, cuadros de texto, imgenes, botones de opcin,
etctera.
Modos de trabajo con formularios: SDI y MDI
En Visual Basic existen dos modos de trabajo con formularios:
Interfaz de Documentos Simples (SDI). Una aplicacin SDI se compone de un
solo formulario; al cerrar el formulario se cierra la aplicacin. Un ejemplo puede ser
la aplicacin Notepad.exe de Windows. Slo permite editar un documento a la vez
y si cierra el documento se cierra la aplicacin.
Interfaz de Documentos Mltiples (MDI). Una aplicacin MDI se compone de
un formulario maestro y ste puede contener uno o ms formularios. Un ejemplo

14

Parte 1: Entorno Integrado de Desarrollo


de este upo de aplicaciones es WinWord.exe; se pueden tener muchos
documentos abiertos al mismo tiempo, y cada uno es un formulario. Al cerrar un
documento (formulario dependiente) no necesariamente se cierra Word
(formulario maestro).
Trabajemos en SDI o MDI, siempre habr un formulario principal (objeto inicial).
La diferencia entre SDI y MDI es que en SDI el formulario maestro es el nico que
existe.
Podemos configurar el entorno de Visual Basic de tal forma que resulte conveniente
para el trabajo, dependiendo de si elaboramos una aplicacin SDI o MDI. Actualmente tenemos el entorno adecuado para MDI, pero los primeros programas que
desarrollaremos sern de un solo formulario, por lo que resultara conveniente cambiar el entorno a SDI. De manera predeterminada Visual Basic se instala en MDI.

>> Cmo establecer el entorno de desarrollo a SDI. [01.04]

A continuacin aprender a establecer su entorno de desarrollo en modo SDI.


Observe el entorno tal y como lo tiene actualmente.
1. Seleccione el men Herramientas - Opciones... - Avanzado. Aparecer el cuadro de
dilogo que se muestra en la figura 1.6.
2. Active la casilla de verificacin Entorno de desarrollo SDI.

3. Haga clic en el botn de comando Aceptar.

Captulo 1: Visual Basic como plataforma de desarrollo

15

La modificacin que acaba de realizar requiere iniciar nuevamente la sesin en Visual


Basic. Aparecer la ventana Microsoft Visual Basic (vea la figura 1.7), informndole
ese hecho.

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

Parte 1: Entorno Integrado de Desarrollo

Tecnologa orientada a objetos y Visual Basic


Al inicio del captulo decamos que Visual Basic es una mezcla de tecnologas. La
ms importante de ellas es la tecnologa orientada a objetos, ya que en Visual Basic
todo termina siendo un objeto.
Aprendamos un poco al respecto, ya que nos ayudar mucho para entender cmo
desarrollar eficientemente utilizando Visual Basic. Esta prctica requiere de mucha
imaginacin; de ser posible genere en su mente las imgenes de lo que vamos a mencionar a continuacin.
Usted est sentado en una silla, frente a un escritorio.
Sobre ese escritorio se encuentran dos cosas: un sombrero de mago y un botn rojo.
Al presionar el botn rojo que se encuentra sobre el escritorio, del sombrero del
mago sale un conejo. A dicho conejo usted le llama "Fred".
Usted presiona nuevamente el botn rojo y sale otro conejo igual al anterior, al cual
usted llama "Angus".
En este momento sobre el escritorio se encuentran dos conejos, de igual color, tamao y peso (mismas propiedades), y stos corren alegremente sobre el escritorio.
Slo los puede diferenciar por el nombre, pero como saltan de un lugar a otro, es
posible que en un momento determinado no sepa quin es Fred y quin es Angus.
A usted le gustara que Fred fuera ms pequeo, y de otro color que Angus.
Usted toca a Fred y como por arte de magia (y como en nuestra imaginacin todo
es posible), Fred se transforma en un conejo ms pequeo y de un color diferente
que el de Angus.
Volvamos a lo tcnico. En un mundo orientado a objetos, tenemos que:
Lo que sale del sombrero del mago cada que presiona el botn rojo es un animal
de una naturaleza bastante definida, en este caso, un Conejo. Decimos entonces
que Conejo es una clase.
Debido a que se presion dos veces el botn rojo, se generaron dos instancias de
la clase. A las instancias de una clase las llamamos objetos.
La clase define todas las propiedades que heredarn los conejos, es por ello que
Fred y Angus son iguales, y slo se diferencian por el nombre, ya que no
puede haber dos objetos con el mismo nombre.

Captulo 1: Visual Basic como plataforma de desarrollo

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

Parte 1: Entorno Integrado de Desarrollo


Controles
Los controles son representaciones grficas que permiten generar elementos de interfaz de Windows, tales como botones de comando, cuadros de texto, grficos, listas
desplegables, etiquetas, etctera. Estos controles invocan una clase determinada, con
base en la cual se generan objetos con una forma y comportamiento predefinido. Los
controles en Visual Basic se encuentran en el elemento IDE llamado Cuadro de herramientas.

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.

Captulo 1: Visual Basic como plataforma de desarrollo

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

Parte 1: Entorno Integrado de Desarrollo


(conocidos como controles ActiveX u OCX). Al integrar un control ActiveX, su representacin grfica se agregar al Cuadro de herramientas, por lo que es comprensible
que la misma no siempre luzca igual.
Si tiene la necesidad de un control que no est en el Cuadro de herramientas, puede
buscar entre los controles ActiveX que tiene en su equipo, y si no lo tiene, puede comprar uno que alguien haya hecho (hay cientos en el mercado, casi siempre orientados a
una determinada funcin, como estadstica, graficacin, bases de datos, etctera.) En el
peor de los casos, si el control que necesita no ha sido desarrollado por terceros o no
quiere pagar por l, tiene la opcin de desarrollarlo usted mismo.
Aunque tal vez sobre decirlo, Microsoft no se hace responsable de los controles que no
vienen integrados en Visual Basic de manera intrnseca.

Los controles que aparecen en el Cuadro de herramientas de manera intrnseca y


como parte del IDE, pueden dividirse en las siguientes categoras:
Controles bsicos: Definen objetos que permiten elaborar una interfaz de usuario
bsica.
Label
TextBox
CommandButton
Controles de seleccin: Definen objetos que permiten elegir un valor sin que sea
necesario teclear nada.
OptionButton
CheckBox
ComboBox
ListBox
HScrollBar
VScrollBar

Captulo 1: Visual Basic como plataforma de desarrollo

21

Controles contenedores: Definen objetos que pueden contener a otros objetos.

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

Parte 1: Entorno Integrado de Desarrollo

Los controles que aparecen en el Cuadro de herramientas pueden incrementarse en la


medida en que se necesiten. En su momento ver cmo incluir algunos de suma
utilidad.
Nota: Si no tiene un formulario activo, los controles no aparecern en el Cuadro de
herramientas. Esto es lgico, ya que no tiene en dnde insertar las ocurrencias de los
controles, es decir, los objetos.

>> Ubicacin de los controles. [01.05]


A continuacin aprender a identificar los controles mediante la consulta de los
Informacin sobre herramientas.

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

Capitulo 1: Visual Basic como plataforma de desarrollo

23

2. Coloque al lado de cada una de las figuras representativas de los


controles, la Informacin sobre herramientas que aparece al colocar
el puntero del ratn sobre cada control.

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

Parte 1: Entorno Integrado de Desarrollo


Quiz la propiedad ms importante sea la que identifica a los objetos dentro de una
aplicacin: Name. Esta propiedad permite referir a un objeto determinado al momento
de programar en Visual Basic.
Mtodos
Los mtodos son rdenes predefinidas que realizan tareas especficas sobre los objetos.
Los mtodos son muy tiles porque permiten manipular los objetos y sus caractersticas asociadas.
Los objetos se crean en tiempo de diseo y en tiempo de ejecucin se modifican las
caractersticas de estos objetos (propiedades) y se ejecutan tareas sobre los objetos
(mtodos).
Ejemplificacin de objeto - propiedad - mtodo
Suponga que tiene un objeto llamado "Saxofn".

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:

Captulo 1; Visual Basic como plataforma de desarrollo

25

Saxofn. Color = Amarillo


En Visual Basic es una regla de sintaxis que las propiedades se refieran en conjunto
con el objeto al que pertenecen y se separan por un punto. En elcaso "Saxofn.
Color", "Color" es la propiedad del objeto "Saxofn".
Los mtodos se refieren de la misma forma que las propiedades, pero stos en lugar de
establecer una caracterstica para un objeto, realizan una tarea sobre o a travs del
objeto. Un mtodo posible a travs del objeto Saxofn es que ste toque msica.
Por ejemplo:

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

Parte 1: Entorno Integrado de Desarrollo


de constantes, variables y procedimientos externos, procedimientos de evento, y
procedimientos generales.
Mdulos de clase (extensin .CLS). Son similares a los mdulos de formulario,
a excepcin de que no tienen una interfaz visible.
Mdulos estndar (extensin .BAS). Pueden contener declaraciones pblicas o
a nivel mdulo de tipos de datos, constantes, variables, procedimientos externos
y procedimientos pblicos.

Figura 1.11
Ventana

Explorador
de proyectos

La ventana Explorador de proyectos muestra una estructura de jerarqua


similar a la del Explorador de Windows; los componentes que se pueden
seleccionar se encuentran a nivel mdulo. En la figura 1.11 se puede apreciar
que est seleccionado el nico formulario, Form1 (Form1), que se tiene en
el proyecto.
En la parte superior de la ventana aparecen tres botones:

Ver cdigo. Permite ver el cdigo que se ha escrito del mdulo que est
seleccionado.

Ver objeto. Permite ver el objeto en el IDE.

Alternar carpetas. Oculta y muestra las carpetas en el Explorador de


proyectos.

>> Cmo ocultar y mostrar formularios. [01.06]


A continuacin aprender a ocultar y mostrar formularios utilizando la ventana Explorador de proyectos.

Captulo 1: Visual Basic como plataforma de desarrollo

27

1. En este ejercicio asumimos que tiene un proyecto EXE estndar abierto. Si no lo


tiene, inicie sesin en Visual Basic.
2. En la jerarqua de elementos que aparece en la ventana Explorador de proyectos,
ubquese donde aparece Proyecto1 (Proyecto1). Al lado izquierdo aparece un
pequeo smbolo, que puede ser de ms (+) o de menos (-), dependiendo de si la
jerarqua est expandida o comprimida.
3. Haga clic en el smbolo hasta que se coloque un smbolo de ms (+). Esto significa
que se comprimir la jerarqua.
4. Qu sucede con el formulario?

5. Expanda la jerarqua haciendo clic en el smbolo que aparece a la izquierda, tanto


en Proyecto1 (Proyecto1) como en Formularios, hasta que ambos sean
smbolo de menos (-).
6. Seleccione Form-1 (Form-1). El
formulario se desplegar.

7.

Haga clic en el botn Ver objeto.


La utilidad de estas funciones se apreciar cuando veamos proyectos MDI, en
donde hayan varios formularios en el mismo proyecto.

Tiempos de desarrollo de Visual Basic


El IDE de Visual Basic le permite disear la interfaz que utilizar para realizar una
determinada tarea. Esto lo logra agregando objetos a los formularios, estableciendo
propiedades a los objetos, agregando cdigo, etctera. Prcticamente "dibuja" la interfaz.
Una vez que concluye el diseo de la interfaz, puede poner en ejecucin la interfaz
diseada; en dicha ejecucin puede modificar algunas cosas establecidas en tiempo
de diseo, por lo que es posible que el diseo se pueda afectar en tiempo de ejecucin. Prcticamente se modifica "lo dibujado" con anterioridad.
En conclusin, en Visual Basic se determinan dos tiempos de desarrollo:
Tiempo de diseo. Son las labores de desarrollo de aplicaciones que se realizan a
travs del IDE, con la disponibilidad de todos sus elementos.

28

Parte 1: Entorno Integrado de Desarrollo


Tiempo de ejecucin. Son las labores de desarrollo de aplicaciones que se realizan durante la ejecucin de un formulario, a travs de cdigo.
Cmo saber en qu tiempo se encuentra? Muy simple, si est utilizando el IDE con
la disponibilidad de todos los elementos para su uso, est en tiempo de diseo; si
est ejecutando un formulario y no dispone de todos los elementos del IDE para su
uso, est en tiempo de ejecucin. Otra forma ms fcil de saberlo es la siguiente: en
tiempo de diseo, en la ventana principal de Visual Basic aparecer la palabra
"diseo". Ms obvio no poda ser.
Hay cosas que slo se pueden hacer en tiempo de diseo, por ejemplo, asignar el
nombre a los objetos, y hay otras cosas que slo se pueden hacer en tiempo de
ejecucin, como ver la Informacin sobre herramientas establecida para un
determinado objeto. En tiempo de diseo todo se hace visualmente, mediante el uso
de elementos del IDE, tales como el Cuadro de herramientas o la ventana
Propiedades; en tiempo de ejecucin, todo se hace mediante el cdigo que forma
parte del formulario.
Ya que conocemos los tiempos de desarrollo de Visual Basic, podemos establecer
una diferencia entre las propiedades y los mtodos; las propiedades pueden
establecerse en modo de diseo y, la mayora de las veces, tambin en tiempo de
ejecucin. En cambio, los mtodos no pueden ejecutarse ms que en tiempo de
ejecucin.
============================================================

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

Capitulo 1: Visual Basic como plataforma de desarrollo

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

Posteriormente, se encuentra una lista de propiedades vlidas para el objeto que se


est modificando; la distribucin consiste en dos columnas, que forman la Cuadrcula de propiedades. Las propiedades se encuentran clasificadas alfabticamente
o por categoras; dicha lista aparece en forma de cuadrcula: en la columna izquierda
se muestra el nombre de las propiedades, y en la columna derecha aparecen los valores que de manera predeterminada se le asignan a un objeto (vea la figura 1.14).

30

Parte 1; Entorno Integrado de Desarrollo

Figura 1.14
Cuadrcula de
propiedades

Algunos valores de las propiedades se pueden modificar directamente, editando el


valor que aparece en la columna derecha de la propiedad que queremos modificar;
algunas propiedades tienen valor abierto, es decir, se puede colocar cualquier cosa
como valor, mientras que otras propiedades tienen valor limitado, es decir, tienen un
universo reducido de valores vlidos que les pueden ser asignados, mismos que
aparecern a manera de listas desplegables. De una u otra forma. Visual Basic siempre
sugiere, a travs de los valores predeterminados, qu tipo de valor puede asignarse a
cada propiedad (texto, nmero, booleano, representacin hexadecimal) y si el valor es
abierto o limitado.
En la parte inferior de la ventana Propiedades aparece el nombre de la propiedad en
la que est trabajando y la explicacin de su utilidad, es decir, para qu sirve. A esta
rea se le conoce como Cuadro de informacin de propiedades.

Uso de la ventana Propiedades. [01.07]


A continuacin aprender algunas de las capacidades de la ventana Propiedades.
1. Observe los grficos utilizados en este texto y apyese en el proyecto que actualmente
tiene en su computadora. Haga clic en el formulario que se encuentra en su IDE.
Conteste lo siguiente:
a) La ventana Propiedades
indica que est trabajando sobre
un objeto. Cmo se llama?
(Identifquelo por el texto en negritas en
la Lista desplegable de objetos;
tambin basta con ver el ttulo de la
ventana
Propiedades,
que
dir
Propiedades - <nombre del objeto>.)

Captulo 1: Visual Basic como plataforma de desarrollo

31

b) Qu tipo de control es?


(Identifquelo por el texto que no
est en negritas en la Lista
desplegable de objetos.)
c) Est viendo la Lista de
propiedades alfabticamente o
por categoras?
d) La propiedad Caption es
de valor abierto o limitado?

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.)

El contenido de la ventana Propiedades depender del objeto que tenga seleccionado,


es decir, las propiedades que aparecen al tener seleccionado un objeto basado en el
control Form no son las mismas que aparecen cuando selecciona otro objeto basado en
el control TextBox.
Si no tiene seleccionado ningn objeto, la ventana Propiedades estar vaca.

Ventana Posicin del formulario


En versiones anteriores de Visual Basic, era muy importante la posicin en la que se
encontraba la ventana al estar en tiempo de diseo, ya que dicha posicin determinaba
el lugar en donde el formulario se ubicara al ejecutar la aplicacin. En Visual Basic
6.0 la posicin del formulario en tiempo de diseo es irrelevante, ya que existe una
ventana llamada Posicin del formulario (vea la figura 1.15).

32

Parte 1: Entorno Integrado de Desarrollo

Figura 1.15
Ventana posicin

del formulario

En la ventana Posicin del formulario aparece representada la pantalla de un monitor


y el formulario que est diseando dentro de ella; usted puede determinar dnde
quiere que aparezca su formulario en el momento en que sea ejecutado, arrastrando la
pequea representacin de su formulario dentro de la representacin de la pantalla.
Pasos para crear una aplicacin en Visual Basic
Para desarrollar una aplicacin en Visual Basic, desde no tener nada hasta tener los
discos de distribucin de su aplicacin, transcurren siete pasos bsicos:
Crear la interfaz de usuario. Consiste en dibujar la interfaz con la que el usuario
va a interactuar. En este paso, lo importante es colocar en la interfaz la cantidad
suficiente de objetos, con los tamaos adecuados y la organizacin ptima para que
su uso sea ms fcil.
Establecer las propiedades de los objetos. Consiste en asignar los valores de
inicio para cada uno de los objetos, mismos que determinan la apariencia y comportamiento de dichos objetos.
Escribir el cdigo de los eventos. Consiste en escribir el cdigo que ha de ejecutarse como respuesta a algo que sucede en la interfaz del usuario.
Guardar el proyecto. Consiste en guardar, en algn medio de almacenamiento, el
proyecto que est creando. Guarde su trabajo con regularidad, a efecto de reducir al
mximo el riesgo de perderlo.
Probar y depurar la aplicacin. Consiste en ejecutar la aplicacin que ha creado,
detectar errores y corregirlos.

Captulo 1: Visual Basic como plataforma de desarrollo

33

Compilar el ejecutable (EXE). Consiste en procesar la aplicacin a efecto


de que se pueda ejecutar de manera independiente al entorno de desarrollo de
Visual Basic.
Crear los discos de instalacin. Consiste en utilizar el Asistente para empaquetado y distribucin, a efecto de crear los discos que instalen su aplicacin
de manera profesional.
Cada uno de estos pasos se explicar en los captulos subsecuentes; el paso de
crear los discos de instalacin se ver cuando tengamos un ejemplo lo
suficientemente representativo para la tarea.
La explicacin se har a travs de su primer programa en Visual Basic, que
comenzar en el siguiente captulo.
________________________________________________________________________
Resumen

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

Parte 1: Entorno Integrado de Desarrollo

Algunas respuestas a los ejercicios


[01.04] Cmo establecer el entorno de desarrollo a SDI.
7. Los elementos del IDE aparecen como ventanas independientes. Ya no hay una
ventana que contenga todos los elementos.
[01.06] Cmo ocultar y mostrar formularios.
3. Desaparece.
[01.07] Uso de la ventana Propiedades.
a) Forml.
b) Form.
c) Alfabticamente.
d) Abierto.
e) Limitado.
f) Halftone, UseZOrder, Custom.

g) Devuelve o establece un valor que especifica la posicin de un formulario cuando


aparece por primera vez.

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

Parte 1: Entorno Integrado de Desarrollo


ejemplos, y lo mejor de todo, usted podr ir a la misma velocidad que el libro, para
despus ya no depender de l.

El punto de partida: Qu desea hacer?


Para crear su aplicacin, debe revisar el producto del anlisis (saber qu quiere) y
comenzar el diseo.
Su primer programa ser algo muy simple, pero que nos permitir revisar todo el
proceso de desarrollo de aplicaciones en Visual Basic.
La figura 2.1 muestra la forma en que se debe ver la interfaz a disear.
Figura 2.1
interfaz a disear.

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.

Al hacer clic en el botn de comando Salir, la aplicacin deber cerrarse.

Captulo 2: Creacin de la interfaz de usuario

37

Paso 1: Crear la interfaz de usuario


Los objetivos de este paso son los siguientes:
Tener la cantidad de objetos necesarios para hacer lo que se quiere con la
aplicacin. En la interfaz slo debe tener los objetos que necesita; colocar objetos
innecesarios slo hace confusa su interfaz y hace que su aplicacin sea ms
demandante de recursos, principalmente memoria RAM. La pregunta bsica aqu
es: cuntos objetos se necesitan para realizar la tarea?
Tener los tipos de objetos adecuados para hacer lo que se quiere con la aplicacin. Los objetos creados a partir de un determinado control tienen una determinada funcin (TextBox, introducir datos; OptionButton, seleccionar una
opcin; Label. mostrar un texto, etctera.). Pretender realizar con un objeto una
tarea contraria a su naturaleza puede complicar el uso de la interfaz; una mala
eleccin de objetos puede hacer de su labor de desarrollo una pesadilla; no hay que
pedirles a los controles un imposible. La pregunta bsica aqu es: en qu controles
nos basaremos para definir los objetos?
Definir la posicin y las dimensiones adecuadas para los objetos. Es importante
colocar los objetos de acuerdo a una distribucin que sea apegada a los estndares
del entorno de trabajo en Windows, con dimensiones proporcionadas, bien
alineadas. Para tomar ideas, analice los programas basados en Windows,
principalmente los desarrollados por Microsoft (Excel, Word, PowerPoint, etctera), y vea cmo estn distribuidos los objetos en los cuadros de dilogo. La
pregunta bsica aqu es: dnde debemos colocar los objetos y de qu tamao?
Distribucin funcional. Los objetos deben estar distribuidos de tal forma que
faciliten el uso de la interfaz. La pregunta bsica aqu es: la captura se realiza de
manera natural y sencilla? Responder "NO" a esta pregunta es inadmisible.

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

Parte 1: Entorno Integrado de Desarrollo


Total de objetos requeridos:

Tipos de objetos requeridos:

1 Form
1 Label
2 CommandButton

>> Cmo insertar un objeto en la interfaz. [02.01]


A continuacina aprender cmo insertar objetos en un formulario.
1. Inicie una sesin de Visual Basic y genere un nuevo proyecto EXE estndar.
2. En la ventana principal de Visual Basic (donde se encuentra la barra de mens y
la barra de herramientas Estndar) debe aparecer el encabezado Proyectol Microsoft Visual Basic (diseo). En este caso, Proyectol es el nombre que
Visual Basic les asigna de manera predeterminada a los proyectos al inicio. Tome
en cuenta que trabajaremos con proyectos EXE estndar solamente, hasta que
las necesidades del libro marquen lo contrario.
3. Aparecer un formulario en blanco. En un proyecto de tipo EXE estndar siempre debe existir al menos un formulario, por lo que al crear un proyecto de ese
tipo siempre dispondr del primer objeto de la interfaz de usuario creada.
4. Para insertar un objeto, haga doble che en el control CommandButton, que se
encuentra en el Cuadro de herramientas. Aparecer un objeto de tipo CommandButton en el centro del formulario (vea la figura 2.3); dicho objeto mostrar
el texto Cominandi (todos los objetos tienen valores predeterminados en Visual
Basic). Cuando agregamos un objeto haciendo doble che en un control del
Cuadro de herramientas, se dice que agregamos un objeto en modo de insercin.
============================================================
Nota: Si hace un solo clic, tambin puede insertar objetos, en lo que se llama modo
de trazo. Dicho modo ser explicado ms adelante en este captulo; si hizo un solo
clic en lugar de doble clic, seguramente el puntero del ratn es una cruz delgada, que
indica que est en modo de trazo. Cancele este modo haciendo clic en el control
Puntero del Cuadro de herramientas. El control Puntero es el nico del Cuadro
de herramientas que no genera un objeto en la interfaz.
============================================================

Captulo 2: Creacin de la interfaz de usuario

39

Figura 2.3
Objeto insertado al
hacer doble clic en
el control
CommandButton
del Cuadro de
herramientas

a) La ventana Propiedades indica


que est trabajando sobre un objeto. Cmo se llama?
b) En qu tipo de control est
basado?
c) El objeto que acaba de crear
tiene un nombre predeterminado.
Usted se lo asign o lo hizo Visual
Basic?

Consideremos qu ha hecho hasta ahora:


Cre un nuevo proyecto EXE estndar, por lo que se agreg un formulario nuevo. De
manera predeterminada, este formulario tiene diversas propiedades asignadas por
Visual Basic, entre las que se encuentran un nombre (Name), una posicin (Top,
Left) y un tamao predefinidos (Height, Width).

40

Parte 1: Entorno Integrado de Desarrollo


Utilizando el Cuadro de herramientas agreg un objeto basado en el control
CommandButton. El objeto CommandButton, al igual que el formulario,
tiene diversas propiedades asignadas de manera predeterminada por Visual Basic,
entre las que se encuentran un nombre, una posicin y un tamao predefinidos.
En el formulario aparecer un conjunto de puntos espaciados de forma regular, llamados cuadrcula estndar. La cuadrcula estndar slo aparece mientras est diseando su aplicacin en el Entorno Integrado de Desarrollo (IDE), y sirve como referencia para distribuir los objetos de manera organizada y simtrica.
Nota: De manera predeterminada, los puntos de la cuadrcula estn organizados cada
120 twips. Si desea modificar la distancia o eliminar la cuadrcula, seleccione
Herramientas - Opciones - General. Muy pronto sabr qu es un twip.
El objeto CommandButton aparece bordeado por ocho recuadros llamados controladores de tamao (vea la figura 2.4); stos sirven para modificar las dimensiones de
un objeto.

Figura 2.4
Controladores
de tamao

Arrastre hacia abajo para hacer


ms ancho el objeto.

Arrastre hacia abajo para hacer


ms alto el objeto.

Arrastre hacia abajo para hacer


ms ancho y ms alto el objeto.

Se le llama objeto activo al objeto sobre el cual est trabajando


actualmente. Los con-troladores de tamao, adems de permitir la
modificacin de las dimensiones de un objeto, permiten identificar de
manera visual qu objeto es el que est activo; esto es muy importante, ya
que si no ubica con precisin a los objetos, puede estar trabajando con un
objeto que no quera trabajar, lo que sera tiempo perdido.
Una forma adicional para identificar qu objeto es el objeto activo, es
revisando la lista desplegable de objetos que se encuentra en la ventana
Propiedades (vea la figura 2.5), o bien, observando la barra de ttulo de la
ventana Propiedades; esta ltima opcin no es muy confiable, ya que es
inexacta cuando se tienen seleccionados varios objetos al mismo tiempo.

Captulo 2: Creacin de la interfaz de usuario

41

Es un objeto basado en
el control
CommandButton.

El objeto activo se llama


Command1.

El objeto activo ser el que aparezca en la barra de ttulo de la ventana Propiedades (en
este caso. Propiedades Command1)

Propiedades de posicin y dimensin


En Visual Basic no todos los objetos que se agregan en un formulario se ven en la
interfaz al ejecutar la aplicacin, por lo que podemos decir que hay objetos visibles y
objetos invisibles en tiempo de ejecucin; todos los objetos visibles que sean agregados
tendrn una posicin dentro del formulario, as como un tamao.
A las propiedades que determinan la posicin de un objeto se les llaman propiedades de
posicin, las cuales determinan el punto a partir del cual el objeto se comenzar a trazar,
a dibujar; dicho punto es llamado punto de inicio, y siempre es la esquina superior
izquierda del objeto. El tamao del objeto est determinado por las propiedades de
dimensin, mismas que especifican la distancia entre el punto de inicio y la esquina
inferior derecha del objeto.
El tamao de un objeto en Visual Basic est determinado en twips. Un twip es la vigsima parte de un punto, y si consideramos que un punto es 1/72 de pulgada, un twip
sera 1/1440 de pulgada. No se quiebre la cabeza tratando de encontrar un significado
para "twip"; la unidad de medida pudo haberse llamado "xwin" o "flox", o como fuera.

42

Parte 1: Entorno Integrado de Desarrollo


Las propiedades de posicin son:
Top

Muestra la posicin con respecto al margen superior de la pantalla


o del objeto contenedor.

Left Muestra la posicin con respecto al margen izquierdo de la


pantalla o del objeto contenedor.
Las propiedades de dimensin son:
Height Altura del objeto.
Width

Ancho del objeto.

La figura 2.6 muestra grficamente cmo se interpretan las propiedades de


posicin y las propiedades de dimensin. Vea como las dimensiones de Height
y Width comienzan a partir del punto de inicio.

Figura 2.6
Propiedades
de posicin
y dimensin de
los objetos

Captulo 2: Creacin de la interfaz de usuario

43

Las formas para cambiar la posicin de los objetos son:


Arrastrando el objeto
Utilizando las combinaciones de teclas Ctrl+<Flechas de direccin> Las formas para
cambiar el tamao de los objetos son;
Arrastrando los controladores de tamao
Utilizando las combinaciones de teclas Mays+<Flechas de direccin>

>> Cmo cambiar la posicin o las dimensiones de un objeto. [02.02]


A continuacin aprender la forma de modificar las dimensiones y la posicin a los objetos
que han sido agregados a un formulario.
1. Si no tiene seleccionado el objeto Command1, seleccinelo haciendo clic en el objeto.
Sabr que el objeto est seleccionado si los controladores de tamao se encuentran
alrededor de l. Observe dnde est ubicado y qu tamao tiene.
==================================================================
Lo inesperado: Puede ser que queriendo seleccionar el objeto Command1 a travs de un
clic, haya hecho doble clic. Si hace eso, aparecer la ventana Cdigo.
Aunque dicha ventana es muy importante, no es lo que queremos analizar en este momento,
por lo que deber cerrarla. Presione Alt+F4, en tal caso.
==================================================================
2. En la ventana Propiedades localice las propiedades de posicin y las propiedades de
dimensin; tome nota de los valores que tienen asignados en este momento.

Command1.Top

= _____________________

Command1 .Left

= _____________________

Command1.Height

= _____________________

Command1.Width

= _____________________

44

Parte 1: Entorno Integrado de Desarrollo


3. Arrastre el controlador de tamao que se encuentra en la esquina inferior derecha del
objeto; trate de dejar el botn de comando al doble de su ancho y de su alto actual.
Qu valores tienen ahora las propiedades de dimensin?
Command1.Height

= _____________________

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

= _____________________

5. Seleccione el objeto Command1 haciendo clic en l y presione la tecla Mays y


mantngala presionada; al mismo tiempo utilice las teclas de movimiento (flechas)
hasta dejar el botn de comando de un tamao similar al que tena al inicio de esta
prctica. Suelte las teclas.

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.

Captulo 2: Creacin de la interfaz de usuario

45

>> Cmo seleccionar un formulario. [02.03]


A continuacin aprender cmo seleccionar el objeto Form.
1. Para seleccionar un formulario tiene que hacer clic en cualquier parte del formulario que no est ocupado por algn otro objeto (de preferencia que no sea en la
barra de ttulo).
=============================================================

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.

>>

Cmo cambiar el tamao de un formulario. [02.04]

A continuacin aprender cmo modificar et tamao de un objeto Form.


1. Coloque el puntero del ratn exactamente sobre las esquinas del formulario y sobre
los mrgenes superior, inferior, derecho e izquierdo, estn o no visibles los
controladores de tamao (no deben estar presentes porque nos encontramos en
modoSDI).
2. Arrastrando la esquina inferior derecha del formulario, reduzca el tamao de su
formulario a un tamao suficiente para el desarrollo esttico del ejemplo mostrado
en la figura 2.1.
3. Haga los movimientos necesarios para que el formulario tenga las siguientes
dimensiones: que su alto sea aproximadamente 4 veces el alto del botn, y que su
ancho sea aproximadamente 4 veces el ancho del botn de comando. La figura 2.7
muestra cmo debe tener hasta este momento su formulario.

46

Parte 1: Entorno Integrado de Desarrollo

Figura 2.7
Vista parcial
del formulario,
hasta este
momento

>> Cmo guardar su trabajo. [02.05]


A continuacin aprender la forma de guardar su trabajo en Visual Basic.
Aunque es muy poco lo que ha hecho hasta ahora (aunque es mucho lo que ha aprendido con ese "poco"), no hay nada que desmoralice ms a un programador que perder su
trabajo y tener que volver a hacerlo. Aqu le diremos rpidamente cmo guardar su
trabajo, aunque este tema se trata con mayor profundidad en captulos posteriores.
1.

2.

3.
4.

Haga clic en el botn Guardar proyecto, que aparece en la barra de


herramientas. Recuerde que por organizacin del libro, deber guardar sus
prcticas en /avbp/capnn, donde nn es el nmero del captulo donde se desarrolla
la prctica. En este caso, lo que guarde en esta prctica debe ir a /avbp/cap02.
Aparecer la ventana Guardar archivo como...; como Nombre de archivo, escriba
frmMensaje; en Guardar como tipo, debe estar seleccionado Formulario
(*.frm), mismo que aparece seleccionado de manera predeterminada.
Haga clic en Guardar.
Enseguida aparecer la ventana Guardar proyecto como...; como Nombre de
archivo escriba Saludo; en Guardar como tipo, debe estar seleccionado Proyecto
(*.vbp), mismo que aparece seleccionado de manera predeterminada.
Los conceptos Formulario, Proyecto y Grupo de proyectos se analizarn a detalle
en el captulo 5. Las ventanas Guardar... aparecern slo la primera vez que
guarde el proyecto y el formulario; despus bastar con hacer clic en el botn
Guardar proyecto para almacenar los cambios hechos al trabajo.

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

Captulo 2: Creacin de la interfaz de usuario

47

agregarn en el centro del formulario; al agregar varios objetos de manera rpida,


provocar un juego de movimientos necesarios para poder disponer de cada uno de los
objetos (quitarle a un objeto los que tiene arriba). Lo ideal es agregar los objetos en el
lugar en donde cree que deben quedar de manera definitiva. Eso se realiza agregando
los objetos en modo de trazo, que no es otra cosa que hacer clic en un control que desea
agregar, para despus trazar en el formulario el espacio que desea que ocupe el objeto
que quiere agregar.

>> Cmo agregar objetos en modo de trazo. [02.06]


A continuacin aprender la forma de agregar objetos al formulario en modo de
trazo.
En este momento faltan de agregar dos objetos al formulario: un botn de comando
(CommandButton) y una etiqueta (Label).
Podramos hacer doble clic en los controles CommandButton y Label para
insertarlos, tal y como lo hicimos con el primer botn de comando. En este ejercicio
optaremos por trazar los objetos.

2.

Figura 2.8
Adicion de un
Objeto en modo
De trazo

1. Haga clic en el control CommandButton. Traslade el puntero del ratn a un rea


no ocupada del formulario. Podr darse cuenta que el puntero del ratn ha cambiado
su forma: dentro del formulario aparece como una cruz delgada. Este puntero del
ratn indica que est en modo de trazo.
Trace el rea que desea que ocupe el botn de comando que est agregando. La figura
2.8 muestra cmo trazar ese objeto. En el proceso aparecer un recuadro de
Informacin sobre herramientas que muestra el ancho por alto en twips del objeto que
est trazando. Deliberadamente provoque que el nuevo botn de comando que est
agregando sea un poco ms grande que el primer botn de comando que ya haba
insertado.

48

Parte 1: Entorno Integrado de Desarrollo


3. Acomode los botones de tal forma que queden ms o menos a la misma altura, en la
parte inferior del formulario.
4. Trace el objeto Label arriba de los botones de control. La figura 2.9 muestra cmo
debe verse el formulario hasta el momento. De manera predeterminada, Visual Basic
le asigna nombres a cada uno de los objetos, en este caso, los nombres asignados a
cada objeto son visibles: Form1, Label1. Command1 y Command2.
Deliberadamente el objeto Command2 fue definido ms grande que Command1.

Figura 2.9
Vista parcial
del formulario,
hasta este
momento

Organizacin de los objetos en el formulario


Probablemente no est del todo satisfecho con el resultado obtenido, ya que los objetos estn
desproporcionados y no estn bien distribuidos; en pocas palabras, el formulario no se ve bien.
Visual Basic proporciona un conjunto de herramientas que facilitan la organizacin y
distribucin de los objetos, a travs de su men Formato.
Algunas de las opciones de dicho men funcionan para un solo objeto activo, otras funcionan
para un conjunto de objetos activos, a lo que se le llama modo de grupo, y otras funcionan para
ambos casos.
Cada que selecciona un objeto, los controladores de tamao aparecen bordendolo en forma de
recuadros azules. Cuando seleccione varios objetos en modo de grupo, se dar cuenta que todos
estn rodeados por controladores de tamao, sin embargo, slo uno de los objetos tendr los
controladores de tamao de color azul y el resto los tendrn de color blanco. Aquel objeto que
tenga los controladores de color azul ser el objeto principal del grupo; esto es muy importante,
ya que todos los dems objetos del grupo lo seguirn en sus propiedades.

Captulo 2: Creacin de la interfaz de usuario

49

>> Seleccin de objeto activo, en forma individual o en modo de grupo. [02.07]


A continuacin aprender la forma de seleccionar los objetos en modo de grupo y
comprobar que a medida que agrupa objetos, la ventana Propiedades muestra slo
aquellas propiedades que son aplicables a todos los objetos que conforman el grupo.
1. Para seleccionar un objeto y establecerlo como objeto activo, basta con hacer clic en
el objeto. Seleccione Command1 como objeto activo.
2. Presione la tecla Tab. Qu sucede?

3. Seleccione el objeto Command1 . Vea en la ventana Propiedades. Qu valor tiene


la propiedad Name y la propiedad CausesValidation?:
Command1 .Name = __________________
Command1 .CausesValidation = __________________
4. Seleccione en modo de grupo a los dos botones de comando; tiene dos opciones para
hacerlo. La primera, seleccione el botn de comando Command1 . presione la tecla
Mays y no la suelte, haga clic en el botn de comando Command2 . suelte la tecla
Mays. La segunda, trazando un cuadro o lnea imaginaria que abarque el rea que
ocupan los dos botones de comando. La figura 2.10 muestra cmo se ve su
formulario cuando selecciona en modo de grupo los objetos Command1 y
Command2 .

50

Parte 1: Entorno Integrado de Desarrollo

5. Vea en la ventana Propiedades. Qu valor tiene la propiedad Name y la propiedad


CausesValidation?:
Name = _________________
CausesValidation= _________________
Por qu cree que la propiedad Name ya no est disponible y CausesValidation s?

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= _________________

Captulo 2: Creacin de la interfaz de usuario

51

Por qu cree que la propiedad CausesValidation ya no est disponible?

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.

>> Cmo determinar la posicin de un formulario en la pantalla. [02.08]


A continuacin aprender la forma de determinar la posicin de un formulario en la
pantalla.
Utilizar la ventana Posicin del formulario, misma que no hace otra cosa que modificar visualmente los valores de las propiedades de posicin del objeto Form.
1. Seleccione el formulario.
2. Vea qu valores tiene actualmente:
Form1.Top
Form1.left

= ______________________
= ______________________

3. Lo ms sencillo es arrastrar el formulario tomndolo de la barra de ttulo, si est en


SDI; en caso de que trabaje en MDI, utilice la ventana Posicin del formulario.
4. Otra forma es utilizando la ventana Posicin del formulario. Seleccione el men
Ver - Ventana Posicin del formulario. Aparecer la ventana que se muestra en la
figura 2.11.

52

Parte 1: Entorno Integrado de Desarrollo

Figura 2.11
Ventana Posicin
del formulario

5. La ventana representa la pantalla de un monitor, y dentro de dicha pantalla aparece


lo que sera su formulario (Form1).
6. Coloque el puntero del ratn sobre la representacin de su formulario, hasta que el
puntero del ratn cambie a

7. Arrastre el pequeo formulario a la posicin que desea que ocupe en la pantalla en


modo de ejecucin.
8. Qu valores tiene actualmente en las siguientes propiedades:
Form1.Top
Form1.left

= ______________________
= ______________________

============================================================

LO inesperado: Es posible que no aparezca formulario alguno en la ventana


Posicin del formulario. Seleccione el men Ejecutar - Iniciar (tambin puede oprimir la tecla F5). Esto provoca que su aplicacin se ejecute (se coloque en tiempo de
ejecucin); lo que su formulario haga en este momento no es relevante. Seleccione el
men Ejecutar - Terminar (regresa a tiempo de diseo).
La ventana Posicin del formulario deber mostrar ya la representacin de su formulario.
============================================================

Cmo establecer las aplicaciones para diferentes


resoluciones de monitores
Es posible que usted desarrolle una aplicacin que le parece vistosa y bien distribuida. Cuando libere la aplicacin, no se impresione si uno de los usuarios de sta se
queja de que la distribucin de su aplicacin en la pantalla es inadecuada dnde est
el problema?

Captulo 2: Creacin de la interfaz de usuario

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.

>> Cmo establecer las Guas de resolucin. [02.09]


A continuacin aprender la forma de establecer las Guas de resolucin.
En el proyecto Saludo.vbp utilizar la ventana Posicin del formulario.
1. Coloque el puntero del ratn en la ventana Posicin del formulario.
2. Haga clic con el botn derecho del ratn y seleccione la opcin Guas de resolucin
del men contextual que aparece (vea la figura 2.12).
Figura 2.12
La opcin Guas
de resolucin

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

Parte 1: Entorno Integrado de Desarrollo

>>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.

Captulo 2: Creacin de la interfaz de usuario

55

Figura 2.14
Vista parcial
del formulario
hasta este momento

14.

Guarde su trabajo haciendo clic en el botn Guardar proyecto de la barra


de herramientas Estndar.

____________________________________________________
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

Parte 1: Entorno Integrado de Desarrollo


Algunas respuestas a los ejercicios

[02.01] Cmo insertar un objeto en la interfaz.


5.a) Command1
5.b) CommandButton
5.c) Visual Basic lo asign de manera predeterminada.
[02.07] Seleccin de objeto activo, en forma individual o en modo de grupo.
2. El control se mueve al siguiente objeto. Otro objeto es ahora el objeto activo.
3. Command1. Name = Command1 , Command1.CausesValidation = True.
5. Porque Name es una propiedad especfica para un solo objeto; en virtud de que los
dos objetos no pueden compartir un mismo nombre de objeto, la propiedad Name
ya no est disponible. CausesValidation es una propiedad no exclusiva para
un solo objeto, y como aplica a los objetos basados en CommandButton y
ambos estn basados en CommandButton, es posible asignarlo en modo de
grupo.
7. Porque no se aplica a todos los objetos del grupo. Puesto que los objetos basados
en el control Label no cuentan con la propiedad CausesValidation, sta
desaparece en un grupo en donde se encuentre un objeto basado en el control
Label.

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

Parte 1: Entorno Integrado de Desarrollo

Consideraciones de diseo en Visual Basic


El diseo de las aplicaciones en Visual Basic no es tan sencillo como parece; no es
slo agregar objetos en un formulario de manera esttica y proporcionada.
En Visual Basic el desarrollo es minimalista, detallado, especfico. Esto no puede ser
de otra manera debido a que la plataforma es orientada a eventos, es decir, cualquier
cosa que suceda en la interfaz de usuario, por mnima que sea, puede desencadenar
una tarea. Hacer un clic con el ratn, presionar una tecla determinada, pasar el puntero
del ratn sobre un objeto, arrastrar un objeto, cualquier cosa puede disparar una
accin; es donde las cosas se complican ya que usted tiene que anticiparse y prevenir
todo lo que puede pasar.
Lo primero que puede hacer para que su aplicacin haga solamente lo que usted desea,
es establecer las propiedades adecuadas.
Al principio, la aplicacin Saludo pareca muy sencilla. Al momento de estar diseando la aplicacin los detalles aparecen por todos lados. Es un hecho que su aplicacin, tal como est, ni luce como usted quiere, ni hace lo que usted quiere.
Observe las especificaciones de la aplicacin desde el punto de vista de diseo de
Visual Basic, es decir, cmo se espera que se vean y sucedan las cosas:
En la barra de ttulo del formulario debe aparecer Mensaje.
Al ejecutarse la aplicacin, el formulario debe colocarse en el centro de la pantalla.
Al iniciar la ejecucin de la aplicacin, la etiqueta donde se mostrar el mensaje no
debe tener contenido.
La etiqueta donde aparecer el mensaje Bienvenido a Visual Basic!!! debe estar
bordeado con el efecto 3-D estndar de Windows.
El botn de comando (CommandButton) que sirva para desplegar el mensaje de
bienvenida debe decir Mostrar Mensaje; adems, debe establecerse como tecla
de mtodo abreviado para ese botn la combinacin Alt+M, siendo visible dicha
capacidad en el estndar de Windows (la letra "M" debe aparecer subrayada).
El botn de comando que sirva para salir de la aplicacin debe decir Salir; adems,
debe establecerse como tecla de mtodo abreviado para ese botn la combinacin Alt+S, siendo visible dicha capacidad en el estndar de Windows (la
letra "S" debe aparecer subrayada).
Hacer clic en el botn de comando Mostrar Mensaje debe provocar que en la etiqueta aparezca Bienvenido a Visual Basic!!!
Hacer clic en el botn de comando Salir debe provocar la salida de la aplicacin
(terminacin de la ejecucin).

Captulo 3: Cmo establecer las propiedades de los objetos

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.

Paso 2: Establecer las propiedades de los objetos

Los objetivos de establecer las propiedades de los objetos son:


Validar que ya se tienen todos los objetos que se requieren en el formulario.
Consiste en revisar que ya se tienen todos los objetos que la interfaz requiere. Para ello
se utiliza la ventana Propiedades.
Asignar el nombre adecuado a cada uno de los objetos. Consiste en darle un
nombre especfico a cada uno de los objetos, a efecto de poder hacer referencia a
ellos en la aplicacin y realizar operaciones con ellos, La propiedad de identificacin
es la propiedad Name. Es necesario que respete las convenciones de prefijo de
objetos que son reconocidas mundialmente para cdigo Visual Basic.
Establecer las propiedades de apariencia y comportamiento. Consiste en asignar
los valores necesarios a las propiedades para que los objetos luzcan y se comporten
como el diseo lo requiere. Las propiedades diferentes a la propiedad Name son
llamadas propiedades de apariencia y comportamiento.
Validar que ya se tienen todos los objetos
que se requieren en el formulario
Al inicio de este captulo se estableci lo siguiente para la aplicacin de ejemplo:
Total de objetos requeridos:

Tipos de objetos requeridos:

1 Form
1n Label
2 CommandButton

60

Parte 1: Entorno Integrado de Desarrollo


Debe verificar que efectivamente en este momento tiene en el formulario todos los
objetos requeridos; debe tener la cantidad suficiente de objetos que le permita cubrir
las especificaciones del diseo, de tal forma que exista un balance exacto entre la
esttica y la funcionalidad, con aplicacin estricta de los estndares de todo programa
basado en Windows.
============================================================
Nota: Uno de los atributos del entorno de Windows es que la interfaz de los
programas cuenta con convencionalismos de funcionalidad que permiten que una
persona, una vez que aprenda a manejar un programa, pueda manejar cualquier otro;
todos se parecen.
Usted puede hacer magia con la interfaz, pero si no se apega a los estndares de Windows ser un programa incmodo para los usuarios. Uno de los atributos ms valiosos de la interfaz de una aplicacin es que sea fcil de usar y de aprender.
No rompa paradigmas de manera radical, a menos que sea estrictamente necesario.
============================================================
Aparte de tener el nmero correcto de objetos, es muy importante que sean el tipo de
objeto que necesita. Un error frecuente al desarrollar en Visual Basic es confundir los
controles, por ejemplo agregar al formulario un objeto basado en el control
TextBox en lugar de un objeto que debi estar basado en el control Label.
Qu pasar si hace esto? Al codificar har referencia a propiedades del objeto tipo
Label creyendo que tiene uno de ese tipo definido en el formulario. En el momento
en que haga referencia a una propiedad que no est disponible para el objeto que
defini (TextBox), su programa marcar error.
Si incurre en este error, necesita eliminar el objeto equivocado y agregar el correcto.
Esto es trabajo extra que puede ahorrarse con una verificacin sencilla, que no le
quita mucho tiempo y que debe establecer en su forma de trabajo como un hbito til
para la programacin en Visual Basic.
Evite ese trabajo extra verificando desde un principio si tiene los objetos que requiere, en cantidad y tipo. La lista desplegable de objetos de la ventana Propiedades
sirve para tal efecto.
>> Cmo validar la cantidad y el tipo de objetos requeridos en una aplicacin. [03.01]
A continuacin aprender a verificar cuntos objetos tiene definidos en un formulario
y de qu tipo son.
1. Seleccione el formulario. Para ello haga clic en cualquier parte del formulario que
no sea la barra de ttulo y que no est ocupada por otro objeto. Otra forma de
decirlo, haga clic en cualquier punto de la cuadrcula.
2. Haga clic en la lista desplegable de objetos de la ventana Propiedades. La figura
3.1 muestra cmo se debe desplegar la informacin.

Captulo 3: Cmo establecer las propiedades de los objetos


Figura 3.1

61

haciendo clic en esta


lista, aparecern todos
los objetos que
componen el
formulario, incluyendo
el objeto contenedor

Verificacin de
la cantidad de
obetos y sus
tipos, utilizando
la Lista
desplegable de
objetos

3. Marque afirmativamente

si se da el caso:

Tiene definido un objeto basado en el control Form?


Tiene definido un objeto basado en el control Label?
Tiene definidos dos objetos basados en el control CommandButton?
Los anteriores son los nicos objetos definidos en la lista?

Si marc afirmativamente a todas las preguntas anteriores, puede continuar con el


captulo. Si no es as, stas son las alternativas que tiene:
Si sobran objetos. Seleccione los que no sean necesarios y presione la tecla Supr.
Con esto se eliminarn.
Si faltan objetos. Agregelos y acomdelos como debe ser (vea el captulo
anterior).

62

Parte 1: Entorno Integrado de Desarrollo


Si tiene la cantidad de objetos correcta, pero uno no es del tipo que esperaba.
Deber seleccionar el objeto basado en un control equivocado, y eliminarlo
presionando la tecla Supr; posteriormente deber agregar el objeto que haga falta
con el tipo de control correcto.
Cmo asignar el nombre adecuado
a cada uno de los objetos
En un formulario puede tener tantos objetos como la memoria RAM de la computadora lo permita; esto puede significar muchos objetos, algunos basados en el mismo
control.
Ya hemos visto que Visual Basic asigna un nombre predeterminado a cada uno de los
objetos que es agregado al formulario, a travs de la propiedad Name (Form1,
Label1, Command1. Command2. son ejemplos de ello).
============================================================
Nota: Un solo proyecto puede contener hasta 32,000 "identificadores" (cualquier
palabra clave no reservada), asociados a nombres de formularios, controles, mdulos,
variables, constantes, procedimientos, funciones y objetos. El nmero real de identificadores se limita a la memoria disponible.
============================================================
Utilizar los nombres proporcionados de manera predeterminada a los objetos no ocasiona problemas en aplicaciones pequeas, pero suponga que tiene un formulario con
diez botones de comando (Command1, Command2,...., Command10) y cada uno de
ellos tiene una funcin especfica e importante que no debe confundirse con la
funcin de los otros botones de comando; en este caso, sera complicado mantener la
referencia de los objetos.
Para evitar estas complicaciones. Visual Basic permite modificar la propiedad Name
de los objetos, de tal forma que stos sean identificados con un nombre acorde a su
funcin. Aqu surge una problemtica nueva: aparte de que puede haber varios
objetos basados en un mismo control, puede haber objetos basados en otros
controles.
Para aquel que desarrolla aplicaciones en Visual Basic, lo ideal es tener un nombre
de objeto altamente significativo, que d a entender para qu sirve un objeto determinado, as como en qu control est basado. De esa manera podr saber qu
propiedades estarn disponibles, as como el comportamiento y la apariencia que es
posible definir.
Por ejemplo, si tiene una etiqueta (Label) que servir para desplegar un texto determinado, podra asignarle el siguiente nombre:
Texto

Capitulo 3: Cmo establecer las propiedades de los objetos

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

Parte 1: Entorno Integrado de Desarrollo

Captulo 3: Cmo establecer las propiedades de los objetos

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:

Si por equivocacin intenta ponerle a un objeto un nombre ya


utilizado por otro objeto, Visual Basic asume que desea crear una matriz de controles
(varios objetos identificados por un mismo nombre, diferenciados por un subndice). La
utilidad de una matriz de controles se ver en otro captulo; si por descuido intenta en
este momento repetir nombres, cuando Visual Basic le pregunte Desea crear una matriz
de controles?, conteste No. Este es uno de los casos en que Visual Basic utiliza el
trmino "controles" cuando debera utilizar "objetos".
===============================================================
Si analizamos nuestro ejemplo, podramos asignar los siguientes nombres de objeto:
frmMensaje (Form1), lblTexto (Label1), cmdDespliega (Command1) y
cmdSalir (Command2) (vea la figura 3.2).

66

Parte 1: Entorno Integrado de Desarrollo

>> Cmo modificar la propiedad Name de los objetos. [03.02]


A continuacin aprender a modificar la propiedad Name de los objetos.
1. Seleccione el formulario.
2. Asegrese de que la cuadrcula de propiedades est en orden alfabtico.
3. Haga doble clic en la cuadrcula de propiedades donde diga Name. Observe que el
valor asignado actualmente, en este caso Form1, se sombrea en azul al hacer doble
clic en el valor asignado a la propiedad.
4. Escriba frmMensaje. Presione la tecla Intro.
===============================================================
Nota: Las propiedades se asignan cuando presiona la tecla Intro, o bien cuando traslada
el control hacia otra propiedad u objeto; se dice que la propiedad se acepta. Mientras no
acepte un nuevo valor para una propiedad, puede presionar la tecla Esc y dar marcha atrs
a los cambios que haya realizado.
===============================================================

5. Vea que en la lista desplegable de objetos aparecer frmMensaje Form, lo que


indica que el objeto de tipo Form ahora se llama frmMensaje. Usted ha cambiado
el nombre del objeto.
6. En la lista desplegable de objetos seleccione Label1 Label; haga doble clic en la
cuadrcula de propiedades donde diga Name, escriba lbITexto.

Captulo 3: Cmo establecer las propiedades de los objetos

67

7. En la lista desplegable de objetos seleccione Command1 CommandButton; haga


doble clic en la cuadricula de propiedades donde diga Name, escriba cmdDespliega.
8. En la lista desplegable de objetos seleccione Command2 CommandButton; haga
doble clic en la cuadrcula de propiedades donde diga (Name), escriba cmdSalir.
9. Vea el contenido actual de la lista desplegable de objetos de la ventana. Debe decir
Propiedades, como se muestra en la figura 3.3.

Cmo establecer las propiedades de apariencia y


comportamiento
Cambiar el valor de la propiedad Name y cambiar el valor de cualquier otra propiedad
es exactamente igual.
Para establecer el valor de una propiedad en tiempo de diseo:
Seleccione el objeto al que pertenece la propiedad que desea modificar. Esto lo
puede hacer de dos formas: seleccionando el objeto en la lista desplegable de objetos,
o bien haciendo clic en el objeto.

68

Parte 1: Entorno Integrado de Desarrollo


Busque en la cuadricula de propiedades la propiedad que desea modificar. Haga doble clic en
el nombre de la propiedad que desea modificar (columna izquierda de la cuadrcula de
propiedades).
Escriba o seleccione el valor deseado.
===================================================================
Nota: Un formulario es un objeto contenedor (es decir, puede contener objetos basados en otros
controles); existe un lmite fijo de 254 nombres diferentes de objetos.
===================================================================

Para establecer el valor de una propiedad en tiempo de ejecucin:


Debe realizar una igualacin entre la propiedad de un objeto y el valor que se desea asignar.
Ejemplo:
Usted quiere establecer, para la propiedad Caption del objeto frmMensaje, la siguiente
expresin: Mensaje.
Sintaxis:
Objeto.Propiedad = ValorAEstablecer
Ejemplo:
frmMensaje.Caption = "Mensaje"

>> Cmo modificar las propiedades de apariencia y comportamiento. [03.03]


Enseguida aprender a modificar las propiedades de apariencia y comportamiento. El diseo nos
dice lo siguiente:
En la barra de ttulo del formulario debe aparecer Mensaje.
Al ejecutarse la aplicacin, el formulario debe colocarse en el centro de la pantalla.
1.

Seleccione el objeto frmMensaje. El ttulo de la ventana Propiedades debe decir


Propiedades - frmMensaje.

===================================================================
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.
===================================================================

Captulo 3: Cmo establecer las propiedades de los objetos

69

2. Localice en la cuadrcula de propiedades la propiedad Caption. Haga doble clic en el


nombre de la propiedad; se iluminar en azul el valor actual de la propiedad. Escriba Mensaje
y acepte la propiedad. Esto sera en tiempo de diseo; en tiempo de ejecucin el cdigo que
modificara la propiedad sera:
frmMensaje.Caption = "Mensaje"
3. Localice en la cuadrcula de propiedades la propiedad StartUpPosition, haga doble clic
en el nombre de la propiedad; como esta propiedad es de valor limitado, necesita seleccionar
en la lista desplegable el valor que requiera (vea la figura 3.4).

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

Parte 1: Entorno Integrado de Desarrollo


valor a la propiedad usted mueve el formulario de posicin, ya sea arrastrando el formulario por
su barra de ttulo o utilizando la ventana Posicin del formulario, la propiedad cambiar de
forma automtica a O (Manual).
Al ejecutar la aplicacin se preguntar por qu no se coloc en el centro si yo se lo especifiqu?
Simplemente porque hizo algo en tiempo de diseo que ocasion modificaciones automticas en
la propiedad que as lo establecan.
===================================================================
El diseo nos dice:
Al iniciar la ejecucin de la aplicacin, la etiqueta, donde se mostrar el mensaje no debe tener
contenido.
La etiqueta donde aparecer el mensaje Bienvenido a Visual Basic!!! debe estar bordeado
con el efecto 3-D estndar de Windows.
5. Seleccione el objeto indicado, en este caso lblTexto. (La ventana Propiedades debe decir
en su barra de ttulo Propiedades - lblTexto.)
6. Localice en la cuadrcula de propiedades la propiedad Caption, haga doble clic en el
nombre de la propiedad, y presione la tecla Supr para eliminar el contenido; acepte la
propiedad. En tiempo de ejecucin el cdigo que modificara la propiedad sera:
lblTexto.Caption = ""
7. Localice en la cuadrcula de propiedades la propiedad BorderStyIe, haga doble clic en el
nombre de. la propiedad y seleccione el valor 1 - Fixed single. Esto sera en tiempo de
diseo; en tiempo de ejecucin el cdigo que modificara la propiedad sera:
lblTexto.BorderStyle = 1
El diseo nos dice:
El botn de comando que sirva para desplegar el mensaje de bienvenida debe decir Mostrar
Mensaje; adems, debe establecerse como tecla de mtodo abreviado para ese botn de
comando la combinacin Alt+M, siendo visible dicha capacidad en el estndar de Windows
(la letra "M" debe aparecer subrayada).
8. Seleccione el objeto indicado, en este caso cmdDespliega. (La ventana Propiedades debe
decir en su barra de ttulo Propiedades - cmdDespliega.)
9. Localice en la cuadrcula de propiedades la propiedad Caption, haga doble clic en el
nombre de la propiedad, escriba &Mostrar Mensaje. Esto sera en tiempo

Captulo 3: Cmo establecer las propiedades de los objetos

71

de diseo; en tiempo de ejecucin el cdigo que modificara la propiedad sera


(vea la figura 3.5):
cmdDespliega.Caption = "&Mostrar Mensaje"
===================================================================
Nota: Al establecer la propiedad Caption de los objetos, anteponer a cualquier letra un signo
"&" hace que dicha letra sea asignada como tecla de mtodo abreviado. En tiempo de
ejecucin, presionar Alt+<letra> es lo mismo que seleccionar el objeto por otro medio.
Es importante que planee las teclas de mtodo abreviado, a efecto de que no tenga dos iguales
en un mismo formulario.
===================================================================

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

Parte 1: Entorno integrado de Desarrollo


11. Localice en la cuadrcula de propiedades la propiedad Width, haga doble clic en el nombre
de la propiedad, escriba 1500. Esto sera en tiempo de diseo; en tiempo de ejecucin el cdigo
que modificara la propiedad sera:
cmdDespliega.Width = 1500
12. Con este cambio, el tamao de los botones de comando queda desproporcionado. Para
corregir el problema seleccione en modo de grupo los objetos cmdDespliega y cmdSalir,
cuidando que el objeto cmdDespliega sea el objeto principal del grupo; despus seleccione
el men Formato - Igualar tamao - Ambos. Los dos botones de comando deben tener
establecida su propiedad Width a 1500 twips.
El diseo nos dice:
El botn de comando (CommandButton) que sirva para salir de la aplicacin debe decir
Salir; adems, debe establecer como tecla de mtodo abreviado para ese botn la combinacin
Alt+S, siendo visible dicha capacidad en el estndar de Windows (la letra "S" debe aparecer
subrayada).
13. Seleccione el objeto indicado, en este caso cmdSalir. (La ventana Propiedades debe decir
en su barra de ttulo Propiedades - cmdSalir.)
14. Localice en la cuadrcula de propiedades la propiedad Caption, haga doble clic en el
nombre de la propiedad, escriba &Salir. Esto sera en tiempo de diseo; en tiempo de
ejecucin el cdigo que modificara la propiedad sera;
cmdSalir. Caption = "&Salir"
15. Como ya no hay ms modificaciones de tamao ni de dimensin, se recomienda bloquear los
controles para no mover de manera involuntaria la interfaz que ya cre. Seleccione el objeto
frmMensaje y el men Formato - Bloquear controles.
16.
Guarde su trabajo haciendo clic en el botn Guardar proyecto de la barra
de herramientas.
====================================================================
Nota: De ahora en adelante, grabe su trabajo cada que lo considere conveniente. Le
recomendamos que lo haga antes de ejecutar una aplicacin, ya que en el transcurso de la
ejecucin podra surgir un anidamiento permanente o un error que impida hacerlo
posteriormente.
====================================================================
En este momento ya estableci todas las propiedades de su aplicacin.

Captulo 3: Cmo establecer las propiedades de Sos objetos

73

Tablas de objetos y propiedades


Sugerir los objetos y las propiedades a utilizar, as como los valores que debern asignarse en
tiempo de diseo a las propiedades, puede ser algo muy complejo si se realiza de manera
narrativa, como tal vez lo haya notado en la prctica 03.03.
Para simplificar el proceso, recurriremos a una alternativa esquemtica: una tabla en donde se
listar lo siguiente:
Contenedor. La identificacin del objeto sobre el que deber trabajar.
Objeto. Indica en qu clase ha de basarse el objeto a integrar a la interfaz.
Propiedad. Indica la propiedad que ha de modificarse en tiempo de diseo.
Valor. Representa el valor que debe asignarse a la propiedad.
Orden. El orden en que se mencionan los objetos en la tabla, es el sugerido para la interfaz.
A esta tabla la llamaremos tabla de objetos y propiedades; vea cmo quedara la tabla de objetos
y propiedades para la aplicacin que hemos estado desarrollando:

Tabla de objetos y propiedades de frmMensaje

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

Parte 1: Entorno Integrado de Desarrollo

_________________________________________________
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

Parte 1: Entorno Integrado de Desarrollo

Paso 3: Escribir el cdigo de los eventos


Antes de escribir cdigo de eventos, es necesario entender en qu consisten los eventos y
la forma de trabajo orientado a eventos que plantea Visual Basic.
Un evento es una accin reconocida por un formulario o control. Los eventos pueden
ocurrir como el resultado de una accin determinada por el usuario, por el cdigo de
programa, o bien puede ser invocada por el sistema. Puede escribir el cdigo que desee
que se ejecute cuando ocurra un evento; en Visual Basic prcticamente cualquier cosa
est asociado a un evento, lo que le proporciona un control muy estricto sobre todo lo que
sucede en su aplicacin. Si presiona una tecla, es un evento, si deja de presionarla, otro
evento, si hace clic es un evento, si mueve el puntero del ratn, tambin;
como puede ver, casi todo es un evento. La pregunta ahora es: qu desea que ocurra
cuando se presente un evento?
Los siguientes son ejemplos de eventos:
Change

Cuando cambia algo en el objeto

Cllck

Cuando hace clic en el objeto

DblClick

Cuando hace doble clic en el objeto

KeyPress

Cuando presiona alguna tecla

MouseMove

Cuando mueve el puntero del ratn en un objeto

La programacin en Visual Basic se basa en la existencia y reconocimiento de los


eventos, por lo cual se dice que es una. programacin orientada a eventos. En este tipo
de programacin, la aplicacin responde a los eventos causados por el teclado, ratn o
por el sistema operativo.
===============================================================

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

Captulo 4: Escritura del cdigo de los eventos

77

de evento es el procedimiento que se ejecutar para cuando a un objeto le suceda un evento.


Como vimos en el captulo anterior, las propiedades deben asociarse al objeto al que pertenecen
(Objeto. Propiedad); pues bien, de la misma forma, los eventos deben asociarse al objeto al que le
suceden o afectan. Una representacin ptima sera:
Objeto_Evento
Ejemplo:
CmdDespliega_Click
Volviendo a los requerimientos del ejemplo que nos ha acompaado en los primeros captulos de este
libro, necesitamos de la aplicacin lo siguiente:
Hacer clic en el botn de comando Mostrar Mensaje debe provocar que en la etiqueta que sirva para
mostrar el mensaje aparezca Bienvenido a Visual Basic!!!
Hacer clic en el botn de comando Salir debe provocar la salida de la aplicacin (terminacin de la
ejecucin).
La figura 4.1 muestra cmo se manejara el cdigo en Visual Basic:

78

Parte 1: Entorno Integrado de Desarrollo


Analicemos la estructura de los procedimientos de evento. Tomaremos el procedimiento
que se ejecutar cuando haga clic en el objeto cmdDespliega (vea la figura 4.2).

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 ...

p... y el nombre del evento, separados por un carcter de subrayado.


qTodas las lneas de cdigo que se encuentren entre el inicio y el fin del procedimiento de evento se llama cdigo de evento. El cdigo de evento es lo que se ejecutar
de manera secuencial en el momento en que sucede un evento.

Captulo 4: Escritura del cdigo de los eventos

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.
===============================================================

Todo el cdigo debe encontrarse en el rea de declaraciones generales, procedimientos


de usuario o procedimientos de evento. Si agrega cdigo fuera de cualquiera de estas
zonas, nunca se ejecutar. Por ejemplo:
Sub cmdDespliega_Cllck()
LbITexto.Caption = " Bienvenido a Visual Basic! ! !
End Sub

frmMensaje.Caption = "Bienvenida"

Sub cmdSalir_Cllck()
End
End Sub

La lnea frmMensaje.Caption = "Bienvenida" no se ejecutar nunca, ya que no forma


parte del cdigo de evento de ningn procedimiento.

El editor de cdigo de Visual Basic


Visual Basic posee una poderosa herramienta para editar cdigo; entre las ventajas del
editor podemos mencionar las siguientes:
Clasificacin de elementos por colores que le permiten identificar los elementos del
programa.
Reconoce los objetos y asiste en el uso de propiedades y mtodos.
Interpreta el lenguaje mientras se escribe el cdigo; detecta errores de sintaxis al
momento de editar.
Posee ayuda interactiva y contextual.

80

Parte 1: Entorno Integrado de Desarrollo


Antes de ver las posibilidades de edicin, es necesario que comprendamos que un
lenguaje de programacin siempre tiene reglas que determinan su estructura, tanto de
forma como de significado:
Reglas de sintaxis (o sintcticas): Determinan la nica forma de manifestar instrucciones y expresiones, correctas y completas.
Reglas de semntica (o semnticas): Determinan la validez del uso de expresiones dentro de una sintaxis correcta. El cumplimiento de las reglas semnticas
por lo general se ve en tiempo de ejecucin, cuando se sabe el significado de las
expresiones.

===============================================================
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.

Captulo 4: Escritura del cdigo de los eventos

81

Seleccionando el men Ver - Cdigo.


Presionando F7.

>> Cmo abrir la ventana Cdigo. [04.01]


A continuacin aprender cmo abrir la ventana Cdigo.
1. En la ventana Explorador de proyectos seleccione el mdulo frmMensaje.
2. Haga clic en el botn Ver cdigo
3. Presione Alt+F4 para cerrar la ventana Cdigo.
4. Presione la tecla F7.
5. Presione Alt+F4 para cerrar la ventana Cdigo.
6. Seleccione el men Ver - Cdigo.
7. Presione Alt+F4 para cerrar la ventana Cdigo.
8. Haga doble clic en el objeto cmdDespliega.
9. Presione la tecla Ctrl+F4 para cerrar la ventana Cdigo.

Elementos de la ventana Cdigo


La ventana Cdigo est compuesta de los siguientes elementos:
Cuadro Objeto, Muestra el nombre del objeto seleccionado. Haga clic en la flecha
situada a la derecha del cuadro de lista para mostrar una lista de todos los objetos
asociados con el formulario.
Cuadro Procedimiento/Evento. Presenta una relacin de todos los eventos reconocidos por Visual Basic para un formulario o control mostrado en el cuadro
Objeto. Cuando seleccione un evento, el procedimiento de evento asociado con ese
evento se muestra en la ventana Cdigo.
Barra de divisin. Si arrastra hacia abajo esta barra, la ventana Cdigo se divide en
dos paneles horizontales, cada uno de los cuales tiene sus propias barras de
desplazamiento. Puede ver diferentes partes del cdigo a la vez. La informacin
que aparece en los cuadros Objeto y Procedimiento/Evento se aplica al cdigo del
panel que tiene el enfoque. Si arrastra la barra a la parte superior o inferior de la
ventana o hace doble clic en ella, se cierra un panel.

Botn Ver procedimiento. Muestra el procedimiento seleccionado. En la


ventana Cdigo slo se muestra un procedimiento a la vez.

82

Parte 1: Entorno integrado de Desarrollo

Botn Ver mdulo completo. Muestra todo el cdigo del mdulo.

La figura 4.4 muestra dnde se localizan cada uno de los componentes.

>>

Cmo manejar los componentes de la ventana Cdigo. [04.02]

A continuacin aprender a manejar los elementos de la ventana Cdigo.


1. Seleccione el objeto frmMensaje.
2. Presione la tecla F7.
3. Haga clic en el botn Ver procedimiento. Observe que solamente se mostrar el
procedimiento que tiene el enfoque.
===============================================================
Nota: En Visual Basic, aquel objeto o elemento que posee el cursor (que puede responder al teclado) tiene el enfoque.
===============================================================

Captulo 4: Escritura del cdigo de los eventos

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.

8. Puede editar en cualquiera de las dos mitades. Esta caracterstica es muy


valiosa en proyectos con cdigo muy extenso. Haga doble clic en la barra de
divisin para eliminarla.
9. Marque todo el cdigo que tenga en la ventana Cdigo y presione Supr para
eliminarlo. La ventana Cdigo debe quedar sin contenido.
10. Presione Alt+F4 para cerrar la ventana Cdigo.

84

Parte 1: Entorno Integrado de Desarrollo


===============================================================

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.

Asistencia en la edicin de cdigo


Una de las capacidades ms sobresalientes de Visual Basic es el soporte a la edicin que
da la ventana Cdigo. Cuando edita cdigo en algn procedimiento, se dice que est en
modo de edicin de cdigo. El soporte se brinda de varias maneras:
Manejo de colores. Permite identificar por colores lo que se est editando; las
palabras reservadas e instrucciones de Visual Basic aparecern en azul, los errores de
sintaxis que Visual Basic detecte en tiempo de edicin aparecern en rojo, las
expresiones aparecern en negro y los comentarios que se hagan en el cdigo
aparecern en verde; lo que aparezca en verde carecer de significado para el
compilador.
Sugerencia de propiedades y mtodos en modo de edicin. Visual Basic sugiere qu
propiedades y mtodos son aplicables para un objeto determinado, reconocido por el
simple hecho de formar parte de un formulario.
Sugerencia de sintaxis. Muestra en modo de edicin de cdigo la sintaxis correcta de
la funcin o instrucciones que est a punto de escribir.
Ayuda contextual. Proporciona ayuda contextual sobre lo que est tecleado, siempre
y cuando exista ayuda disponible.
Formato de texto. Aplica autoformato al cdigo, a efecto de que sea ms legible y
estndar en cuanto al estilo.

Captulo 4: Escritura del cdigo de los eventos

85

>> Manejo de colores y autoformato al editar cdigo. [04.03]


A continuacin aprender a utilizar las formas de asistencia en la edicin de cdigo que
proporciona Visual Basic.
1. Haga doble clic en el objeto cmdDespliega. Visual Basic determina que el procedimiento de evento ms comn para un objeto basado en el control
CommandButton es Click, por lo mismo procede a editar de manera
predeterminada dicho procedimiento.
De qu color estn las palabras Sub y End Sub, y por qu tienen ese color?
Color:

______________

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.
===============================================================

2. Teclee lo siguiente como cdigo de evento (el primer carcter es un apstrofe).


' Instruccin que emite sonido por el altavoz

De qu color se puso la lnea y por qu tiene ese color?


Color:

______________

Por qu?
________________________________________________________

3. Teclee la siguiente lnea de cdigo debajo del comentario que acaba de escribir
(escrbalo todo en maysculas).
BEEP

Aplic Visual Basic autoformato a su instruccin?. ______________________

86

Parte 1: Entorno Integrado de Desarrollo


Hasta el momento su cdigo debe lucir como se muestra en la figura 4.6.

>>Compilacin y deteccin de errores en modo de edicin. [04.04]


1. Contine editando el cdigo; escriba la siguiente lnea (escriba hasta el punto, pero
NO ACEPTE LA LNEA TODAVA):
MiObjeto.

Existe algn objeto en su formulario llamado MiObjeto?. _______________


Al teclear el punto Visual Basic respondi de alguna forma?. _______________

Captulo 4: Escritura del cdigo de los eventos

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.

3. Elimine la lnea que causa el problema.

>> Sugerencia de propiedades y mtodos en modo de edicin. [04.05]


1. A continuacin teclee una lnea de cdigo, pero hgalo en partes, sin presionar
Intro y sin cambiarse de lnea, comenzando con lo siguiente:
LblTexto.

88

Parte 1: Entorno Integrado de Desarrollo


Observe que al llegar al punto, Visual Basic determina que efectivamente existe un
objeto llamado lblTexto, identifica en qu tipo de control est basado el objeto
(Label) y muestra todas las propiedades y mtodos vlidos para dicho control (vea la
figura 4.8) a travs de un cuadro de lista combinado de sugerencias. Vea que de
momento no est seleccionada ninguna propiedad o mtodo de la lista.
2. En cuanto comience a teclear un poco ms, alfabticamente se ubicar en la lista la
propiedad o mtodo que corresponda con lo que est tecleando (vea la figura 4.8).

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

Captuio 4: Escritura del cdigo de los eventos

89

simple teclear de manera completa el nombre de la propiedad; sin embargo, algunos


objetos tienen propiedades de nombre muy largo, como StartUpPosition, en donde
una ayuda no est de ms. Un beneficio adicional: dejar que Visual Basic le asista en el
nombre de las propiedades le garantiza que no tendr errores de sintaxis, debido a
nombres de propiedades mal escritos.

6. Termine de capturar, de tal forma que la lnea completa quede como se muestra a
continuacin:

lblTexto.Caption = "Bienvenido a Visual Basic!!!"

7. Borre todo el cdigo que tenga tecleado y cierre la ventana Cdigo.

90

Parte 1: Entorno Integrado de Desarrollo

El evento predeterminado de los objetos


Como puede ver. Visual Basic y su editor de cdigo permiten una interaccin intuitiva
entre los objetos y lo que puede hacer con ellos; ya comprob que cada objeto, al
momento de hacer doble clic en l en tiempo de diseo, activa la ventana Cdigo en el
procedimiento de evento que Visual Basic considera como el ms usual, a lo que
llamaremos evento predeterminado.
Por ejemplo, cada objeto creado basado en el control CommandButton tendr como
evento predeterminado al evento Click; para qu puede servir un botn, si no es para
hacer clic en l?
No obstante, en ocasiones no desea editar el evento predeterminado. Para editar cualquier
otro evento, puede utilizar el cuadro Objeto (la lista desplegable que aparece a la
izquierda, debajo de la barra de ttulo de la ventana Cdigo) y del cuadro Procedimiento/Evento (la lista desplegable que aparece a la derecha, debajo de la barra de
ttulo de la ventana Cdigo). Puede, sin necesidad de estar haciendo doble clic en los
objetos que tiene en modo de diseo, editar todos los procedimientos de todos los objetos
disponibles en la interfaz.

>> 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?

2. Escriba el siguiente cdigo en dicho procedimiento:


Private Sub cmdDespliega_Click()
' Instruccin que emite sonido por el altavoz
Beep
' Cambia en modo de ejecucin la propiedad
' Caption del objeto lblTexto
lblTexto.Caption = "Bienvenido a Visual Basic!!!"
End Sub

Captulo 4: Escritura del cdigo de los eventos

91

3. Despliegue la lista del cuadro Procedimiento/Evento; aparecern los eventos


disponibles para el objeto cmdDespliega. Seleccione el evento GotFocus. El
procedimiento deber agregarse en la ventana Cdigo.
4. Despliegue nuevamente la lista del cuadro Procedimiento/Evento.
Qu diferencia existe, visualmente, entre Cllck y GotFocus?

5. Seleccione nuevamente GotFocus y escriba el siguiente cdigo (asegrese de dar


entrada a la lnea de cdigo, tecleando Intro al final de la lnea):

Private Sub cmdDespliega_GotFocus()


' Comentario de prueba
End Sub
6. Despliegue nuevamente la lista del cuadro Procedimiento/Evento. Debe verse como
se muestra en la figura 4.10.

92

Parte 1: Entorno Integrado de Desarrollo


Qu significa si un nombre de evento aparece en negritas?

7. Cierre la ventana Cdigo y seleccione el objeto cmdDespliega (haciendo clic en


l).
8. Abra la ventana Cdigo (F7).
9. Despliegue la lista del cuadro Objeto. Seleccione lblTexto.
Fue necesario hacer doble clic en el objeto lblTexto, en tiempo de diseo en el formulario para poder editar su cdigo?
____________________
10. Cierre la ventana Cdigo.
Por el hecho de haber solicitado editar cdigo para el objeto lblTexto, el objeto
cmdDespliega dej de estar seleccionado?
____________________

>>Uso del carcter de subrayado y la ayuda contextual en modo de edicin. [04.07]


1. Ya debe tener tecleadas todas las lneas del procedimiento cmdDespliega _Click
sin errores. Colquese en la ltima lnea que tecle, exactamente despus del signo de
igual ( = ) y antes de las comillas, teclee un espacio en blanco, seguido de un carcter
de subrayado (_), y despus teclee Intro. El continuador de lnea hizo su trabajo.
2. Ahora colquese despus la palabra "Bienvenido", inserte un espacio, teclee un
carcter de subrayado ( _ ) y despus teclee Intro. Vaya una lnea ms abajo en el
cdigo. Generar error, un continuador de lnea nunca debe dejar incompleta

Captulo 4: Escritura del cdigo de los eventos

93

una expresin. Corrija el problema eliminando el continuador de lnea que caus el


error.
3. Su procedimiento debi haber quedado como se muestra a continuacin:
Private Sub cmdDespliega_Click()
' Instruccin que emite sonido por el altavoz

Beep

' Cambia en modo de ejecucin la propiedad


' Caption del objeto lblTexto
lblTexto.Caption = _
"Bienvenido a Visual Basic!!!"
End Sub

===============================================================

Lo inesperado: En la figura 4.3 se mostr el esquema de un procedimiento de


evento. En dicha figura no se hace referencia a la palabra Private, que como vemos en
los subsecuentes ejemplos, s aparece. Esa palabra se agrega de manera predeterminada e
indica el alcance del procedimiento; no es obligatoria. Con o sin la indicacin Private,
el procedimiento funciona; quisimos dejarla para que no se sorprenda cuando la vea.
===============================================================
4. En el cuadro Objeto seleccione el objeto cmdSalir y en el cuadro Procedimiento/Evento seleccione Click. Escriba el siguiente cdigo:

Private Sub cmdSalir_Click()


End
End Sub
5. Para qu sirve la instruccin End? Para saberlo, coloque el cursor exactamente sobre la
palabra End( entre la "E" y la "n" estara bien). Presione F1. Aparecer la ventana de
ayuda de Visual Basic con la ayuda relativa a la orden. Si tiene dudas de alguna
instruccin o funcin, esta ayuda contextual puede ser de gran utilidad. Cierre la
ventana de ayuda presionando Alt+F4. En este caso, End termina con la ejecucin de
la aplicacin.

94

Parte 1: Entorno Integrado de Desarrollo


6. Estando en la ventana Cdigo, presione Alt+F4 para cerrar dicha ventana.
Una de las cosas ms importantes al estar codificando en Visual Basic es la de dar mrgenes a la izquierda, a lo que se llama sangra. Vea lo siguiente:

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.

Convenciones para la codificacin


Hasta ahora, en el libro ha visto que para codificar un procedimiento de evento, perteneciente a un objeto, decimos "seleccione el objeto y presione F7, o bien haga doble clic
en el objeto"; tambin podemos decir "abra la ventana Cdigo y en el cuadro Objeto
seleccione el objeto que desea codificar, despus en el cuadro Procedimiento/Evento,
seleccione el evento que desea codificar".
Suponga que deseamos editar en el procedimiento cmdSalir_click, por lo cual
diramos "seleccione el objeto cmdSalir y presione F7, o bien haga doble clic en el
objeto cmdSalir en tiempo de diseo en el formulario"; tambin podemos decir "abra la
ventana Cdigo, despliegue el cuadro Objeto, seleccione el objeto cmdSalir y en el
cuadro Procedimiento/Evento, seleccione Click". Qu tedioso! Es ms fcil hacerlo
que leerlo.
Puesto que en este libro codificar todo el tiempo y seguir siempre estos procedimientos,
es recomendable que establezcamos una convencin para decir lo mismo, pero ms fcil.
Qu le parece lo siguiente?

Captulo 4: Escritura del cdigo de los eventos

95

Editar cdigo: cmdSalir, Evento: Clck.

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

Existen algunas excepciones que es recomendable precisar para el funcionamiento ptimo


de esta convencin; por ejemplo, su formulario se llama frmMensaje, y es el objeto
contenedor de todos los dems objetos. Si lo busca en el cuadro Objeto de la ventana
Cdigo, se topar con la sorpresa de que es el nico objeto de su interfaz que no aparece.
Esto se debe a que dicho objeto acta como contenedor del mdulo, y Visual Basic lo
llama, para efecto de los eventos, simplemente Form, llmese como se llame el objeto
Form.
Tambin es importante que sepa que s es posible editar cdigo fuera de un procedimiento,
siempre y cuando se escriba al principio de toda codificacin, en una parte conocida como
declaraciones generales.

96

Parte 1: Entorno Integrado de Desarrollo


Para editar las declaraciones generales podemos decir: "escriba en las declaraciones
generales el siguiente cdigo", o bien. Editar cdigo: (General) Evento: (Declarations).
Tambin ser necesario, con aquellos procedimientos muy largos, agregar cdigo despus
de la ltima lnea que hayamos codificado; para ello haremos la referencia:

Continuar editando cdigo: cmdSalir, Evento: Click.


Que indica que continuaremos codificando despus de la ltima lnea que hayamos
codificado del procedimiento en cuestin.
En caso de que necesitramos agregar cdigo en una parte que no est despus de la ltima
lnea codificada, haremos la siguiente referencia:
Modificar cdigo: cmdSalir, Evento: Click.
Private sub cmdSalir_Click( )
MsgBox "Muchas gracias por utilizar este programa"
End
Se hace la referencia del evento a modificar, se escriben las lneas que se mantienen
intactas en letra normal, y lo que se modifica se pone en negritas.

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.

Captulo 4: Escritura del cdigo de los eventos

97

En nuestro ejemplo, la codificacin quedara cmo se muestra a continuacin:

Codificacin de frmMensaje
Editar cdigo: cmdDespliega, Evento: Click.

Instruccin que emite sonido por el altavoz


Beep
lblTexto.caption = _
" Bienvenido a Visual Basic!!!"
Editar cdigo: cmdSalir, Evento: Click.
End

Qu hacer con los procedimientos de evento sin cdigo?


Visual Basic asume muchas cosas con tal de facilitarle el trabajo. Por ejemplo, ya vimos
que al hacer doble clic en modo de diseo en un botn de comando, automticamente se
abre la ventana Cdigo sobre el procedimiento de evento Click para dicho objeto; Visual
Basic hace esto porque asume que la tarea ms comn que se hace con un botn de
comando es hacer clic en l para desencadenar una tarea.
Cada objeto, dependiendo del control sobre el que est basado, tendr un procedimiento de
evento predeterminado que se editar con el simple hecho de que invoque la ventana
Cdigo cuando el objeto est seleccionado.
Sin embargo, hay ocasiones en las que no se desea editar un determinado procedimiento
que Visual Basic coloca de manera predeterminada al invocar la ventana Cdigo. Quiz
resulte molesto tener que eliminar procedimientos que usted no haya agregado La figura
4.5 muestra muchos procedimientos que realmente no se utilizan.
No se preocupe por aquellos procedimientos de evento que no tienen cdigo de evento
(procedimientos que entre el inicio y fin del procedimiento no tienen nada de cdigo). Para
visual Basic es como si no existieran.
Al momento de ejecutar la aplicacin. Visual Basic detectar que no tienen cdigo de
evento, y proceder a borrarlos automticamente.

98 Parte 1: Entorno Integrado de Desarrollo


__________________________________________________________________________

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.

Algunas respuestas a los ejercicios


[04.03] Manejo de colores y autoformato al editar cdigo.
1. Color: Azul, por qu? Porque son palabras reservadas de Visual Basic.
2. Color: Verde, por qu? Porque es un comentario, sin significado para el compilador de
Visual Basic.
3. S lo aplic.
[04.04] Compilacin y deteccin de errores en modo de edicin.
1. No existe ningn objeto llamado MiObjeto. Al llegar al punto despus de MiObjeto,
Visual Basic no respondi de ninguna forma.

Captulo 4: Escritura del cdigo de los eventos

99

[04.06] Uso de los cuadros Objeto y Evento para la seleccin y codificacin de un


procedimiento de evento determinado.
1. Click
4. Click est en negritas y GotFocus no lo est.
6. Si est en negritas indica que el evento para el objeto en cuestin tiene cdigo escrito
dentro de s.
9. No
10. No

100

También podría gustarte