Manual Visual Basic NET
Transcript of Manual Visual Basic NET
-
7/14/2019 Manual Visual Basic NET
1/723
Texto diseado paraensear en profundidad adesarrollar aplicacionesbasadas en la plataforma.NET Framework,
utilizando Visual Basic.NET como lenguaje.
El texto cubre tantoaspectos bsicos comoavanzados, abordandoel lenguaje, programacinorientada a objetos(OOP), el entorno dedesarrollo de aplicaciones(IDE) de Visual Studio.NET, etc.
Se trata de un manualde muy amplio contenidoen documentacin,ademsde numerosos ejemploslistos para ser utilizadosdesde Visual Basic .NET.
Entre los requisitosprevios, basta conconocimientos de
fundamentos deprogramacin, conoceral menos un lenguaje, seaeste el que sea y conocerel S.O. Windows a nivelde usuario.
PPRROOGGRRAAMMAACCIINNEENN
VVIISSUUAALLBBAASSIICC..NNEETTLLUUIISSMMIIGGUUEELLBBLLAANNCCOO
Desarrollo de software
-
7/14/2019 Manual Visual Basic NET
2/723
-
7/14/2019 Manual Visual Basic NET
3/723
3
ADVERTENCIA LEGAL
Todos los derechos de esta obra estn reservados a Grupo EIDOS Consultora y DocumentacinInformtica, S.L.
El editor prohbe cualquier tipo de fijacin, reproduccin, transformacin, distribucin, ya sea medianteventa y/o alquiler y/o prstamo y/o cualquier otra forma de cesin de uso, y/o comunicacin pblica de lamisma, total o parcialmente, por cualquier sistema o en cualquier soporte, ya sea por fotocopia, mediomecnico o electrnico, incluido el tratamiento informtico de la misma, en cualquier lugar del universo.
El almacenamiento o archivo de esta obra en un ordenador diferente al inicial est expresamenteprohibido, as como cualquier otra forma de descarga (downloading), transmisin o puesta a disposicin(an en sistema streaming).
La vulneracin de cualesquiera de estos derechos podr ser considerada como una actividad penaltipificada en los artculos 270 y siguientes del Cdigo Penal.
La proteccin de esta obra se extiende al universo, de acuerdo con las leyes y convenios internacionales.
Esta obra est destinada exclusivamente para el uso particular del usuario, quedando expresamenteprohibido su uso profesional en empresas, centros docentes o cualquier otro, incluyendo a sus empleadosde cualquier tipo, colaboradores y/o alumnos.
Si Vd. desea autorizacin para el uso profesional, puede obtenerla enviando un e-mail [email protected] fax (34)-91-5017824.
Si piensa o tiene alguna duda sobre la legalidad de la autorizacin de la obra, o que la misma ha llegadohasta Vd. vulnerando lo anterior, le agradeceremos que nos lo comunique al e-mail [email protected] alfax (34)-91-5012824). Esta comunicacin ser absolutamente confidencial.
Colabore contra el fraude. Si usted piensa que esta obra le ha sido de utilidad, pero no se han abonado los
derechos correspondientes, no podremos hacer ms obras como sta.
Luis Miguel Blanco, 2002 Grupo EIDOS Consultara y Documentacin Informtica, S.L., 2002
ISBN 84-88457-53-7
Programacin en Visual Basic .NETLuis Miguel Blanco
Responsable de la edicinPaco Marn ([email protected])
AutoedicinMagdalena Marn ([email protected])Luis Miguel Blanco ([email protected])
Coordinacin de la edicinAntonio Quirs ([email protected])
Grupo EIDOSC/ Tllez 30 Oficina 228007-Madrid (Espaa)Tel: 91 5013234 Fax: 91 (34) 5017824www.grupoeidos.com/www.eidos.es www.LaLibreriaDigital.com
mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]://www.grupoeidos.com/www.eidos.eshttp://www.grupoeidos.com/www.eidos.eshttp://www.lalibreriadigital.com/http://www.lalibreriadigital.com/http://www.lalibreriadigital.com/http://www.grupoeidos.com/www.eidos.esmailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected] -
7/14/2019 Manual Visual Basic NET
4/723
-
7/14/2019 Manual Visual Basic NET
5/723
5
A Olga y David,
por las horas que les he robado
para escribir este texto que ahora
tienes en tus manos
A mis padres
A Roberto y Carlos,
mis hermanos pequeos, en edad, pero no en altura
-
7/14/2019 Manual Visual Basic NET
6/723
-
7/14/2019 Manual Visual Basic NET
7/723
ndice
NDICE .................................................................................................................................................. 7
INTRODUCCIN............................................................................................................................... 21
UNA VERSIN LARGO TIEMPO ESPERADA.......................................................................................... 21AQUELLOS DIFCILES TIEMPOS DE LA PROGRAMACIN EN WINDOWS.............................................. 22SLO PARA LOS ELEGIDOS................................................................................................................. 22EL PROYECTO THUNDER.................................................................................................................... 23UN PRODUCTO REVOLUCIONARIO ..................................................................................................... 23EL PASO A OLE Y ODBC .................................................................................................................. 23PASO A 32 BITS Y ORIENTACIN A OBJETO........................................................................................ 23
ACTIVEX Y ADO............................................................................................................................... 24PROGRAMACIN EN INTERNET.......................................................................................................... 24LOS PROBLEMAS PARA EL DESARROLLO EN LA RED ......................................................................... 25EL PANORAMA ACTUAL ..................................................................................................................... 25LAS SOLUCIONES APORTADAS POR VB.NET .................................................................................... 25EL PRECIO DE LA RENOVACIN ......................................................................................................... 25COMENZAMOS ................................................................................................................................... 26
LA EVOLUCIN HACIA .NET ....................................................................................................... 27
LAS RAZONES DEL CAMBIO ............................................................................................................... 27LA DIFCIL DECISIN DE ABANDONAR ANTERIORES TECNOLOGAS .................................................. 28LA PROBLEMTICA DE WINDOWS DNA............................................................................................ 28
ASP.................................................................................................................................................... 28ADO .................................................................................................................................................. 28
-
7/14/2019 Manual Visual Basic NET
8/723
VISUAL BASIC ................................................................................................................................... 29CONFLICTOS CON DLLS ................................................................................................................... 29TRAS LOS PASOS DE COM................................................................................................................. 29
.NET FRAMEWORK, NUEVOS CIMIENTOS PARA LA NUEVA GENERACIN DEAPLICACIONES ................................................................................................................................ 31
ALGO EST CAMBIANDO ................................................................................................................... 31QU ES .NET?.................................................................................................................................. 32.NET FRAMEWORK........................................................................................................................... 34EL CLR, COMMON LANGUAGE RUNTIME......................................................................................... 35EL CTS, COMMON TYPE SYSTEM ..................................................................................................... 36
Qu es un tipo dentro de .NET Framework?............................................................................... 36Los tipos de datos son objetos....................................................................................................... 37Categoras de tipos........................................................................................................................ 39
La disposicin de los datos en la memoria ................................................................................... 39Embalaje y desembalaje de tipos por valor .................................................................................. 42
METADATA (METADATOS) ................................................................................................................ 44
SOPORTE MULTI
-LENGUAJE
............................................................................................................... 44EL CLS (COMMON LANGUAGE SPECIFICATION) .............................................................................. 45EJECUCIN ADMINISTRADA............................................................................................................... 45
Cdigo administrado..................................................................................................................... 46Datos administrados...................................................................................................................... 46Recoleccin de memoria no utilizada............................................................................................ 46Recoleccin de memoria en VB6 y versiones anteriores............................................................... 47Recoleccin de memoria en .NET Framework.............................................................................. 47
LA EJECUCIN DE CDIGO DENTRO DEL CLR ................................................................................... 47El IL, Intermediate Language ....................................................................................................... 47Compilacin instantnea del IL y ejecucin ................................................................................. 48Compilacin bajo demanda........................................................................................................... 49
Independencia de plataforma........................................................................................................ 50DOMINIOS DE APLICACIN ................................................................................................................ 50SERVIDORES DE ENTORNO................................................................................................................. 51NAMESPACES..................................................................................................................................... 52LA JERARQUA DE CLASES DE .NET FRAMEWORK............................................................................ 55ENSAMBLADOS .................................................................................................................................. 56
La problemtica tradicional de los componentes.......................................................................... 57Ensamblados, una respuesta a los actuales conflictos.................................................................. 57Tipos de ensamblado segn modo de creacin............................................................................. 57
El contenido de un ensamblado..................................................................................................... 58El manifiesto del ensamblado........................................................................................................ 58Tipos de ensamblado segn contenido .......................................................................................... 59
Tipos de ensamblado segn mbito............................................................................................... 61Ubicacin de ensamblados compartidos....................................................................................... 61
Identificacin mediante claves integradas en el propio ensamblado............................................ 62Versiones de ensamblados............................................................................................................. 62Compatibilidad a nivel de versin................................................................................................. 63
Ejecucin conjunta de ensamblados ............................................................................................. 63Ficheros de configuracin............................................................................................................. 64Localizacin de ensamblados por parte del CLR.......................................................................... 64Optimizacin de la carga de ensamblados.................................................................................... 65
INSTALACIN DE VISUAL STUDIO .NET.................................................................................. 67
PREPARACIN DEL ENTORNO DE TRABAJO........................................................................................ 67.NET Framework SDK .................................................................................................................. 67Visual Studio .NET ........................................................................................................................ 67
-
7/14/2019 Manual Visual Basic NET
9/723
9
REQUISITOS HARDWARE.................................................................................................................... 68SISTEMA OPERATIVO ......................................................................................................................... 68RECOMENDACIONES PREVIAS............................................................................................................ 68INSTALACIN DE VISUAL STUDIO .NET ........................................................................................... 69BASES DE DATOS DE EJEMPLO ........................................................................................................... 75
LA PRIMERA APLICACIN........................................................................................................... 79UN HOLA MUNDO DESDE VB.NET................................................................................................... 79INICIAR EL IDE DE VS.NET.............................................................................................................. 79CREAR UN NUEVO PROYECTO............................................................................................................ 81OBJETOS, PROPIEDADES Y MTODOS ................................................................................................ 82FORMULARIOS ................................................................................................................................... 82EL FORMULARIO COMO UN OBJETO ................................................................................................... 83ACCESO A LAS PROPIEDADES DE UN FORMULARIO ........................................................................... 83CONTROLES ....................................................................................................................................... 85LABEL ................................................................................................................................................ 86EJECUTANDO LA APLICACIN ........................................................................................................... 87
EL CDIGO DE LA APLICACIN
.......................................................................................................... 88DISECCIONANDO EL CDIGO FUENTE DEL FORMULARIO .................................................................. 90La clase del formulario ................................................................................................................. 91El mtodo constructor New( ) ....................................................................................................... 91Configuracin del formulario y creacin de controles ................................................................. 92
Liberacin de recursos del formulario.......................................................................................... 93ESTRUCTURA Y GRABACIN DEL PROYECTO .................................................................................... 93
ESCRITURA DE CDIGO ............................................................................................................... 95
ESCRIBIR CDIGO, EL PAPEL CLSICO DEL PROGRAMADOR............................................................. 95UN PROGRAMA ESCRIBIENDO SU CDIGO ......................................................................................... 95CREAR EL PROYECTO......................................................................................................................... 96
UN NUEVO MDULO DE CDIGO........................................................................................................ 96LA UBICACIN FSICA DEL CDIGO ................................................................................................... 97COMENTARIOS DE CDIGO ................................................................................................................ 98PROCEDIMIENTOS.............................................................................................................................. 98EL PUNTO DE ENTRADA AL PROGRAMA............................................................................................. 99LA CLASE MESSAGEBOX ................................................................................................................... 99CONFIGURAR EL PUNTO DE ENTRADA DEL PROYECTO .................................................................... 100VARIABLES ...................................................................................................................................... 102INPUTBOX( ) .................................................................................................................................... 102COMPLETANDO EL PROCEDIMIENTO ............................................................................................... 103FINALIZAMOS EL PROGRAMA .......................................................................................................... 104
UNA APLICACIN CON FUNCIONALIDAD BSICA ............................................................ 105INTEGRANDO LO VISTO HASTA EL MOMENTO ................................................................................. 105
UN PROGRAMA MS OPERATIVO ..................................................................................................... 105DISEO DEL FORMULARIO ............................................................................................................... 105CONTROLES Y EVENTOS .................................................................................................................. 108OTRO MODO DE ESCRIBIR EL CDIGO DE UN EVENTO ..................................................................... 109GRABANDO TEXTO EN UN FICHERO ................................................................................................. 110UNA PUNTUALIZACIN SOBRE LOS EVENTOS.................................................................................. 112
EL ENTORNO DE DESARROLLO INTEGRADO (IDE), DE VISUAL STUDIO .NET......... 113
EL IDE, UN ELEMENTO A VECES MENOSPRECIADO ......................................................................... 113EL LARGO CAMINO HACIA LA CONVERGENCIA ............................................................................... 114
VISUAL STUDIO .NET, EL PRIMER PASO DE LA TOTAL INTEGRACIN............................................. 114LA PGINA DE INICIO....................................................................................................................... 114
-
7/14/2019 Manual Visual Basic NET
10/723
PRINCIPALES ELEMENTOS EN NUESTRO ENTORNO DE TRABAJO ..................................................... 116VENTANA PRINCIPAL DE TRABAJO .................................................................................................. 117MANEJO DE VENTANAS ADICIONALES DEL IDE.............................................................................. 119EL EXPLORADOR DE SOLUCIONES ................................................................................................... 124
Agregar nuevos elementos a un proyecto.................................................................................... 126Propiedades del proyecto............................................................................................................ 127Propiedades de la solucin ......................................................................................................... 128Agregar proyectos a una solucin............................................................................................... 128
EL MEN CONTEXTUAL ................................................................................................................... 130EL DISEADOR DEL FORMULARIO ................................................................................................... 130LA VENTANA DE PROPIEDADES ....................................................................................................... 131
EL IDE DE VISUAL STUDIO .NET. HERRAMIENTAS Y EDITORES.................................. 135
EL CUADRO DE HERRAMIENTAS ...................................................................................................... 135Organizacin en fichas................................................................................................................ 136
Manipulacin de fichas ............................................................................................................... 137Organizacin de controles .......................................................................................................... 137
Manipulacin de controles.......................................................................................................... 139Agregar controles........................................................................................................................ 140El cuadro de herramientas como contenedor de cdigo fuente .................................................. 141
LAS BARRAS DE HERRAMIENTAS ..................................................................................................... 142Barras de herramientas personalizadas...................................................................................... 143Acople de barras de herramientas .............................................................................................. 145
OPCIONES ADICIONALES DE PERSONALIZACIN ............................................................................. 145VENTANA DE RESULTADOS ............................................................................................................. 146EL EDITOR DE CDIGO FUENTE........................................................................................................ 147
Ajuste de fuente y color ............................................................................................................... 148Nmeros de lnea......................................................................................................................... 149Bsqueda y sustitucin de cdigo................................................................................................ 149
Ajuste de lnea ............................................................................................................................. 151Dividir el editor de cdigo .......................................................................................................... 152Marcadores ................................................................................................................................. 153Mostrar espacios en blanco ........................................................................................................ 154Esquematizacin.......................................................................................................................... 154Regiones ...................................................................................................................................... 155Comentarios de cdigo en bloque............................................................................................... 156
Ir a la definicin de un procedimiento ........................................................................................ 156IntelliSense .................................................................................................................................. 156Cambiar a maysculas y minsculas .......................................................................................... 158
EL IDE DE VISUAL STUDIO .NET. ELEMENTOS COMPLEMENTARIOS Y AYUDA..... 159
EDITORES DE IMGENES .................................................................................................................. 159LISTA DE TAREAS ............................................................................................................................ 160
Definicin de smbolos para tareas............................................................................................. 161Creacin de tareas ...................................................................................................................... 161Ventana Lista de tareas............................................................................................................... 162
Eliminacin de tareas.................................................................................................................. 163MOSTRAR LA PANTALLA COMPLETA ............................................................................................... 163LA VISTA DE CLASES ....................................................................................................................... 163EL EXPLORADOR DE OBJETOS ......................................................................................................... 164MACROS .......................................................................................................................................... 165
El Explorador de macros ............................................................................................................ 166Ejecucin de macros ................................................................................................................... 167Grabacin de macros .................................................................................................................. 167
Manipulacin de proyectos de macros........................................................................................ 168
-
7/14/2019 Manual Visual Basic NET
11/723
11
El IDE de macros ........................................................................................................................ 169Escritura de macros .................................................................................................................... 170Macro para comentar lneas de cdigo determinadas................................................................ 172
EL SISTEMA DE AYUDA .................................................................................................................... 173Ayuda dinmica........................................................................................................................... 174Contenido .................................................................................................................................... 175
ndice........................................................................................................................................... 176Buscar.......................................................................................................................................... 177Ayuda externa.............................................................................................................................. 178Mantener temas de ayuda disponibles ........................................................................................ 179Otros modos de acceso a la ayuda.............................................................................................. 180
APLICACIONES DE CONSOLA................................................................................................... 181
CREACIN DE UN PROYECTO DE TIPO APLICACIN DE CONSOLA .................................................... 181LA CLASE CONSOLE......................................................................................................................... 182ESCRITURA DE INFORMACIN ......................................................................................................... 183ESCRITURA DE MLTIPLES VALORES EN LA MISMA LNEA.............................................................. 185
LECTURA DE INFORMACIN
............................................................................................................ 187EL LENGUAJE................................................................................................................................. 189
EL LENGUAJE, PRINCIPIO DEL DESARROLLO ................................................................................... 189ESTRUCTURA DE UN PROGRAMA VB.NET...................................................................................... 190MAIN( ) COMO PROCEDIMIENTO DE ENTRADA AL PROGRAMA........................................................ 191VARIABLES ...................................................................................................................................... 191
Declaracin................................................................................................................................. 191Denominacin ............................................................................................................................. 192Avisos del IDE sobre errores en el cdigo.................................................................................. 192Lugar de la declaracin .............................................................................................................. 192Tipificacin.................................................................................................................................. 193
Declaracin mltiple en lnea..................................................................................................... 195Asignacin de valor..................................................................................................................... 195Valor inicial................................................................................................................................. 197
Declaracin obligatoria.............................................................................................................. 198Tipificacin obligatoria............................................................................................................... 201
ARRAYS, CONCEPTOS BSICOS ....................................................................................................... 203Declaracin................................................................................................................................. 203Asignacin y obtencin de valores.............................................................................................. 204Modificacin de tamao.............................................................................................................. 205Recorrer un array........................................................................................................................ 206
CONSTANTES ................................................................................................................................... 206CONCEPTOS MNIMOS SOBRE DEPURACIN ..................................................................................... 208
OPERADORES DEL LENGUAJE ................................................................................................. 211
ARITMTICOS .................................................................................................................................. 211Potenciacin: ^............................................................................................................................ 211Multiplicacin: * ........................................................................................................................ 212Divisin real: /............................................................................................................................ 212Divisin entera: \........................................................................................................................ 213Resto: Mod ................................................................................................................................. 213Suma: +...................................................................................................................................... 213
Resta: - ....................................................................................................................................... 214CONCATENACIN: &, +.................................................................................................................. 215OPERADORES ABREVIADOS DE ASIGNACIN ................................................................................... 215
Potencia: ^=............................................................................................................................... 215Multiplicacin: *= ..................................................................................................................... 216
-
7/14/2019 Manual Visual Basic NET
12/723
Divisin real: /=......................................................................................................................... 216Divisin entera: \= ..................................................................................................................... 216Suma: += ................................................................................................................................... 217
Resta: -=..................................................................................................................................... 217Concatenacin: &=.................................................................................................................... 218
COMPARACIN ................................................................................................................................ 218Comparacin de cadenas ............................................................................................................ 219
La funcin Asc( ) ......................................................................................................................... 220La funcin Chr( )......................................................................................................................... 221Comparacin de cadenas en base a un patrn. El operador Like .............................................. 221Comparacin de objetos. El operador Is .................................................................................... 224
LGICOS Y A NIVEL DE BIT .............................................................................................................. 225And .............................................................................................................................................. 225Uso de parntesis para mejorar la legibilidad de expresiones................................................... 226
Not ............................................................................................................................................... 227Or ................................................................................................................................................ 228
Xor............................................................................................................................................... 229
AndAlso ....................................................................................................................................... 230OrElse.......................................................................................................................................... 231PRIORIDAD DE OPERADORES ........................................................................................................... 231USO DE PARNTESIS PARA ALTERAR LA PRIORIDAD DE OPERADORES ............................................ 233
RUTINAS DE CDIGO................................................................................................................... 235
DIVISIN DE UNA LNEA DE CDIGO................................................................................................ 235ESCRITURA DE VARIAS SENTENCIAS EN LA MISMA LNEA............................................................... 236PROCEDIMIENTOS............................................................................................................................ 236
Sintaxis de un procedimiento Sub................................................................................................ 237Llamada a un procedimiento Sub................................................................................................ 238Sintaxis de un procedimiento Function ....................................................................................... 238
Llamada a un procedimiento Function ....................................................................................... 240Paso de parmetros a procedimientos ........................................................................................ 241Protocolo de llamada o firma de un procedimiento.................................................................... 241Tipo de dato de un parmetro ..................................................................................................... 241
Paso de parmetros por valor y por referencia .......................................................................... 242Paso por valor (ByVal)............................................................................................................ 242Paso por referencia (ByRef) .................................................................................................... 243
Paso de parmetros por posicin y por nombre ......................................................................... 244Parmetros opcionales................................................................................................................ 245Array de parmetros ................................................................................................................... 246Sobrecarga de procedimientos.................................................................................................... 247
Lista desplegable Nombre de mtodo, en el editor de cdigo ................................................ 251
BIFURCACIN Y MBITO DEL CDIGO................................................................................ 253
ESTRUCTURAS DE CONTROL ............................................................................................................ 253Seleccin...................................................................................................................................... 253
If...End If ................................................................................................................................. 253Select Case...End Select .......................................................................................................... 257
Repeticin.................................................................................................................................... 259While...End While ................................................................................................................... 259Do...Loop................................................................................................................................. 260For...Next................................................................................................................................. 262For Each...Next........................................................................................................................ 264
ORGANIZACIN DEL PROYECTO EN FICHEROS Y MDULOS DE CDIGO .......................................... 265Agregar un nuevo mdulo (y fichero) de cdigo......................................................................... 266Crear un nuevo mdulo dentro de un fichero existente............................................................... 267
-
7/14/2019 Manual Visual Basic NET
13/723
13
Cambiar el nombre de un fichero de cdigo............................................................................... 268Aadir al proyecto un fichero de cdigo existente...................................................................... 269Lista desplegable Nombre de clase, en el editor de cdigo.................................................... 269Excluir y eliminar ficheros de cdigo del proyecto..................................................................... 270
REGLAS DE MBITO ......................................................................................................................... 271mbito de procedimientos........................................................................................................... 271
Pblico..................................................................................................................................... 271Privado .................................................................................................................................... 273
mbito de variables..................................................................................................................... 274mbito a nivel de procedimiento ............................................................................................ 274mbito a nivel de bloque ........................................................................................................ 275mbito a nivel de mdulo....................................................................................................... 276mbito a nivel de proyecto ..................................................................................................... 277
PERIODO DE VIDA O DURACIN DE LAS VARIABLES........................................................................ 278VARIABLES STATIC ......................................................................................................................... 278
FUNCIONES COMPLEMENTARIAS DEL LENGUAJE........................................................... 281
CONVENCIONES DE NOTACIN
........................................................................................................ 281FUNCIONES DE COMPROBACIN DE TIPOS DE DATOS ...................................................................... 283FUNCIONES DEL LENGUAJE ............................................................................................................. 285
Numricas.................................................................................................................................... 285Cadena de caracteres.................................................................................................................. 286
Fecha y hora................................................................................................................................ 292CREAR MLTIPLES ENTRADAS AL PROGRAMA MEDIANTE DISTINTOS MAIN( )............................... 292
PROGRAMACIN ORIENTADA A OBJETO (OOP)................................................................ 295
LAS VENTAJAS DE LA PROGRAMACIN ORIENTADA A OBJETO ....................................................... 295DEL ENFOQUE PROCEDURAL AL ENFOQUE ORIENTADO A OBJETO .................................................. 295ABORDANDO UN PROBLEMA MEDIANTE PROGRAMACIN PROCEDURAL........................................ 295
LOS FUNDAMENTOS DE LA PROGRAMACIN ORIENTADA A OBJETO ............................................... 297OBJETOS .......................................................................................................................................... 298CLASES ............................................................................................................................................ 298INSTANCIAS DE UNA CLASE ............................................................................................................. 299CARACTERSTICAS BSICAS DE UN SISTEMA ORIENTADO A OBJETO ............................................... 300
Abstraccin.................................................................................................................................. 300Encapsulacin ............................................................................................................................. 300Polimorfismo ............................................................................................................................... 301Herencia...................................................................................................................................... 301
JERARQUAS DE CLASES .................................................................................................................. 302RELACIONES ENTRE OBJETOS .......................................................................................................... 302
Herencia...................................................................................................................................... 302
Pertenencia.................................................................................................................................. 303Utilizacin ................................................................................................................................... 303
REUTILIZACIN ............................................................................................................................... 303ANLISIS Y DISEO ORIENTADO A OBJETOS.................................................................................... 303CREACIN DE CLASES...................................................................................................................... 304ORGANIZACIN DE CLASES EN UNO O VARIOS FICHEROS DE CDIGO ............................................. 305CDIGO DE CLASE Y CDIGO CLIENTE ............................................................................................ 306REGLAS DE MBITO GENERALES PARA CLASES............................................................................... 306INSTANCIACIN DE OBJETOS ........................................................................................................... 306MIEMBROS DE LA CLASE ................................................................................................................. 307DEFINIR LA INFORMACIN DE LA CLASE ......................................................................................... 307CREACIN DE CAMPOS PARA LA CLASE .......................................................................................... 308CREACIN DE PROPIEDADES PARA LA CLASE.................................................................................. 309VENTAJAS EN EL USO DE PROPIEDADES .......................................................................................... 310
-
7/14/2019 Manual Visual Basic NET
14/723
ENCAPSULACIN A TRAVS DE PROPIEDADES ................................................................................ 310PROPIEDADES DE SLO LECTURA O SLO ESCRITURA..................................................................... 312PROPIEDADES VIRTUALES ............................................................................................................... 314NOMBRES DE PROPIEDAD MS NATURALES .................................................................................... 315PROPIEDADES PREDETERMINADAS .................................................................................................. 316ELIMINACIN DE LA PALABRA CLAVE SET PARA ASIGNAR OBJETOS .............................................. 317
MTODOS Y ESPACIOS DE NOMBRE...................................................................................... 319
CREACIN DE MTODOS PARA LA CLASE ........................................................................................ 319CUNDO CREAR UNA PROPIEDAD Y CUNDO UN MTODO? .......................................................... 323LA ESTRUCTURA WITH...END WITH................................................................................................ 325RESULTADOS DISTINTOS EN OBJETOS DE LA MISMA CLASE ............................................................ 325USO DE ME Y MYCLASS PARA LLAMAR A LOS MIEMBROS DE LA PROPIA CLASE ........................... 326SOBRECARGA DE MTODOS O POLIMORFISMO, EN UNA MISMA CLASE ........................................... 327ENLACE (BINDING) DE VARIABLES A REFERENCIAS DE OBJETOS .................................................... 329
Enlace temprano.......................................................................................................................... 329Enlace tardo............................................................................................................................... 330
ESPACIOS DE NOMBRES
(NAMESPACES
) .......................................................................................... 333ACCESO A ESPACIOS DE NOMBRE DE OTROS ENSAMBLADOS .......................................................... 337
CONSTRUCTORES Y HERENCIA............................................................................................... 341
MTODOS CONSTRUCTORES ............................................................................................................ 341HERENCIA........................................................................................................................................ 343TODAS LAS CLASES NECESITAN UNA CLASE BASE .......................................................................... 344REGLAS DE MBITO ESPECFICAS PARA CLASES ............................................................................. 345
Protected ..................................................................................................................................... 346Friend.......................................................................................................................................... 347Protected Friend.......................................................................................................................... 348
HERENCIA Y SOBRECARGA DE MTODOS ........................................................................................ 348
MYBASE, ACCESO A LOS MTODOS DE LA CLASE BASE .................................................................. 350HERENCIA Y SOBRE-ESCRITURA DE MTODOS ................................................................................ 350DIFERENCIAS ENTRE SOBRECARGA Y SOBRE-ESCRITURA EN BASE AL TIPO DE ENLACE................. 353OCULTAMIENTO DE MIEMBROS DE UNA CLASE ............................................................................... 355COMPORTAMIENTO DE LAS PALABRAS CLAVE ME, MYCLASS Y MYBASE ANTE LA SOBRE-ESCRITURA DE MTODOS ................................................................................................................. 359HERENCIA Y MTODOS CONSTRUCTORES........................................................................................ 360CLASES SELLADAS O NO HEREDABLES ............................................................................................ 362CLASES ABSTRACTAS O NO INSTANCIABLES ................................................................................... 362
ELEMENTOS COMPARTIDOS E INTERFACES...................................................................... 365
COMPROBACIN DEL TIPO DE UN OBJETO Y MOLDEADO (CASTING) ............................................... 365
MIEMBROS COMPARTIDOS (SHARED) DE UNA CLASE...................................................................... 368DEFINIR UNA CLASE COMO PUNTO DE ENTRADA DE LA APLICACIN .............................................. 370DESTRUCCIN DE OBJETOS Y RECOLECCIN DE BASURA................................................................ 371INTERFACES..................................................................................................................................... 373ESTRUCTURAS ................................................................................................................................. 378
Creacin y manipulacin de estructuras..................................................................................... 378Estructuras o clases, cul debemos utilizar? ............................................................................ 380La estructura del sistema DateTime............................................................................................ 382
ENUMERACIONES ............................................................................................................................ 383
APLICANDO UN ENFOQUE ENTERAMENTE OOP EN EL CDIGO................................. 387
LOS TIPOS DE DATOS TAMBIN SON OBJETOS .................................................................................. 387
MANIPULACIN DE CADENAS CON LA CLASE STRING..................................................................... 388OPTIMIZANDO LA MANIPULACIN DE CADENAS CON LA CLASE STRINGBUILDER.......................... 393
-
7/14/2019 Manual Visual Basic NET
15/723
15
CONVERSIN DE TIPOS CON LA CLASE CONVERT............................................................................ 394LA ESTRUCTURA CHAR................................................................................................................... 395EL TIPO DATE (FECHA) .................................................................................................................... 396OPERACIONES ARITMTICAS, LA CLASE MATH............................................................................... 396FORMATEO DE VALORES ................................................................................................................. 397
Fechas ......................................................................................................................................... 398Modificando el formato estndar para las fechas....................................................................... 400Nmeros ...................................................................................................................................... 402Formateando directamente en la consola ................................................................................... 403Usando la clase String para formatear ....................................................................................... 403Usando una clase para crear formatos personalizados.............................................................. 403
DELEGACIN DE CDIGO Y EVENTOS.................................................................................. 407
DELEGADOS (DELEGATES) .............................................................................................................. 407DECLARACIN DE DELEGADOS ....................................................................................................... 407CREACIN DE DELEGADOS .............................................................................................................. 408EXTENDER LAS FUNCIONALIDADES DE UNA CLASE A TRAVS DE DELEGADOS .............................. 411
EVENTOS
. QU ES UN EVENTO
?..................................................................................................... 414EVENTOS EN .NET........................................................................................................................... 414PROGRAMACIN ESTRICTAMENTE PROCEDURAL............................................................................ 414UN ESCENARIO DE TRABAJO SIN EVENTOS ...................................................................................... 414PROGRAMACIN BASADA EN EVENTOS ........................................................................................... 415ESQUEMA BSICO DE UN SISTEMA ORIENTADO A EVENTOS ............................................................ 415EL EMISOR DE EVENTOS .................................................................................................................. 416EL RECEPTOR DE EVENTOS .............................................................................................................. 417CONEXIN DE UN EMISOR DE EVENTOS CON UN MANIPULADOR DE EVENTOS ................................ 417ENLACE ESTTICO DE EVENTOS ...................................................................................................... 418ENLACE DINMICO DE EVENTOS ..................................................................................................... 420UN EVENTO ES UN DELEGADO ......................................................................................................... 421
LA CLASE EVENTARGS, O CMO OBTENER INFORMACIN DEL OBJETO EMISOR DEL EVENTO ....... 422ARRAYS ............................................................................................................................................ 427
ASPECTOS BSICOS ......................................................................................................................... 427LA CLASE ARRAY ............................................................................................................................ 428ADECUACIN DE LOS ARRAYS EN VB CON LOS ARRAYS DE LA PLATAFORMA .NET ..................... 428
El primer ndice de un array debe ser siempre cero................................................................... 429No es posible crear arrays con rangos de ndices ...................................................................... 429Todos los arrays son dinmicos .................................................................................................. 429
DECLARACIN ................................................................................................................................. 430ASIGNACIN Y OBTENCIN DE VALORES ........................................................................................ 431RECORRER EL CONTENIDO .............................................................................................................. 431
MODIFICACIN DE TAMAO............................................................................................................ 433USO DEL MTODO CREATEINSTANCE( ) PARA ESTABLECER EL NMERO DE ELEMENTOS EN UNARRAY ............................................................................................................................................. 434PASO DE ARRAYS COMO PARMETROS, Y DEVOLUCIN DESDE FUNCIONES................................... 435CLONACIN ..................................................................................................................................... 435COPIA............................................................................................................................................... 436INICIALIZACIN DE VALORES.......................................................................................................... 437ORDENACIN ................................................................................................................................... 439BSQUEDA....................................................................................................................................... 439ARRAYS MULTIDIMENSIONALES ..................................................................................................... 440
COLECCIONES ............................................................................................................................... 443
COLECCIONES, LA ESPECIALIZACIN DE LOS ARRAYS .................................................................... 443EL ESPACIO DE NOMBRES SYSTEM.COLLECTIONS .......................................................................... 444
-
7/14/2019 Manual Visual Basic NET
16/723
LA CLAVE SE HALLA EN LOS INTERFACES ....................................................................................... 444LA CLASE ARRAYLIST..................................................................................................................... 445
Instanciacin de objetos ArrayList.............................................................................................. 445Agregar valores a un ArrayList................................................................................................... 445Recorrer y obtener valores de un ArrayList................................................................................ 446Capacidad y valores en una coleccin ArrayList........................................................................ 447Obtencin de subarrays a partir de un objeto ArrayList ............................................................ 449
Bsquedas en colecciones ArrayList........................................................................................... 451Borrado de elementos en una coleccin ArrayList ..................................................................... 451Ordenar elementos en un objeto ArrayList ................................................................................. 453
LA CLASE HASHTABLE .................................................................................................................... 453Manejo bsico de colecciones Hashtable.................................................................................... 453Operaciones varias con colecciones Hashtable.......................................................................... 455Traspaso de elementos desde una coleccin Hashtable a un array bsico ................................ 457
LA CLASE SORTEDLIST.................................................................................................................... 458LA CLASE QUEUE............................................................................................................................. 459
Manipulacin de valores en una coleccin Queue...................................................................... 459
LA CLASE STACK............................................................................................................................. 462COLECCIONES PERSONALIZADAS.......................................................................................... 465
CUANDO EL TIPO DE ARRAY QUE NECESITAMOS NO EXISTE ........................................................... 465UTILIZANDO LA HERENCIA PARA CREAR UNA NUEVA COLECCIN ................................................. 465IMPLEMENTANDO UN INTERFAZ PARA CREAR UNA NUEVA COLECCIN ......................................... 467
MANIPULACIN DE ERRORES.................................................................................................. 473
ERRORES, ESE MAL COMN ............................................................................................................. 473Errores de escritura .................................................................................................................... 473Errores de ejecucin ................................................................................................................... 474Errores lgicos............................................................................................................................ 474
ERRORES Y EXCEPCIONES................................................................................................................ 474MANIPULADORES DE EXCEPCIONES ................................................................................................ 475TIPOS DE TRATAMIENTO DE ERROR EN VB.NET............................................................................. 475MANIPULACIN ESTRUCTURADA DE ERRORES ............................................................................... 475
La estructura Try...End Try......................................................................................................... 475La clase Exception....................................................................................................................... 478Captura de excepciones de diferente tipo en el mismo controlador de errores.......................... 479
Establecer una condicin para un manipulador de excepciones ................................................ 480La influencia del orden de los manipuladores de excepciones ................................................... 482Forzar la salida de un controlador de errores mediante Exit Try .............................................. 483Creacin de excepciones personalizadas.................................................................................... 484
MANIPULACIN NO ESTRUCTURADA DE ERRORES .......................................................................... 486
El objeto Err................................................................................................................................ 486On Error...................................................................................................................................... 486On Error Goto Etiqueta .............................................................................................................. 486On Error Resume Next ................................................................................................................ 487Creacin de errores con el objeto Err ........................................................................................ 488On Error Goto 0.......................................................................................................................... 488
OPERACIONES DE ENTRADA Y SALIDA (I/O). GESTIN DEL SISTEMA DE ARCHIVOS............................................................................................................................................................. 491
LA REMODELACIN DEL VIEJO ESQUEMA DE ENTRADA Y SALIDA .................................................. 491SYSTEM.IO, EL PUNTO DE PARTIDA................................................................................................. 491OBJETOS STREAM ............................................................................................................................ 492LAS CLASES TEXTREADER Y TEXTWRITER.................................................................................... 492LA CLASE STREAMWRITER............................................................................................................. 492
-
7/14/2019 Manual Visual Basic NET
17/723
17
LA CLASE STREAMREADER............................................................................................................. 494LAS CLASES STRINGWRITER Y STRINGREADER............................................................................. 496LA CLASE STREAM (FLUJO DE DATOS) ............................................................................................ 496LA CLASE FILESTREAM ................................................................................................................... 496MANEJO DE DATOS BINARIOS .......................................................................................................... 498MANIPULACIN DE ARCHIVOS MEDIANTE FILE Y FILEINFO ........................................................... 498MANIPULACIN DE ARCHIVOS MEDIANTE DIRECTORY Y DIRECTORYINFO ................................... 500LA CLASE PATH ............................................................................................................................... 502MONITORIZACIN DEL SISTEMA DE ARCHIVOS CON FILESYSTEMWATCHER................................. 503
Ajuste preciso de filtros para el monitor de archivos ................................................................. 505Establecer el procedimiento de evento con AddHandler ............................................................ 505Consideraciones sobre la ruta de archivos................................................................................. 506
DETECCIN CON ESPERA, DE EVENTOS PRODUCIDOS SOBRE ARCHIVOS ......................................... 507MANIPULACIN DE ARCHIVOS MEDIANTE FUNCIONES ESPECFICAS DE VISUAL BASIC ................. 507
FORMULARIOS WINDOWS......................................................................................................... 509
INTERFACES DE VENTANA. FORMULARIOS Y CONTROLES .............................................................. 509
SYSTEM
.WINDOWS
.FORMS
............................................................................................................. 510LA CLASE FORM .............................................................................................................................. 510CREACIN DE UN FORMULARIO BSICO .......................................................................................... 510EL CDIGO DEL FORMULARIO ......................................................................................................... 512CAMBIANDO EL NOMBRE DEL FORMULARIO ................................................................................... 513CREACIN DE FORMULARIOS DESDE CDIGO ................................................................................. 514INICIAR EL FORMULARIO DESDE MAIN( ) ........................................................................................ 515TRABAJO CON CONTROLES .............................................................................................................. 517EL CUADRO DE HERRAMIENTAS ...................................................................................................... 517INSERTAR UN CONTROL EN EL FORMULARIO................................................................................... 518AJUSTE DE LA CUADRCULA DE DISEO DEL FORMULARIO............................................................. 519ORGANIZACIN-FORMATO MLTIPLE DE CONTROLES.................................................................... 520
ANCLAJE DE CONTROLES................................................................................................................. 522ACOPLE DE CONTROLES .................................................................................................................. 523
CONTROLES WINDOWS .............................................................................................................. 525
CONTROLES MS HABITUALES ........................................................................................................ 525BUTTON ........................................................................................................................................... 526CODIFICACIN DE LOS EVENTOS DE CONTROLES ............................................................................ 527CODIFICANDO OTROS EVENTOS DE UN CONTROL............................................................................ 528ESCRITURA DEL MANIPULADOR DE EVENTO SIN USAR EL NOMBRE PROPORCIONADO POR EL EDITOR......................................................................................................................................................... 530RESPONDIENDO A LOS EVENTOS DE UN FORMULARIO .................................................................... 530LABEL .............................................................................................................................................. 531
FOCO DE ENTRADA .......................................................................................................................... 532TEXTBOX......................................................................................................................................... 532ORDEN DE TABULACIN DE CONTROLES ......................................................................................... 535SELECCIN DE TEXTO EN UN TEXTBOX .......................................................................................... 535CHECKBOX ...................................................................................................................................... 538RADIOBUTTON Y GROUPBOX ......................................................................................................... 540LISTBOX .......................................................................................................................................... 542COMBOBOX ..................................................................................................................................... 547
CODIFICACIN AVANZADA DE CONTROLES Y HERENCIA VISUAL ........................... 549
COMPARTIENDO CDIGO ENTRE CONTROLES.................................................................................. 549CREACIN DE CONTROLES DESDE CDIGO...................................................................................... 553
Cdigo para el interfaz de usuario.............................................................................................. 553Cdigo para eventos del formulario, conectando con Handles .................................................. 555
-
7/14/2019 Manual Visual Basic NET
18/723
Cdigo para eventos de controles, conectando con Handles...................................................... 555Cdigo para eventos de controles, conectando con AddHandler ............................................... 556Cdigo para eventos de controles, asociando y separando dinmicamente con AddHandler y
RemoveHandler........................................................................................................................... 557RECORRIENDO LOS CONTROLES DE UN FORMULARIO ..................................................................... 559TEMPORIZADORES ........................................................................................................................... 560CREAR UNA CLASE DERIVADA DE UN CONTROL.............................................................................. 563HERENCIA VISUAL ........................................................................................................................... 565
El formulario base....................................................................................................................... 566Agregar un proyecto con un formulario derivado ...................................................................... 567Crear un formulario heredado desde un proyecto independiente............................................... 570
MENS .............................................................................................................................................. 575
CONTROLES DE TIPO MEN ............................................................................................................. 575Men Principal. MainMenu ........................................................................................................ 575Men Contextual. ContextMenu.................................................................................................. 580Creacin de mens desde cdigo ................................................................................................ 582
PROGRAMACIN CON HEBRAS ............................................................................................... 585MANIPULACIN DE HEBRAS DE EJECUCIN .................................................................................... 585LA CLASE THREAD .......................................................................................................................... 586EJECUTAR UN PROCESO EN UNA HEBRA .......................................................................................... 586CONTROL DE PROCESOS INDEFINIDOS ............................................................................................. 588EJECUCIN MULTIHEBRA ................................................................................................................ 590EJECUCIN MULTIHEBRA DE MLTIPLES PROCESOS ....................................................................... 591DETECTANDO EL ESTADO DE FINALIZACIN ................................................................................... 593EJECUCIN PARALELA DE PROCESOS A DISTINTOS RITMOS ............................................................ 594SINCRONIZACIN DE HEBRAS .......................................................................................................... 596CREAR UN PROCESO DE MONITORIZACIN ...................................................................................... 597
INICIOS DE APLICACIN CON DOS FORMULARIOS, EMPLEANDO HEBRAS ........................................ 599FORMULARIOS DE INTERFAZ MLTIPLE (MDI) ................................................................ 601
APLICACIONES DE ESTILO SDI ........................................................................................................ 601APLICACIONES DE ESTILO MDI....................................................................................................... 601CREACIN DE MENS DE TIPO VENTANA, EN FORMULARIOS MDI................................................. 604BLOQUEO DE OPCIONES DE MEN EN FORMULARIOS MDI ............................................................. 606RECORRER LOS FORMULARIOS HIJOS DE UN MDI........................................................................... 607COMPORTAMIENTONO MODAL (MODELESS) DE FORMULARIOS ................................................... 608COMPORTAMIENTO MODAL DE FORMULARIOS ............................................................................... 608CONTROLES DE CUADROS DE DILOGO DEL SISTEMA ..................................................................... 611
ColorDialog ................................................................................................................................ 611
FontDialog .................................................................................................................................. 612SaveFileDialog............................................................................................................................ 614OpenFileDialog........................................................................................................................... 615
FORMULARIOS DEPENDIENTES Y CONTROLES AVANZADOS ...................................... 617
FORMULARIOS DEPENDIENTES Y FIJOS EN PRIMER PLANO .............................................................. 617VALIDACIN DE CONTROLES........................................................................................................... 626CONTROLES AVANZADOS ................................................................................................................ 627IMAGELIST....................................................................................................................................... 628TOOLBAR......................................................................................................................................... 629STATUSBAR..................................................................................................................................... 631DATETIMEPICKER........................................................................................................................... 633
NUMERICUPDOWN.......................................................................................................................... 634DOMAINUPDOWN............................................................................................................................ 635
-
7/14/2019 Manual Visual Basic NET
19/723
19
MONTHCALENDAR.......................................................................................................................... 635LINKLABEL...................................................................................................................................... 636CREACIN Y MANIPULACIN DE ELEMENTOS EN EJECUCIN ......................................................... 637NOTIFYICON .................................................................................................................................... 638
GDI+. ACCESO AL SUBSISTEMA GRFICO DE WINDOWS ............................................... 641
SYSTEM.DRAWING .......................................................................................................................... 642DIBUJO CON LAS CLASES GRAPHICS Y PEN ..................................................................................... 642LA CLASE BRUSH............................................................................................................................. 646DIBUJO DE TEXTO EN EL FORMULARIO ............................................................................................ 649PERSONALIZACIN DE LA IMAGEN DE FONDO DEL FORMULARIO ................................................... 650
Manipulacin de los eventos de pintado en la clase Form ......................................................... 650Empleo del control PictureBox ................................................................................................... 651
MANIPULANDO EL GRADO DE OPACIDAD DEL FORMULARIO .......................................................... 652MODIFICACIN DE LA FORMA DEL FORMULARIO ............................................................................ 655INTEGRANDO ELEMENTOS. UN VISUALIZADOR DE GRFICOS......................................................... 656
ACCESO A DATOS CON ADO .NET............................................................................................ 663
COMPARATIVA DE ADO /ADO .NET ............................................................................................. 664BENEFICIOS DE ADO .NET ............................................................................................................. 666
Interoperabilidad......................................................................................................................... 666Mantenimiento............................................................................................................................. 666Programacin.............................................................................................................................. 666Rendimiento................................................................................................................................. 667Escalabilidad............................................................................................................................... 667
ARQUITECTURA DE DATOS DESCONECTADOS ................................................................................. 667DataSet ........................................................................................................................................ 669ADO .NET y XML........................................................................................................................ 669
UNA VISIN GENERAL DE ADO .NET............................................................................................. 670
ESPACIOS DE NOMBRES Y CLASES EN ADO .NET........................................................................... 671LAS CLASES CONNECTION ............................................................................................................... 673LAS CLASES COMMAND................................................................................................................... 676LAS CLASES DATAREADER............................................................................................................. 680
CONJUNTOS DE DATOS Y ENLACE (DATA BINDING)........................................................ 683
LA CLASE DATASET ........................................................................................................................ 683LAS CLASES DATAADAPTER........................................................................................................... 686NAVEGACIN Y EDICIN DE REGISTROS EN MODO DESCONECTADO .............................................. 689DATA BINDING. ENLACE DE DATOS A CONTROLES......................................................................... 694
Tipos de Data Binding................................................................................................................. 694Elementos integrantes en un proceso de Data Binding............................................................... 694
EMPLEO DE DATA BINDING SIMPLE PARA NAVEGAR Y EDITAR DATOS .......................................... 694EL CONTROL DATAGRID, RELACIONES Y VISTAS............................................................ 701
DATAGRID....................................................................................................................................... 701CREACIN DE UN DATAGRID A TRAVS DE LOS ASISTENTES DEL IDE........................................... 703CONFIGURAR LAS PROPIEDADES DEL DATAGRID ........................................................................... 708CONFIGURAR POR CDIGO LAS PROPIEDADES DEL DATAGRID....................................................... 708SELECCIN DE TABLA EN EL DATAGRID......................................................................................... 710RELACIONES ENTRE TABLAS MEDIANTE OBJETOS DATARELATION ............................................... 711
Obtener tablas relacionadas mediante cdigo............................................................................ 711Visualizar datos relacionados en modo maestro-detalle en un DataGrid.................................. 713
Mostrar una relacin maestro-detalle en dos DataGrid............................................................. 714