PRÓLOGO..................................................................................................... XIX
CAPÍTULO 1. FUNDAMENTOS................................................................. 1
ESTILOS DE PROGRAMACIÓN............................................................... 1
FASES DEL PROCESO DE PROGRAMACIÓN........................................ 2
DIAGRAMAS DE FLUJO.......................................................................... 3
Reglas para la realización de diagramas de flujo........................................ 4
EL DISEÑO TOP DOWN DE PROGRAMAS............................................ 6
PROGRAMACIÓN ESTRUCTURADA..................................................... 7
Seudocódigo............................................................................................ 8
Estructura secuencial............................................................................... 9
Estructura alternativa............................................................................... 9
Estructuras alternativas anidadas.............................................................. 10
Estructura repetitiva................................................................................ 11
Sentencias de bifurcación en general........................................................ 11
PROGRAMACIÓN ORIENTADA A OBJETOS......................................... 14
Mecanismos básicos de la POO............................................................... 14
Objetos.............................................................................................. 14
Mensajes........................................................................................... 15
Métodos............................................................................................. 15
Clases................................................................................................ 16
Características de la POO....................................................................... 16
Abstracción........................................................................................ 16
Encapsulamiento................................................................................. 16
Herencia............................................................................................ 17
Polimorfismo...................................................................................... 17
VISUAL BASIC 6.0.................................................................................... 17
INSTALACIÓN DE VISUAL BASIC......................................................... 18
ENTORNO DE DESARROLLO DE VISUAL BASIC................................ 19
ENTORNO DE DESARROLLO SDI o MDI............................................... 22
Acoplamiento de ventanas....................................................................... 22
AYUDA MIENTRAS TRABAJA............................................................... 23
Ayuda interactiva.................................................................................... 24
CAPÍTULO 2. MI PRIMERA APLICACIÓN............................................. 27
PROGRAMANDO EN WINDOWS............................................................ 29
PROGRAMACIÓN SECUENCIAL............................................................ 31
PROGRAMACIÓN ORIENTADA A OBJETOS......................................... 32
Crear una nueva aplicación...................................................................... 33
Mover y ajustar el tamaño del formulario.................................................. 34
Dibujar los controles................................................................................ 35
Borrar un control..................................................................................... 40
Propiedades de los objetos....................................................................... 40
Bloquear la posición de todos los controles................................................ 43
Icono de la aplicación.............................................................................. 43
Unir código a los objetos.......................................................................... 43
Guardar la aplicación............................................................................... 46
Verificar la aplicación.............................................................................. 47
Crear un fichero ejecutable...................................................................... 48
Cambio de propiedades en ejecución......................................................... 49
OPERACIONES CON EL EDITOR............................................................ 50
Mover el cursor....................................................................................... 51
Insertar................................................................................................... 52
Borrar.................................................................................................... 52
Seleccionar............................................................................................. 52
Utilizando el ratón para edición................................................................. 53
Copiar, mover o borrar el texto seleccionado............................................. 53
Buscar y sustituir..................................................................................... 53
Teclas de función y combinaciones con ellas............................................. 53
VENTANAS DE DIÁLOGO....................................................................... 54
MENÚ EDICIÓN....................................................................................... 54
MOVIENDO Y COPIANDO CÓDIGO...................................................... 55
CAPÍTULO 3. ELEMENTOS DEL LENGUAJE........................................ 57
COMENTARIOS........................................................................................ 57
CONSTANTES NUMÉRICAS Y DE CARACTERES................................. 58
VARIABLES.............................................................................................. 58
Nombres de variables.............................................................................. 58
Tipos de datos intrínsecos........................................................................ 59
Declaración de variables.......................................................................... 60
Conversiones entre datos numéricos......................................................... 62
Declaración explícita............................................................................... 64
Módulos de Visual Basic.......................................................................... 64
Módulo de formulario.......................................................................... 65
Módulo estándar................................................................................. 65
Módulo de clase................................................................................. 65
Ámbito de las variables............................................................................ 65
Variables locales..................................................................................... 66
Variables utilizadas dentro del módulo....................................................... 67
Variables globales................................................................................... 67
Variables con el mismo nombre................................................................ 70
CONSTANTES SIMBÓLICAS................................................................... 70
OPERADORES.......................................................................................... 71
SENTENCIAS............................................................................................ 75
UTILIZACIÓN DEL TIPO Variant............................................................. 76
EL TIPO String........................................................................................... 80
TIPO ENUMERADO................................................................................. 80
OBJETOS DEL SISTEMA.......................................................................... 82
EL EXAMINADOR DE OBJETOS............................................................. 83
CAPÍTULO 4. ENTRADA Y SALIDA DE DATOS..................................... 85
ENTRADA DE DATOS............................................................................. 85
SALIDA DE DATOS.................................................................................. 87
Visualizar datos sobre un objeto................................................................ 90
Posiciones de impresión........................................................................... 92
Función Spc....................................................................................... 92
Función Tab....................................................................................... 92
Dando formato a la salida........................................................................ 93
ENTRADA/SALIDA UTILIZANDO CONTROLES................................... 94
El formulario, los controles y sus propiedades............................................ 95
Escribir el código..................................................................................... 97
Cómo trabaja un procedimiento................................................................ 98
EJERCICIOS RESUELTOS........................................................................ 99
Desarrollo de la aplicación....................................................................... 99
Objetos.............................................................................................. 99
Eventos.............................................................................................. 100
El formulario, los controles y sus propiedades............................................ 100
Escribir el código..................................................................................... 101
EJERCICIOS PROPUESTOS..................................................................... 103
CAPÍTULO 5. SENTENCIAS DE CONTROL............................................ 105
SENTENCIA If........................................................................................... 105
ANIDAMIENTO DE SENTENCIAS If....................................................... 107
ESTRUCTURA If....................................................................................... 108
SENTENCIA Select.................................................................................... 109
Utilización de un tipo enumerado.............................................................. 112
SENTENCIAS For ... Next.......................................................................... 113
BUCLES ANIDADOS................................................................................ 114
SENTENCIA While ... Wend....................................................................... 115
SENTENCIA Do ... Loop............................................................................ 118
SENTENCIA Goto...................................................................................... 119
SENTENCIA For Each...Next..................................................................... 120
EJERCICIOS RESUELTOS........................................................................ 120
EJERCICIOS PROPUESTOS..................................................................... 122
CAPÍTULO 6. ESTRUCTURAS DE DATOS.............................................. 125
MATRICES................................................................................................ 125
Declaración de una matriz........................................................................ 127
Sentencia Dim.................................................................................... 127
Utilizando controles................................................................................. 129
Caja de texto multilínea....................................................................... 130
Trabajar con el texto de la caja de texto multilínea................................ 131
Escribir el código................................................................................ 132
Interceptando la tecla pulsada.............................................................. 134
Matrices estáticas................................................................................... 136
Matrices dinámicas.................................................................................. 137
Sentencia Erase...................................................................................... 140
Sentencia Option Base............................................................................. 141
Copiar una matriz en otra......................................................................... 142
ESTRUCTURAS........................................................................................ 143
SENTENCIA With ... End With................................................................... 145
MATRIZ DE ESTRUCTURAS................................................................... 146
OBJETOS................................................................................................... 148
Declaración de una variable objeto........................................................... 149
Asignación de un objeto a una variable objeto............................................ 151
Múltiples ejemplares de un formulario....................................................... 153
Matrices de objetos................................................................................. 154
Liberar recursos...................................................................................... 154
COLECCIONES......................................................................................... 154
Colección de formularios.......................................................................... 155
Colección de controles............................................................................. 156
Colección genérica de objetos.................................................................. 156
Objeto Dictionary.................................................................................... 158
SENTENCIA For Each ... Next................................................................... 159
EJERCICIOS RESUELTOS........................................................................ 159
Ordenación de los elementos de una lista.................................................. 162
EJERCICIOS PROPUESTOS..................................................................... 163
CAPÍTULO 7. PROCEDIMIENTOS........................................................... 165
PROCEDIMIENTOS INTRÍNSECOS......................................................... 166
Procedimientos para cadenas de caracteres.............................................. 167
Función Len....................................................................................... 167
Función Left....................................................................................... 168
Función Right..................................................................................... 168
Función Mid....................................................................................... 169
Sentencia Mid.................................................................................... 169
Función Instr...................................................................................... 170
Función String.................................................................................... 170
Función Str......................................................................................... 171
Función Val........................................................................................ 171
Función Chr....................................................................................... 172
Función Asc....................................................................................... 172
Función Space.................................................................................... 173
Variable Date..................................................................................... 173
Sentencia Date................................................................................... 173
Variable Time.................................................................................... 174
Sentencia Time................................................................................... 174
Función LCase................................................................................... 174
Función UCase................................................................................... 175
Función LTrim.................................................................................... 175
Función RTrim................................................................................... 175
Función Trim...................................................................................... 175
Función Now...................................................................................... 176
Procedimientos para expresiones numéricas.............................................. 177
Funciones trigonométricas................................................................... 177
Funciones logarítmica y exponencial..................................................... 177
Funciones de conversión..................................................................... 178
Función Fix........................................................................................ 178
Función Int......................................................................................... 179
Función Abs....................................................................................... 179
Función Sgn....................................................................................... 179
Función Sqr........................................................................................ 179
Procedimientos varios.............................................................................. 180
Función Timer.................................................................................... 180
Función Rnd....................................................................................... 180
Sentencia Randomize.......................................................................... 181
PROCEDIMIENTOS DEFINIDOS POR EL USUARIO.............................. 183
Ámbito de un procedimiento..................................................................... 184
Crear un procedimiento general................................................................ 185
Funciones (Function)............................................................................... 185
Procedimientos (Sub)............................................................................... 188
Llamar a procedimientos en otros módulos................................................ 189
Declarar todas las variables locales como estáticas.................................... 190
Declarar un procedimiento privado........................................................... 190
Argumentos por referencia y por valor...................................................... 191
Argumentos que son matrices.................................................................. 192
Argumentos opcionales............................................................................ 192
Número indefinido de argumentos............................................................. 193
Argumentos con nombre.......................................................................... 194
Procedimientos recursivos........................................................................ 195
EJERCICIOS RESUELTOS........................................................................ 196
EJERCICIOS PROPUESTOS..................................................................... 198
CAPÍTULO 8. MATRICES DE CONTROLES........................................... 201
CREAR UNA MATRIZ DE CONTROLES................................................. 202
AGREGAR Y ELIMINAR CONTROLES DURANTE LA EJECUCIÓN..... 205
EJERCICIOS RESUELTOS........................................................................ 207
EJERCICIOS PROPUESTOS..................................................................... 217
CAPÍTULO 9. TRABAJANDO CON MENÚS............................................ 219
DISEÑO DE UN MENÚ............................................................................. 220
Propiedades de un menú.......................................................................... 222
EL PORTAPAPELES................................................................................. 223
UTILIZAR MENÚS EN UNA APLICACIÓN............................................ 224
Diseño del editor..................................................................................... 224
Añadir un nuevo formulario...................................................................... 233
Cajas de diálogo modales y no modales..................................................... 234
Métodos y sentencias para manipular formularios...................................... 235
TEMPORIZACIÓN.................................................................................... 237
Temporizador.......................................................................................... 237
Diseño del reloj despertador..................................................................... 238
Unir el código a los controles y al formulario............................................. 239
Cambiar una orden de un menú durante la ejecución.................................. 241
Añadir órdenes a un menú....................................................................... 243
CAPÍTULO 10. CAJAS DE DIÁLOGO....................................................... 245
CAJAS DE DIÁLOGO PREDEFINIDAS.................................................... 245
Visualizar datos con MsgBox................................................................... 246
CAJAS DE DIÁLOGO PERSONALIZADAS............................................. 247
CASILLAS DE VERIFICACIÓN................................................................ 249
BOTÓN DE OPCIÓN................................................................................. 250
MARCOS................................................................................................... 254
AGRUPANDO BOTONES DE OPCIÓN.................................................... 254
LISTAS Y LISTAS DESPLEGABLES........................................................ 257
Utilización de listas.................................................................................. 258
Seleccionar el texto de una caja de texto................................................... 260
Validar datos reteniendo el foco en el control............................................ 260
Crear un módulo estándar........................................................................ 261
Añadir un registro a la base de datos........................................................ 262
Visualizar un determinado registro............................................................ 263
Crear un procedimiento general................................................................ 264
Acceso a los elementos de una lista.......................................................... 265
Eliminar un elemento de una lista.............................................................. 266
Inhabilitar controles................................................................................. 268
Finalizar la aplicación............................................................................... 269
Utilización de listas desplegables............................................................... 269
BARRAS DE DESPLAZAMIENTO........................................................... 272
COLORES.................................................................................................. 275
Función RGB.......................................................................................... 275
Función QBColor.................................................................................... 277
CAJAS DE DIÁLOGO COMUNES............................................................ 277
AÑADIR UNA CAJA DE DIÁLOGO COMÚN......................................... 279
Cajas de diálogo Abrir y Guardar como..................................................... 280
Caja de diálogo Imprimir.......................................................................... 282
CONTROLES DE UN SISTEMA DE FICHEROS....................................... 284
Utilización conjunta de estos controles...................................................... 285
Seleccionar un fichero del sistema de ficheros........................................... 287
EJERCICIOS PROPUESTOS..................................................................... 293
CAPÍTULO 11. FICHEROS DE DATOS..................................................... 295
OPERACIONES SOBRE EL SISTEMA DE FICHEROS............................. 296
Sentencia Kill.......................................................................................... 297
Sentencia Name...................................................................................... 297
Sentencia ChDir...................................................................................... 297
CONTROL DE ERRORES......................................................................... 298
ABRIENDO FICHEROS PARA ACCESO SECUENCIAL......................... 299
Sentencia Open....................................................................................... 299
Sentencia Print #..................................................................................... 301
Sentencia Write #.................................................................................... 302
Sentencia Close....................................................................................... 302
Sentencia Input #.................................................................................... 303
Sentencia Line Input #............................................................................. 303
Función Input.......................................................................................... 304
Función EOF........................................................................................... 305
UTILIZACIÓN DE FICHEROS SECUENCIALES..................................... 305
Escribir en un fichero utilizando el acceso secuencial................................. 306
Leer de un fichero utilizando el acceso secuencial..................................... 308
ABRIENDO FICHEROS PARA ACCESO ALEATORIO........................... 310
Sentencia Open....................................................................................... 310
Sentencia Put.......................................................................................... 311
Sentencia Get.......................................................................................... 312
Función LOF........................................................................................... 312
Función Loc............................................................................................ 313
UTILIZACIÓN DE FICHEROS ALEATORIOS......................................... 314
Escribir en un fichero utilizando el acceso aleatorio.................................... 315
Leer de un fichero utilizando el acceso aleatorio........................................ 317
ABRIENDO FICHEROS PARA ACCESO BINARIO................................. 320
Sentencia Open....................................................................................... 321
Funciones Get y Put................................................................................ 321
Función EOF........................................................................................... 322
Funciones Loc......................................................................................... 322
Sentencia Seek........................................................................................ 322
Escribir en un fichero abierto en modo binario........................................... 323
Leer de un fichero abierto en modo binario................................................ 324
UTILIZACIÓN DE FICHEROS BINARIOS............................................... 325
UTILIZACIÓN DE LA IMPRESORA........................................................ 328
Utilizando el objeto Printer....................................................................... 328
MODELO DE OBJETOS DEL SISTEMA DE FICHEROS.......................... 329
Objeto sistema de ficheros....................................................................... 330
EJERCICIOS PROPUESTOS..................................................................... 331
CAPÍTULO 12. ACCESO A UNA BASE DE DATOS................................. 333
¿QUÉ ES UNA BASE DE DATOS?........................................................... 333
EL CONTROL DE DATOS ADO............................................................... 334
Cómo utilizar el control de datos ADO...................................................... 335
Crear una base de datos con Microsoft Access.................................... 335
Crear una base de datos con el administrador visual de datos................. 335
Aplicación.......................................................................................... 337
Crear un vínculo de datos OLE DB.......................................................... 337
Diseño del formulario............................................................................... 338
Vincular el control de datos...................................................................... 339
Programar el control de datos................................................................... 340
Añadir, modificar y borrar datos............................................................... 343
Mover la aplicación de directorio.............................................................. 350
CONTROL DE DATOS DATA.................................................................. 351
Diseño del formulario............................................................................... 351
Vincular el control de datos...................................................................... 352
Programar el control de datos................................................................... 353
Añadir, modificar y borrar datos............................................................... 356
Mover la aplicación de directorio.............................................................. 360
CAPÍTULO 13. EL RATÓN......................................................................... 361
ARGUMENTOS DE LOS PROCEDIMIENTOS DEL RATÓN................... 362
Argumentos Button y Shift....................................................................... 362
Argumentos X, Y.................................................................................... 364
Trabajando con los eventos del ratón........................................................ 364
ARRASTRAR Y SOLTAR......................................................................... 366
Controlar una operación de arrastre.......................................................... 370
EJEMPLO DE SELECCIONAR Y ARRASTRAR...................................... 372
EJERCICIOS PROPUESTOS..................................................................... 377
CAPÍTULO 14. CONTROLES ACTIVEX................................................... 379
CONTROL CUADRÍCULA....................................................................... 380
Construir una aplicación con una cuadrícula.............................................. 381
Iniciar la cuadrícula............................................................................. 383
Cargar datos en la cuadrícula.............................................................. 385
Limpiar la cuadrícula........................................................................... 386
Editar una celda.................................................................................. 387
Clasificar las columnas........................................................................ 388
Agrupar celdas adyacentes................................................................. 389
Orden Salir......................................................................................... 389
Acerca de.......................................................................................... 390
CONTROL LISTA DE IMÁGENES............................................................ 390
Agregar una lista de imágenes.................................................................. 391
CONTROL BARRA DE HERRAMIENTAS............................................... 392
Agregar una barra de herramientas.......................................................... 392
CONTROL BARRA DE ESTADO............................................................. 394
Agregar una barra de estado.................................................................... 395
CONTROL DataGrid ENLAZADO A DATOS............................................ 397
Operaciones con rangos........................................................................... 401
Añadir columnas a un DataGrid durante el diseño...................................... 402
CAPÍTULO 15. ASISTENTES...................................................................... 403
ASISTENTE PARA APLICACIONES........................................................ 404
Introducción............................................................................................ 405
Tipo de interfaz....................................................................................... 406
Menús.................................................................................................... 407
Personalizar barra de herramientas........................................................... 408
Recursos................................................................................................ 408
Conexión a Internet................................................................................. 409
Formularios estándar............................................................................... 410
Formularios de acceso a datos.................................................................. 411
Finalizado................................................................................................ 411
Resumen................................................................................................ 412
Terminar................................................................................................. 412
Personalizar la aplicación......................................................................... 414
ASISTENTE PARA FORMULARIOS DE DATOS..................................... 417
Introducción............................................................................................ 418
Tipo de base de datos.............................................................................. 418
Base de datos......................................................................................... 419
Formulario.............................................................................................. 419
Origen de registros.................................................................................. 420
Selección de controles............................................................................. 421
Finalizado................................................................................................ 422
ASISTENTE DE EMPAQUETADO Y DISTRIBUCIÓN............................ 423
Generar el programa de instalación........................................................... 424
Tipo de empaquetado.......................................................................... 426
Carpeta para el paquete...................................................................... 426
Archivos incluidos............................................................................... 427
Opciones de .cab................................................................................ 427
Título de instalación............................................................................ 428
Elementos del menú Inicio................................................................... 428
Ubicaciones de instalación................................................................... 429
Archivos compartidos......................................................................... 429
Finalizado........................................................................................... 430
Paquete que se va a distribuir.............................................................. 431
Método de distribución........................................................................ 431
Unidad de disquete............................................................................. 431
Finalizado........................................................................................... 432
CAPÍTULO 16. VISUAL BASIC E INTERNET.......................................... 433
¿QUÉ ES INTERNET?............................................................................... 433
Intranet................................................................................................... 434
Extranet.................................................................................................. 434
Terminología Internet............................................................................... 434
SERVICIOS EN INTERNET...................................................................... 437
Correo electrónico................................................................................... 438
Conexión remota (telnet).......................................................................... 439
Transferencia de ficheros (ftp)................................................................. 440
Noticias (news)....................................................................................... 442
Conversaciones....................................................................................... 443
Herramientas para búsqueda de información............................................. 444
World Wide Web (WWW).................................................................. 444
Gopher............................................................................................... 446
Archie............................................................................................... 447
La información en Internet....................................................................... 449
PÁGINAS WEB......................................................................................... 449
Qué es HTML........................................................................................ 450
Etiquetas básicas HTML......................................................................... 450
Etiquetas de formato de texto................................................................... 451
URL....................................................................................................... 453
Enlaces entre páginas.............................................................................. 454
Gráficos.................................................................................................. 455
Marcos................................................................................................... 456
PÁGINAS WEB DINÁMICAS................................................................... 457
VBScript en una página Web................................................................... 459
Objetos de Internet Explorer.................................................................... 461
Objeto window................................................................................... 461
Objeto frames.................................................................................... 463
Objeto history..................................................................................... 464
Objeto navigator................................................................................. 464
Objeto location................................................................................... 465
Objeto script....................................................................................... 466
Objeto document................................................................................ 466
Objeto link.......................................................................................... 467
Objeto anchor..................................................................................... 467
Objeto form........................................................................................ 468
Objeto element................................................................................... 468
APLICACIONES VISUAL BASIC PARA INTERNET.............................. 468
Desarrollo de una aplicación DHTML...................................................... 469
Diseño de una página HTML.............................................................. 470
Modos de colocación de los elementos................................................. 471
Enlazar la página HTML con código Visual Basic..................................... 473
Agregar páginas al proyecto..................................................................... 475
Crear hipervínculos.................................................................................. 476
Probar, compilar y distribuir la aplicación DHTML.................................... 477
Utilizar un editor de código HTML........................................................... 478
Microsoft FrontPage Express................................................................... 479
APÉNDICE A. CÓDIGOS DE CARACTERES........................................... 481
UTILIZACIÓN DE CARACTERES ANSI CON WINDOWS..................... 481
JUEGO DE CARACTERES ANSI.............................................................. 482
UTILIZACIÓN DE CARACTERES ASCII................................................. 483
JUEGO DE CARACTERES ASCII............................................................. 484
CÓDIGOS EXTENDIDOS.......................................................................... 485
CÓDIGOS DEL TECLADO........................................................................ 486
APÉNDICE B. ÍNDICE ALFABÉTICO..................................................... 487