vip users visual basic

366
por Fernando Omar Luna

Upload: xavazquez

Post on 01-Jul-2015

521 views

Category:

Documents


10 download

TRANSCRIPT

  • 1. por Fernando Omar Luna

2. PROGRAMACINDE SITIOS WEBPROFESIONALESAPRENDA A CREARSITIOS DINMICOSCON EL LENGUAJEMS ROBUSTOAPRENDA APROGRAMARDESDE CERO ENC# CON VISUALSTUDIO 2010LOS MEJORESCONSEJOS DE LOSEXPERTOS PARAADMINISTRARSITIOS WEB>> DESARROLLO DESARROL/ INTERNET>> 400 PGINPGINAS>> ISBN 978-987-1773-07-7>> DESARROLDESARROLLO / .NET>> 400 PGINPGINAS>> ISBN 978-987-26013-5-5>> DESARROLLO DESARROL/ INTERNET>> 368 PGINPGINAS>> ISBN 978-987-663-039-9>> INTERNET/ HOME>> 336 PGINPGINAS>> ISBN 978-987-663-011-5 3. VISUAL BASICGUA DEFINITIVA DEL PROGRAMADORpor Fernando O. Luna 4. www.redusers.comTTULO: Visual BasicAUTOR: Fernando O. LunaCOLECCIN: Manuales UsersFORMATO: 17 x 24 cmPGINAS: 352Copyright MMXI. Es una publicacin de Fox Andina en coedicin conDalaga S.A. Hecho el depsito que marca la ley 11723. Todos los derechosreservados. Esta publicacin no puede ser reproducida ni en todo ni enparte, por ningn medio actual o futuro sin el permiso previo y por escritode Fox Andina S.A. Su infraccin est penada por las leyes 11723 y 25446.La editorial no asume responsabilidad alguna por cualquier consecuenciaderivada de la fabricacin, funcionamiento y/o utilizacin de los servicios yproductos que se describen y/o analizan. Todas las marcas mencionadas eneste libro son propiedad exclusiva de sus respectivos dueos. Impreso enArgentina. Libro de edicin argentina. Primera impresin realizada enSevagraf, Costa Rica 5226, Grand Bourg, Malvinas Argentinas, Pcia. deBuenos Aires en VI, MMXI.ISBN 978-987-1773-57-2Luna, Fernando O.Visual Basic. - 1a ed. - Buenos Aires : Fox Andina; Dalaga, 2011.v. 215, 352 p. ; 24x17 cm. - (Manual users)ISBN 978-987-1773-57-21. Informtica. I. TtuloCDD 005.3 5. ANTES DE COMPRAREN NUESTRO SITIO PUEDE OBTENER, DE FORMA GRATUITA, UN CAPTULO DE CADA UNO DE LOSLIBROS EN VERSIN PDF Y PREVIEW DIGITAL. ADEMS, PODR ACCEDER AL SUMARIO COMPLETO,LIBRO DE UN VISTAZO, IMGENES AMPLIADAS DE TAPA Y CONTRATAPA Y MATERIAL ADICIONAL. 6. PRELIMINARES4www.redusers.comFernando O. LunaFernando Omar Luna es Analista programador universitario. En1994 tuvo contacto con las computadoras por primera vez, yluego de haber probado todo, lleg el turno de la programacin;entonces descubri que su escaso gusto por las matemticassiendo nio se haba revertido por completo gracias al inquietantemundo de los algoritmos. Antes de ingresar en el mbito de lacomputacin, Fernando se gradu como Operador auxiliar deplanta transmisora de radio, pasin que devino de sus casi sieteaos como DJ. Desde 1998 trabaja como programador en variascompaas (industrias nacionales y empresas de salud). Actual-mentereparte su tiempo entre el desarrollo de sistemas de gestiny su pasin por la escritura, que lo llev a colaborar con la revistaPower Users y algunos blogs espaoles, adems de tener su propioportal tecnolgico: f-digital.Blog: http://blog.f-digital.com.arE-mail: [email protected] libro fue escrito para mis hijos, quienes me brindan amor encada momento que disfrutamos juntos de la vida.AgradecimientosA quienes me dan amor incondicional: a Nico y July, que son elcombustible que me mantiene en marcha; a mi familia, querespeta mis tiempos y obligaciones; a Julio, que hizo el esfuerzoenorme de traer a mi habitacin un clon 286 usado con 2 MBde RAM, y que, a su vez, junto a Nlida, desde algn rincn delter, siguen iluminando mi camino por esta vida.A la editorial, a Nicols Kestelboim y a Mariel Cerra, quienes searmaron de paciencia y buena onda para que este proyecto llegaraa transformarse en un libro. 7. PRLOGOLlegando al primer lustro de la dcada de los noventa, las computadoras comen-zarona llamarme la atencin. Luego de haber hecho un curso de reparacin de PC,posterior a dos aos de introduccin a la electrnica y la especializacin en radio yaudio, aquellos gabinetes metlicos y por ese entonces, pesados, an contenandisqueteras de 5 , las cuales fueron poco a poco reemplazadas por las de 3 . Elreciente Windows 3.11 para trabajo en grupos era el sistema operativo de moda, ysolo aquellos que eran inquietos como yo saban que eran contados los lenguajes deprogramacin que haba en el mercado y que podan lograr crear un software enmuy poco tiempo. En la era donde programar era una verdadera profesin y solounos pocos tenan el don de armar un sistema de gestin "agiornado" con unainterfaz relativamente clara, hizo su aparicin Visual Basic. De la mano de Micro-soft,este lenguaje de programacin e IDE "todo en uno" se tomaba el desafo decaptar el inters de aquellos programadores que le daban cientos de horas de susvidas a Clipper, Dbase y Paradox. Pocos eran los valientes que se les animaban aestos lenguajes y sin embargo un escaso grupo reducido de visionarios saban que elmundo informtico tarde o temprano dejara de lado la neutral pantalla negra yblanca para darle paso a la nueva era, la era Visual.El mundo tecnolgico cambi gracias a esos hombres que decidieron contraviento y marea elegir la innovacin y apostar por un nuevo futuro, el futurogrfico, el futuro Visual. Gracias a la era iniciada por Visual Basic, se cre unsignificativo punto de inflexin entre los desarrollos a pulmn y los desarrollosinteligentes. Adems las cientos de lneas de cdigo necesarias para la creacinde un men o de un botn lineal se transformaron rpidamente en algunos clicsy combinaciones de teclas, demostrando as que la productividad y la inteligenciavan de la mano y no por veredas paralelas.Fernando LunaPrlogowww.redusers.com 5 8. PRELIMINARESEL LIBRO DE UN VISTAZOEste libro est enfocado a usuarios principiantes e intermedios que deseen conocer lasherramientas de Microsoft con el objetivo desarrollar software para Windows y otrastecnologas mviles, a travs del lenguaje ya consagrado y conocido por todos, comoes Visual Basic en su versin 2010.Captulo 1INTRODUCCIN A LA PLATAFORMAEn este captulo, realizamos una introduccinal lenguaje Visual Basic. Conoceremos suhistoria, sus versiones y cambios a travs deltiempo. Estudiaremos con detenimiento suIDE para luego poder manejarnoscmodamente con l.Captulo 2FUNDAMENTOS DE VISUAL BASICComenzaremos a conocer en detalle sulenguaje, sintaxis, los tipos de datos, laspalabras reservadas y la estructura quepermite crear una aplicacin sencilla yestticamente agradable en pocos minutos.Tambin comprenderemos las diferenciasesenciales entre los procedimientos y lasfunciones del lenguaje.Captulo 3MY NAMESPACELos espacios de nombre, conocidos comoNamespaces, son lo que le da vida a todaaplicacin llevada a cabo con la tecnologa.NET. En este captulo conoceremos el porquy cules son los Namespaces necesarios parautilizar, dependiendo del objetivo quedeseamos alcanzar. Tambin navegaremosentre el uso de los controles visuales, quenos permiten ahorrar muchas horas dedesarrollo de la interfaz GUI con tan sloarrastrar, soltar y configurar.Captulo 4MANEJO DE ARCHIVOSEste captulo nos pone de lleno elconocimiento de nuestro sistema operativo,su sistema de archivos y la organizacin deste mediante directorios. Aprenderemoscmo manipular todo tipo de archivos desdeel cdigo de nuestra aplicacin y tambindesarrollaremos un programa que nospermitir crear, modificar y guardar archivosde texto enriquecido.Captulo 5BASES DE DATOSLas bases de datos son esenciales en elmundo del software. Cualquier aplicacin, seacual fuere su objetivo, depende de una basede datos que le permita almacenar yconsultar informacin de parmetros, entreotras cosas. Tambin los sistemas de gestinhacen un uso exhaustivo de estas bases dedatos para manipular informacin quealmacenan los usuarios.Captulo 6DEPURACIN Y MANEJO DE ERRORESTodo software que lleva aunque sea diez lneasde cdigo no est exento de contener erroresen su programacin. Este captulo buscaayudar al usuario a prevenir al mximo laaparicin de errores en el software y de ocurriresto, saber cmo controlarlos sin que elsoftware pierda el control total de ejecucin.6 www.redusers.com 9. algunos pocos clics del mouse y lneas decdigo. Verdaderas aplicaciones hechas entiempo rcord.Apndice BWindows Phone 7 es la nueva apuesta deMicrosoft para el mundo mvil, y Visual Studio2010 busca acompaar los desarrollos desoftware para este novedoso y reestructuradosistema operativo para celulares. Esteapndice nos permitir conocer loselementos necesarios y de qu manerapodemos desarrollar aplicaciones para elsistema operativo Mvil de Microsoft.Apndice CC# se est poniendo de moda. En los ltimoscinco aos ha crecido de manera exorbitanteel uso de este lenguaje de programacin. Enel ltimo apndice del libro, sabremos culesson las principales diferencias y similitudesentre Visual Basic y Visual C#.Servicios al lectorEn el ltimo apartado deeste libro, tenemos anuestra disposicin el ndice temtico, dondeencontraremos, de manera rpida y efcitva,los principales conceptos de la obra.INFORMACIN COMPLEMENTARIAATENCIN SITIOS WEB www.redusers.com 7!El libro de un vistazoCaptulo 7APLICACIONES ASP.NETLa llegada de Internet a nuestras vidas hizoque el mundo de la programacin dejara delimitarse a un simple escritorio y sistemaoperativo. Este captulo le brinda al usuario lainformacin necesaria para adentrarse en elmundo de desarrollo de software que corrasobre Internet o sobre los navegadores web.Captulo 8XAML Y WPFEl mundo web no trajo solo consigo eldesarrollo web de aplicaciones que corransobre la gran red de redes. Tambin trajo desu mano nuevas tecnologas que buscanreemplazar los clsicos desarrollos deescritorio. En este captulo conoceremos aXAML y WPF, dos tecnologas que llegaronpara quedarse en nuestras computadoras.Apndice AAs como la teora es fundamental para lacomprensin de los conceptos bsicos detodo objetivo en la vida. La prctica tambinrequiere su lugar. En este apndice,conoceremos la manera de realizaraplicaciones sencillas y efectivas conA lo largo de este manual encontrar una serie de recuadros que le brindarn informacin com-plementaria:curiosidades, trucos, ideas y consejos sobre los temas tratados.Cada recuadro est identificado con uno de los siguientes iconos:CURIOSIDADESE IDEASDATOS TILES YNOVEDADES 10. ContenidoSobre el autor 4Prlogo 5El libro de un vistazo 6Informacin complementaria 7Introduccin 12Captulo 1INTRODUCCIN A LA PLATAFORMABienvenidos a Visual Basic 2010 14Resea del lenguaje 14Herramientas complementarias 18Componentes de la plataforma 19El framework .NET 21Diferencias entre versiones 24Instalacin de Visual Basic 2010 26Instalacin paso a paso 26Dependencias 28Entorno de desarrollo 29Comprender la estructura del IDE 30El sistema de ayuda 31Comprender el IDE 32Estructura de una solucin 33Desarrollo de nuestraprimera aplicacin 36Crear la solucin 36Resumen 39Actividades 40Captulo 2FUNDAMENTOS DE VISUAL BASICConceptos del lenguaje 42Cmo programar en Visual Basic 42Palabras reservadas 43Tipos de datos 45Uso de variables 50Convertir tipos de datos 53Arrays y enumeraciones 56Colecciones 60Formularios 65Qu es un formulario 65Agregar ms de un formulario 66Iniciar y ocultar formularios 67Instrucciones bsicas 67If else 68Elseif 69Ejemplo Elseif 69For Next 69Select case 72Procedimientos 73Funciones 75Ejemplo prctico con procedimientos yfunciones 80Resumen 83Actividades 84Captulo 3NAMESPACES Y CONTROLESNamespaces 86My namespace 86Controles 96Controles comunes 96Eventos de cada control 97Button 98Label, LinkLabel 98TextBox 99www.redusers.com 9CONTENIDO 11. PRELIMINARESDateTimePicker y MonthCalendar 102RadioButton y CheckBox 104Otros controles comunes 104Controles contenedores 105Controles de mens y barras deherramientas 106Controles de acceso a datos 108Convenciones paranombrar los controles 109MessageBox 110Operadores aritmticos 111Una calculadora bsica 111Resumen 117Actividades 118Captulo 4MANEJO DE ARCHIVOSAbrir un archivo 120Archivos de texto enriquecido 126Controles avanzados:cuadros de dilogo 136Manejo de archivos y carpetas 150Unidades de disco 150Archivos y carpetas 151Buscar un archivo 154FolderBrowseDialog 156Verificar si existeun archivo o directorio 157Resumen 161Actividades 162Captulo 5BASES DE DATOSIntroduccin 164Qu es una base de datos 164Estructura de almacenamientode datos 167Tablas 167Campos 167Registros 168Qu son los ndices 168Qu son las vistas 169Qu es una entidad relacin 170Bases de datos y Visual Basic 172Crear tablas en SQL Server 175El Explorador de base de datos 181Conectar y trabajar con basesde datos desde VB.NET 182Controles para manejaruna base de datos 184La pestaa Datos del Cuadrode herramientas 184DataSet 185DataGridView 185BindingNavigator 190Crear formularios con conexin a datos 191Operaciones con registros 192Modificar registros 196Proyecto con base de datos:gestin de drugstore 197Resumen 215Actividades 216Captulo 6DEPURACIN Y MANEJO DE ERRORESCambios importantesen el manejo de flujo 218Manejo de erroresen tiempo de ejecucin 220Qu son las excepciones 221System.Exception 22210 www.redusers.com 12. ContenidoTry Catch Finally 222Instruccin Throw 231Depuracin de aplicaciones 234Herramientas de depuracin 234Puntos de interrupcin 238Resumen 243Actividades 244Captulo 7APLICACIONES ASP.NETQu es una aplicacin web 246Ejemplo de Web Forms 249Web Forms dinmicos 263La clase Page 263Controles Web Forms 271Otros controles web 280Cmo enlazar datoscon Web Forms 285Resumen 287Actividades 288Captulo 8XAML Y WPFQu es XAML 290Windows Presentation Foundation 291Herramientas Microsoftde desarrollo XAML 299Herramientas de tercerospara desarrollar XAML 300Resumen 301Actividades 302Apndice AAPLICACIONES PRCTICAS EN POCOS CLICSComponentes tiles que facilitanlos desarrollos 304El control WebBrowser 304La librera WMP.DLL 312Desarrollo de ROL Player 312Apndice BDESARROLLO PARA WINDOWS PHONE 7Introduccin 322.NET Compact Framework 322Lo nuevo: Windows Phone 7 323Cmo iniciarse en la programacinpara smartphones WP7 324El IDE de VS 2010 Express 326Programacin de aplicacionespara WP7 328Apndice CDIFERENCIAS ENTRE VB.NET Y C#C#, un lenguaje joveny poderoso 336Ventajas que ofrece C# 337Similitudes y diferenciasentre VB.NET y C# 338Sintaxis del lenguaje C# 340Servicios al lectorndice temtico 346www.redusers.com 11 13. PRELIMINARESINTRODUCCINEl mundo informtico es una pasin que cada da atrapa a ms personas, quienesusan programas destinados a cubrir diversas necesidades.Si bien el software no se palpa, es real; y por ms sencillo que sea su cometido, requiritiempo, ingeniera e idealizacin de una o ms personas para implementarlo.Ao a ao se incrementa la demanda de expertos en el mundo binario y son contadaslas empresas que no dependen de una computadora o de un sistema a medida.Tambin el desarrollo de software est disfrutando de un crecimiento ininterrum-pidoen cualquier pas del mundo.Convertirse en desarrollador requiere de algunos conocimientos puntuales y dementes bien abiertas, pero gracias a la facilidad de las herramientas de que dispo-nemosen la era 2.0 de la computacin, ms la biblioteca universal de informa-cinabierta las 24 horas del da, como lo es Internet, el aprendizaje de estaprofesin puede llevarse a cabo en tiempo rcord.Este libro busca orientar a todas aquellas personas que desean conocer las herra-mientasexistentes en el mercado para desarrollar aplicaciones para Windows,Internet y las actuales variantes, como la implementacin de aplicaciones para dispo-sitivosmviles, todo basado en herramientas y tecnologas de Microsoft.Los captulos de esta obra se organizaron de tal manera que el lector comience cono-ciendodesde cero el IDE de desarrollo, el lenguaje, su estructura y las herramientasadicionales para potenciarlo, en desarrollos tanto para Windows como para la Web.Tambin se vern opciones alternativas al lenguaje BASIC, como el moderno y cadavez ms aceptado C#, y gracias a l, se analizar la posibilidad de programar aplica-cionesdestinadas al sistema operativo para celulares Windows Phone 7.El libro busca ser una herramienta que introduzca al lector en el mundo de la progra-macincon el lenguaje Visual Basic, a la vez que pretende ser el material de consultafuturo para llevar a la realidad determinadas soluciones de software en un corto tiempo.12 www.redusers.com 14. Visual BasicIntroduccina la plataformaCaptulo 1Bienvenidos a Visual Basic 2010 14Resea del lenguaje 14Herramientas complementarias 18Componentes de la plataforma 19El framework .NET 21Diferencias entre versiones 24Instalacin deVisual Basic 2010 26Instalacin paso a paso 26Dependencias 28Entorno de desarrollo 29Comprender la estructuradel IDE 30El sistema de ayuda 31Comprender el IDE 32Estructura de una solucin 33Desarrollo de nuestraprimera aplicacin 36Crear la solucin 36Resumen 39Actividades 40En el primer captulo de Visual Basic,repasaremos la historia de estelenguaje que fue, en muchos casos,el puntapi que inici en la programacina la mayora de los que se dedicanhoy al desarrollo de software de maneraparticular y profesional. Veremos tambinlos cambios incluidos en esta versinrespecto a sus antecesorasms recientes, y haremos un repasode su entorno de trabajo parafamiliarizarnos con la plataforma antesde iniciar los ejercicios prcticos.SERVICIO DE ATENCIN AL LECTOR: [email protected] 15. 1. INTRODUCCIN A LA PLATAFORMABIENVENIDOS A VISUAL BASIC 2010En poco ms de 30 aos, el paradigma de la programacin ha dado muchas vueltas detuerca a beneficio de las personas, al dejar de ser un mundo estrecho y cerrado a unospocos ingenieros, para convertirse en la pasin de millones de personas interesadas eneste campo. Microsoft, la empresa desarrolladora de software que contribuy muchoa cambiar el panorama de la informtica, ha jugado un papel importante en este terreno,por tener una amplia visin de futuro y prever las necesidades del usuario final, quienno solo se interesa por la computacin, sino que tambin quiere avanzar en el fasci-nantemundo de la programacin de aplicaciones para computadoras.Visual Basic 2010 permite llegar, de manera fcil y prctica, al desarrollo de apli-cacionesde escritorio, web y otros campos que hoy nos son cada vez ms cotidianos,como la telefona celular, poniendo a disposicin de los interesados la potencia y laflexibilidad de una herramienta que ya tiene ms de cuarenta aos.Figura 1. Programacin de una sentencia sobre una tarjeta perforada,propia del lenguaje Fortran, en la dcada de 1970.Resea del lenguajeEn 1964, John Kemeny y Thomas Kurtz se propusieron crear una variante dellenguaje de programacin denominado BASIC (Beginners All-Purpose SymbolicInstruction Code, Cdigo de instrucciones simblicas para principiantes orientadoa todo propsito). Si bien ya haba en el mercado varias versiones de BASIC, lagenerada en Dartmouth College por Kemeny y Kurtz fue la que ms se popula-riz.BASIC lleg para reducir de una manera notable los tiempos de aprendizaje yde escritura de un programa para computadoras. As, gracias a la visin de futurode sus propulsores, muchos estudiantes pudieron desarrollar aplicaciones en tiemporcord, algo muy valioso para esa poca.Al momento de disear el lenguaje, sus creadores tomaron como filosofa ocho prin-cipiosque deban destacar a BASIC por sobre los dems:14 www.redusers.com 16. Bienvenidos a Visual Basic 20101. Ser fcil de usar.2. Ser un lenguaje de propsito general.3. Permitir la incorporacin de caractersticas avanzadas por expertos, priorizandosu facilidad para principiantes.4. Gozar de interactividad.5. Ofrecer claros mensajes de error.6. Brindar rpida respuesta en programas pequeos.7. No requerir que los usuarios tengan conocimientos sobre hardware.8. Alejar al usuario de la complejidad del sistema operativo.Hacia 1975, la empresa fundada por Bill Gates y Paul Allen lanz su propia versinde BASIC, inspirada en una de las alternativas del lenguaje, creada por Alan Cooper,denominada Altair BASIC. El mercado sigui inundndose con ms versionesopcionales, y para fines de la dcada del 70, apareci la primera adaptada a la plata-formaApple II. En 1979, Microsoft negoci vender su licencia de BASIC a variasempresas que comercializaban microcomputadoras, incluyendo a IBM, creadora enese entonces de la computadora personal. BASIC se incorpor en los chips ROMde las IBM PC, con lo cual se puso una versin innovadora en equipos que nocontaban con disco rgido, pero que s disponan ya de una unidad de disquete.Figura 2. Visual Basic 1.0 fue el puente entre la versin BASICpara DOS y la versin Visual Basic para Windows.Aos ms tarde, Microsoft sigui distribuyendo una versin reducida de BASICjunto a su popular sistema operativo MS DOS, la cual permita a los programa-doresdisear aplicaciones que slo podan ejecutarse a travs del entorno de desa-rrolloutilizando una serie de instrucciones BATCH, para que el programa seejecutara casi sin intervencin de los usuarios poco expertos. En la entrada eradonde DOS pasaba a un segundo plano. Luego la firma lanz al mercado Visualwww.redusers.com 15 17. 1. INTRODUCCIN A LA PLATAFORMABasic 1.0, un entorno de desarrollo que facilitaba la creacin de aplicaciones conmens, ventanas y botones, pero que an corra bajo DOS. Recin en la versin2.0, desarrollada para Windows 3.0/3.1, Microsoft dej de lado el entorno grficoconstruido mediante caracteres ASCII, para dar inicio a una era distinta: la eraRAD de desarrollo de aplicaciones para Windows.Figura 3. Visual Basic 1.0 para Windows 2.x y 3.0 comenz a traerel estilo de entorno de desarrollo RAD que hoy nos es familiar en el restode los lenguajes de programacin para plataformas Windows.Desde Visual Basic 3.0, Microsoft fortaleci el desarrollo de aplicaciones RADorientado a bases de datos y dio un gran soporte al lenguaje para conectarse acualquier base entre las ms populares del mercado (Dbase, Paradox, Fox Pro),LIBRERAS VBXA partir de la versin 2 de Visual Basic se incluy una serie de libreras llamadas VBX (VisualBasic eXtensions), gracias a las cuales el programador poda disear las ventanas de la aplica-cinde manera rpida. De all proviene la denominacin RAD (Rapid Application Development,desarrollo rpido de aplicaciones) para el entorno Visual Basic.16 www.redusers.com 18. Bienvenidos a Visual Basic 2010al utilizar las libreras de enlace dinmico a travs de ODBC (Open Data BaseConnectivity). Para las bases de datos que no eran tan difundidas en ese momento,solo restaba que la empresa que las soportaba creara una librera DLL para queVisual Basic pudiera conectarse e interactuar con ellas y, as, leer, mostrar yescribir informacin en sus archivos.La versin 4.0 lleg al mercado casi al mismo tiempo que Windows 95, con lo cualse lanz una edicin doble, para 16 y 32 bits, que poda instalarse en Windows 3.1xo Windows 95, con la diferencia de que todos los proyectos creados en 16 bitspodan ser portados a 32 bits, pero no a la inversa.Visual Basic 5.0 cont con una versin lite denominada CCE (Control CreationEdition), en la que no solo era posible crear libreras DLL y archivos ejecutables,sino que tambin se habilitaba a los programadores a generar controles personali-zados,combinando dos o ms controles ActiveX existentes. Tambin se facilitaba laincorporacin de nuevos eventos y propiedades a los controles predefinidos que seincluan con el entorno de desarrollo.Figura 4. Visual Basic 6.0, a ms de una dcada de su creacin,sigue gozando de popularidad en varias empresas, como bancos,aseguradoras y compaas de tarjetas de crdito.www.redusers.com 17ACTIVEX CONTROLSDesde la versin 4.0 de 32 bits, se dej de dar soporte para los controles VBX, y se inici la erade los OCX (conocidos por todos como ActiveX Controls), junto con la capacidad de generarlibreras de enlace dinmico (.DLL) y crear programas ejecutables (.EXE). 19. 1. INTRODUCCIN A LA PLATAFORMAEn 1998 Microsoft introdujo Visual Basic 6.0. En la era donde Internet se devo-rabacualquier mercado, esta versin tuvo que aportar flexibilidad para dar paso aldesarrollo de aplicaciones web y no solo de escritorio. Con Visual Basic 6 se podancrear controles personalizados, programas ejecutables bajo la plataforma Windows,libreras DLL y aplicaciones web, incluyendo soporte para el lenguaje ASP (ActiveServer Pages), que permita generar pginas web dinmicas que se compilaban almomento de ser solicitadas en el servidor.El nuevo milenio trajo consigo un giro total de sus lenguajes de programacin, quese orientaron al framework .NET. Los ActiveX pasaron a segundo plano, y con esto,tambin varios problemas de seguridad que sufra Microsoft Windows.Herramientas complementariasCrystal Reports fue el primer software para la generacin de reportes visualmenteatractivos, que perteneca a una empresa ajena a los intereses de Microsoft, pero quesupo complementarse bien con este lenguaje para triunfar.Microsoft Access, base de datos que pertenece an hoy al paquete ofimtico Micro-softOffice, es otro complemento ideal para quienes buscan crear aplicacionespequeas que no requieran de un potente y costoso motor de base de datos.Microsoft SQL Server, desde la versin 4.x, comenz a ser un aliado para VisualBasic en el desarrollo de aplicaciones empresariales que requirieran un robusto motorde base de datos y necesitaran manejar grandes volmenes de informacin.Figura 5. Una versin lite de Crystal Reports fue distribuidacon Visual Basic desde la versin 4.0 hasta la 6.0. En tan solo siete pasos visuales,era posible obtener un informe estticamente profesional, sin ningn esfuerzo.18 www.redusers.com 20. Bienvenidos a Visual Basic 2010Componentes de la plataformaMicrosoft Visual Studio es una plataforma para desarrollo de software integrada porvarios lenguajes de programacin: Visual C++, Visual C#, ASP.NET y Visual Basic.NET. Los programadores de aplicaciones independientes suelen utilizar un lenguajeespecfico, mientras que las empresas que se dedican a brindar soluciones de softwarede mediana a gran escala en general emplean ms de uno, dependiendo de la nece-sidaddel cliente. Visual Basic se integr a esta suite de lenguajes desde su versin 6.0.Microsoft pens en desarrollar el framework .NET a fines del ao 2000, y fueentonces cuando cambi la orientacin de programacin de todos sus lenguajes,incluyendo Visual Basic, que dej de estar orientado a eventos y pas a ser unlenguaje de programacin orientado a objetos.Figura 6. Las Windows API ayudaban a muchos lenguajes de programacin a resolver lacomunicacin con recursos de Windows usando pocas lneas de cdigo. Visual Basic, antesde la era .NET, inclua un Visor de API, para conseguir fcilmente el cdigo que necesitramos.La primera versin de Visual Basic .NET se lanz en 2002, para trabajar con elframework .NET versin 1. Un ao ms tarde, lleg la versin 1.1 del framework,www.redusers.com 19CRYSTAL REPORTSEs considerado como el mejor complemento para cualquier lenguaje de programacin que nece-sitadistribuir informes listos en tiempo record para imprimir siguiendo ciertos parmetros deuna base de datos. Aunque ya no se distribuye su versin lite con Visual Studio, es convenienteadquirirlo para agilizar los tiempos de desarrollo. 21. 1. INTRODUCCIN A LA PLATAFORMAque trajo a la luz la versin 2003 de Visual Studio. Se incluy en ella el soporte paradesarrollo de aplicaciones para dispositivos mviles, como Windows CE o lasprimeras versiones de Windows Mobile a travs del Compact Framework.Figura 7. Compact Framework .NET, junto con los avancesde la telefona celular, permiti desarrollar aplicaciones para telfonosmviles tan fcilmente como si se tratase de una computadora.El cambio sustancial que trajeron las herramientas de Visual Studio 2005 incluyun nuevo modo de conexin a bases de datos, dado que, de la facilidad que tenaVisual Basic 6.0 para interactuar con ellas en su modelo conocido como ADO,Microsoft salt a una gran complejidad que muchos programadores nunca lograronadoptar. Recin la versin 2005 de Visual Studio volvi a ofrecer un modelo deconexin a bases de datos prctico y fcil de entender. Tambin comenz a brin-darsesoporte para aplicaciones de 64 bits, mucho mejores para sacar provecho delos nuevos procesadores multincleo que aparecieron en el mercado.Visual Studio 2008 aadi soporte para interactuar con el framework .NET 2.0, 3.0y 3.5, e incluso mejor las ventajas de trabajo para el nuevo sistema operativo de Micro-soft,Windows Vista, al permitir la creacin de programas del tipo WindowsCommunication Foundation (WCF) y Windows Presentation Foundation(WPF). WCF permite crear aplicaciones del tipo de servicios Windows, mien-trasque WPF apunta a generar interfaces de usuario ms dinmicas que las permi-tidaspor Visual Basic en ese momento.La ltima versin de Visual Studio es la 2010, lanzada en abril y preparada parainteractuar con el framework .NET 4.0. Todas las herramientas de programacinque componen este paquete de productos, incluyendo Visual Basic, fueron optimi-zadaspara generar programas para Windows, servicios de Windows, web, mvilesy para el shell de Windows: Windows Deskbar.20 www.redusers.com 22. Bienvenidos a Visual Basic 2010Figura 8. Los gadgets de escritorio para Windows Vista y 7 tambinpodrn ser desarrollados con Visual Basic 2010.El framework .NETEl framework .NET fue creado por Microsoft en respuesta al crecimiento inin-terrumpidode los negocios en entornos web. Inspir su filosofa en la plataformaJava de Sun Microsystems y de PHP, otro lenguaje de programacin de pginasweb que vena causando furor entre los desarrolladores de sitios dinmicos. Suestructura fue pensada para ofrecer el desarrollo prctico, seguro y robusto deaplicaciones web y Windows Forms. A la vez, permiti a la empresa darle unnuevo rumbo a su mercado de negocios, apuntando todos sus productos, hastael sistema operativo, a centralizarse en una solucin encapsulada mucho ms gila la que propona la estructura de objetos COM.El framework .NET se convirti en un componente de software que se puede aadirdentro del sistema operativo Windows. En l se agrupa un conjunto de solucionespredefinidas como clases que se comunican con todas las funciones del sistemaoperativo y, as, permite cubrir las necesidades generales para el desarrollo de apli-caciones.Se encarga de administrar, como una capa intermedia, las funciones de losprogramas que ejecutan diversas acciones sobre el entorno Windows.www.redusers.com 21MICROSOFT MSDNEl sitio web MSDN, http://msdn.microsoft.com, es un gran apoyo complementario para cualquierherramienta de programacin. En l se incluyen muchos ejemplos con cdigo fuente paradescargar y testear en forma gratuita. Es recomendable navegar su versin en ingls, quesiempre es ms completa en cuanto a recursos que la ofrecida en espaol. 23. 1. INTRODUCCIN A LA PLATAFORMAEl framework se divide en dos versiones: la que se instala para interactuar dentrode la familia de sistemas operativos Windows (desde 98 en adelante), y la redu-cida,para funcionar en telfonos celulares y dispositivos ultraportables, conocidacomo Compact Framework.Figura 9. Aqu podemos ver las distintas versiones del framework .NET juntocon sus fechas de lanzamiento y las mejoras incluidas en cada una de ellas.El framework est integrado por tres componentes clave: La biblioteca de clases base (BCL, Base Class Library). El entorno comn de ejecucin de lenguajes (CLR, Common Languages Runtime). Los lenguajes de programacin (principalmente, los incluidos en Visual Studio).BCLLa biblioteca de clases base se encarga de agrupar casi todas las operaciones utili-zadasen el desarrollo de una aplicacin, como la interactividad con hardware, laadministracin de memoria, el manejo de datos (conocido como ADO.NET), laWEB OFICIAL DE VISUAL STUDIO 2010Recordemos visitar el sitio web oficial del conjunto de herramientas Visual Studio, porque enella nos enteraremos de las nuevas versiones y fixes, comprenderemos mejor las diferenciasque surgen entre sus distintas versiones, y estaremos al tanto de las futuras ediciones:www.microsoft.com/visualstudio/en-us.22 www.redusers.com 24. Bienvenidos a Visual Basic 2010interaccin en las comunicaciones mediante el protocolo TCP/IP o a travs deXML, los componentes que corren tanto en un servidor web como en la compu-tadoracliente, la administracin de los datos en memoria, las ventanas creadaspor la aplicacin, el manejo de excepciones (errores), los grficos GDI+, la inte-raccinentre aplicaciones, las operaciones matemticas, los archivos de imgenes,el manejo de culturas e idiomas, la interaccin con la API de Windows, y otrasfunciones ms del sistema operativo.Todo esto est estructurado dentro de BCL mediante espacios de nombres jerr-quicos,que veremos ms adelante. La biblioteca de clases base se organiza en cuatrogrupos clave detallados a continuacin: ASP.NET y servicios XML Windows Forms ADO.NET El entorno .NET en sCLRCommon Language Runtime es el ncleo del framework .NET. A travs de esteentorno de ejecucin, las aplicaciones desarrolladas con esta tecnologa son inter-pretadasy ejecutadas. CLR interpreta el cdigo de cualquiera de los lenguajes deprogramacin escritos para trabajar con .NET. El cdigo de cada aplicacin escompilado a travs de MSIL (Microsoft Intermediate Language), un lenguaje inter-mediosimilar al BYTECODE empleado por Java. Esta compilacin se generautilizando las especificaciones basadas en CLS (Common Language Specification),para terminar siendo ejecutado a travs del compilador JIT (Just In Time), queproduce el cdigo mquina para que el programa sea interpretado por el proce-sadorde la computadora donde corre. As es como .NET se independiza de laplataforma en la que se ejecuta, sin importarle el tipo de hardware usado. Unavez compilada la aplicacin, esta es almacenada en la memoria cach de lamquina que la ejecut, y solo vuelve a ser recompilada en caso de que sea modi-ficadoparte de su cdigo fuente.Lenguajes de programacinActualmente, el framework .NET soporta los lenguajes de programacin C#,Visual Basic, Object Pascal (Delphi), C++, J# (que se ha discontinuado a partirde la versin 2010 de Visual Studio), Perl, Python, Fortran, Cobol, Power-Builder, Prolog, y el recientemente incorporado F#, entre otros. Cualquierpersona o empresa puede publicar un lenguaje de programacin orientado hacia laplataforma .NET siempre y cuando respete la convencin propuesta por Micro-soft,la cual garantiza el correcto funcionamiento de una solucin basada en soft-waredentro de la computadora en que es ejecutada.www.redusers.com 23 25. 1. INTRODUCCIN A LA PLATAFORMAFigura 10. En el sitio web de Microsoft .NET Framework podemos estaral tanto de las ltimas novedades, y de las nuevas descargas y parches disponibles:http://msdn.microsoft.com/es-ar/netframework/default.aspx.Diferencias entre versionesVisual Basic 2010, como tambin el resto de los lenguajes que componen la suite VisualStudio 2010, dispone de diferentes versiones en el mercado: Express Edition,Standard Edition, Professional Edition y Team System Edition.Edicin ExpressLa edicin Express de Visual Studio 2010 es una edicin gratuita del conjunto delenguajes orientada hacia el mbito educativo. Con este entorno, podremos crear apli-cacionesdel tipo Windows Forms, Windows Presentation Foundation, aplicacionesde consola, biblioteca de clases y aplicaciones del explorador de Internet WPF.Las Windows Forms nos permiten crear aplicaciones ejecutables. Las WPF sonaplicaciones tambin instalables en Windows, pero no son ejecutables comoWindows Forms, sino XML apps similares, por ejemplo, a los gadgets utilizadosen la barra lateral de Windows Vista y 7.Las aplicaciones de consola se ejecutan en la lnea de comandos. Con ellas, porejemplo, podemos crear servicios de Windows.Las bibliotecas de clases son archivos .DLL (Dynamic Link Library), que permiteninteractuar a las aplicaciones creadas con cualquier lenguaje de programacin, quese pueda ejecutar en Windows, a travs de lo que se conoce como API (ApplicationProgramming Interface).Las aplicaciones de Explorador de Internet WPF son programas iguales a las WPF,pero que corren desde un navegador web, como Microsoft Internet Explorer.Todas estas aplicaciones tienen su limitacin dentro de Windows, propia de unaversin Express: no pueden conectarse a bases de datos remotas, el soporte para24 www.redusers.com 26. Bienvenidos a Visual Basic 2010crear clases es limitado y no es posible desarrollar programas comerciales (convalor monetario en el mercado), segn el cluf.Figura 11. Visual Studio 2010 Express incluye los lenguajesde la suite en sus versiones reducidas y tambin ofrece probar la edicinProfessional durante 30 das antes de comprarla.Edicin StandardEs una edicin paga de los lenguajes que componen la suite. Con ellos es posiblecrear el mismo tipo de aplicaciones que con las versiones Express, pero con alcancesorientados al uso comercial. Incluye un mayor soporte para la creacin de clases ypermite crear instaladores del tipo ClickOnce para nuestros desarrollos.Edicin ProfessionalBrinda soporte a los componentes de las ediciones Standard y Express, y tambin incluyeintegracin con SQL Server, al permitir crear las bases de datos desde el mismo entornode Visual Basic. Ofrece depurador remoto de aplicaciones y desarrollo de programaspara telfonos mviles que corran Windows Mobile o el nuevo Windows Phone 7.VERSIONES PARA ESTUDIANTESwww.redusers.com 25Microsoft ha suscripto convenios con diversas universidades de todo el mundo, a partir de los cualeslos estudiantes que se acrediten como alumnos regulares podrn adquirir la versin Professionalde Visual Studio 2010 y SQL Server 2008 en forma gratuita. En www.dreamspark.com es posibleverificar qu universidades figuran en la lista. 27. 1. INTRODUCCIN A LA PLATAFORMAEdicin Team SystemAdems de soportar todo lo mencionado para las ediciones anteriores, incluye herra-mientascolaborativas, destinadas a monitorear un equipo de desarrollo completo,presentar informes y gestionar las tareas de dichos equipos. Tambin incluye uncontrol de versiones conocido como Team Foundation Server.Instalacin de Visual Basic 2010Luego de haber hecho un repaso por la historia de este fascinante lenguaje deprogramacin y de haber visto sus caractersticas principales, prepararemos elterreno para instalar la aplicacin en nuestra computadora y, as, comenzar aanalizar en profundidad el lenguaje en s.El propsito de este libro es tomar la edicin Express como base para aprenderlas caractersticas principales. Con ella, ser ms que suficiente para aprender ellenguaje y sus caractersticas ms relevantes.Cabe aclarar que todos los ejercicios que haremos con la edicin Express puedentrasladarse a otras versiones superiores.Instalacin paso a pasoDesde la web oficial de Microsoft descargamos la versin Express del paquete VisualStudio. Podemos bajar solo Visual Basic 2010, pero dado que ms adelante estu-diaremosprogramacin web mediante ASP.NET, precisaremos una herramientaadicional denominada Visual Web Developer 2010.Figura 12. Desde el sitio oficial de Microsoft (www.microsoft.com/express/Downloads)podemos descargar la versin Express de Visual Studio 2010.26 www.redusers.com 28. Bienvenidos a Visual Basic 2010Requisitos del sistemaLos requerimientos bsicos que permiten correr las versiones Express o Profes-sionalde Visual Studio 2010 son: Procesador de 1,6 GHz o superior. Memoria RAM de 2 GB como mnimo para la versin Professional, y de 1 GBpara la Express, slo si se tiene XP como sistema operativo. De 4 a 7 GB de espacio en disco rgido, dependiendo de los componentes de lasuite que elijamos instalar en nuestra computadora. Windows XP Service Pack 3, Vista, 7, Seven y para servidores Windows, desdeWindows 2003 SP2 en adelante.Descargar Visual Basic o Visual Studio 2010Desde la web de Microsoft podemos descargar la versin Express de Visual Studio.De ella slo estudiaremos Visual Basic 2010, con lo cual al iniciar el proceso,podemos optar por instalar nicamente Visual Basic si as lo deseamos. Nuestra reco-mendacines descargar e instalar la suite completa de Visual Studio, dado que, enel futuro, nos facilitar instalarla en otra computadora o tenerla a mano para reins-talar.Para hacerlo, de las opciones listadas en pantalla, elegimos All - Offline InstallISO image file. Luego de obtener la imagen de instalacin en formato .ISO, con unprograma grabador de DVD, creamos el disco de instalacin. Una vez finalizadoeste paso, damos inicio a la instalacin.Iniciar proceso de instalacinInsertamos el disco de instalacin en la unidad correspondiente de nuestro equipoy aguardamos unos segundos hasta que se abra la pantalla principal.Desde el men que se presenta, elegimos instalar dos de las aplicaciones listadas,que utilizaremos a lo largo de este libro: Visual Basic 2010 y Web Developer2010. Haciendo clic sobre Visual Basic 2010 se iniciar la instalacin. Duranteeste proceso, seguramente se descargarn componentes adicionales desdeInternet, con lo cual el tiempo de instalacin promedio puede variar. Cuandotermina esta etapa, procedemos a instalar Visual Web Developer 2010; esto serDEMORAS EN LA INSTALACIN DE VISUAL BASIC 2010www.redusers.com 27Visual Basic 2010, como el resto de las aplicaciones que componen Visual Studio, requierenel framework .NET 4.0. Si este no fue instalado previamente, se descargar la versin nece-sariadesde la Web y se la instalar en la computadora, para recin luego continuar con laconfiguracin del resto de los componentes. 29. 1. INTRODUCCIN A LA PLATAFORMAmucho ms rpido porque la mayora de los componentes externos necesarios yahabrn sido instalados por Visual Basic 2010.Figura 13. El men principal de Visual Studio 2010 desde dondepodemos instalar todas las versiones gratuitas de la plataforma. Este menes una aplicacin de navegador creada con el propio Visual Studio.DependenciasPara poder desarrollar los ejercicios que se presentan en este libro, dependeremosde herramientas adicionales que complementarn al lenguaje de programacin.A continuacin, detallamos cules son.Versiones del framework .NETEn la actualidad, se encuentra en el mercado la versin 4.0 del framework .NET.Tanto Visual Basic 2010 como el resto de las herramientas que componen VisualStudio 2010 nos dejan trabajar solo con esta ltima versin. Visual Studio 2008permita interactuar con ms de un framework, que poda elegirse al iniciar elproyecto, pero no se poda cambiar por una versin superior ni por una anterioruna vez iniciado el desarrollo. A partir de esta versin de la suite, se brinda soportea los frameworks 2.0, 3.0 y 3.5.SQL Server Express / ProfessionalEn el Captulo 5 introduciremos el concepto de base de datos y veremos cmotrabajar con ellas desde Visual Basic 2010. Para hacerlo, utilizaremos SQL Server2008 Express Edition, que se instala junto con Visual Basic 2010.28 www.redusers.com 30. Entorno de desarrolloFigura 14. Junto con la instalacin completa de Visual Studio 2010se instala la herramienta Centro de instalacin de SQL Server. Desde ella podemosacceder a la ayuda, las actualizaciones y otros recursos para esta base de datos.La instalacin de SQL Server 2008 que realizaremos corresponde solo al motor de basede datos. Para trabajar con la base de manera cmoda, necesitaremos instalar la interfazgrfica que nos permita llevar a cabo esta tarea. SQL Server 2008 Management StudioExpress Edition se puede descargar de manera gratuita desde la web de Microsoft:www.microsoft.com/downloads/details.aspx?displaylang=esFamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b.Una vez descargado este componente, pasamos a instalar la aplicacin. Con esteltimo paso, ya disponemos en nuestra computadora de las herramientas necesariaspara llevar adelante el aprendizaje de esta nueva edicin de Visual Basic.ENTORNO DE DESARROLLOQuienes hayan trabajado con versiones anteriores a Visual Basic 2010 notarn queel entorno de desarrollo prcticamente no ha cambiado.VERSIONES DE SQL SERVERwww.redusers.com 29Tanto SQL Server como Visual Studio cuentan con versiones pagas y gratuitas; estas ltimas,con ciertas limitaciones. Los ejercicios que realizaremos con bases de datos podrn llevarsea cabo tanto con la versin gratuita como con la paga de SQL Server 2008. Tambin es posibleutilizar la versin 2005 de esta base de datos. 31. 1. INTRODUCCIN A LA PLATAFORMAFigura 15. As es el entorno de desarrollo que ofrece Visual Basic 2010.Desde l podremos crear nuevas aplicaciones, abrir soluciones ya generadas, y estaral tanto de las ltimas novedades provistas por el cliente RSS de Microsoft.Dentro del entorno de trabajo de Visual Basic 2010 encontramos la Barra demens, la Barra de herramientas, el Cuadro de herramientas, el Explorador desoluciones y una pestaa denominada Pgina principal. Estos elementos son losnecesarios para crear nuestros proyectos.Comprender la estructura del IDEDesde la pgina principal del IDE podemos iniciar un Nuevo proyecto o abrirun Proyecto existente, los cuales se detallarn en la lista de Proyectos recientes.En esta misma pestaa tendremos acceso a las webs preparadas por Microsoft,donde encontraremos informacin adicional sobre Visual Basic y Visual Studio,ejemplos rpidos para estudiar y otros beneficios adicionales, como video tuto-rialesy el canal RSS a travs del cual podremos conocer las ltimas novedadesde Visual Basic y Visual Studio 2010, como as tambin los futuros ServicesPacks y versiones de prueba de nuevos productos.LIBRERAS Y OBJETOS COM ANTIGUOSSi disponemos de libreras OCX u objetos COM, DLL o dems componentes utilizados enversiones anteriores de Visual Studio .NET, podemos testear su compatibilidad agregndolosdesde el Cuadro de herramientas. Solo tenemos que presionar el botn derecho del mouse y,del men emergente, seleccionar Elegir elementos.30 www.redusers.com 32. El sistema de ayudaVisual Basic 2010 contiene un sistema de ayuda enlazado con la web de MSDN, atravs del cual podremos acceder puntualmente a lo que necesitemos consultar.Al iniciarlo por primera vez, Visual Basic 2010 nos notificar que es preciso elegirun sistema predeterminado para la ayuda. Si disponemos de conexin a Internet,siempre nos convendr ver el contenido de ayuda de Internet en vez del sistema deayuda local, ya que este ltimo no tendr actualizaciones inmediatas. La ayuda servisualizada en una pestaa dentro del IDE de trabajo de Visual Basic 2010.Figura 16. Visual Basic dispone de un sistema de ayudacon el cual podemos consultar sobre cualquier herramientao elemento del IDE para as evacuar nuestras dudas.Al comenzar a utilizar Visual Basic 2010, el sistema nos avisar que debemosregistrarnos; aunque hayamos instalado la versin Express, tendremos quehacerlo. El proceso es rpido y gratuito. Una vez llevado a cabo este paso, reci-biremosun correo electrnico en nuestra cuenta para que ingresemos en el IDEde Visual Basic y quedemos registrados.Entorno de desarrolloVENTANAS Y SOLAPAS DEL IDEwww.redusers.com 31El entorno IDE de Visual Basic 2010, como el resto de Visual Studio, es totalmente persona-lizable.Si queremos esconder el Cuadro de herramientas o el de propiedades, solo debemosrealizar un clic en el pin superior de cada pestaa, y se ocultar. Para volver a verlo, posicio-namosel mouse otra vez sobre dicha solapa. 33. 1. INTRODUCCIN A LA PLATAFORMAFigura 17. Al registrar nuestro producto Visual Basic 2010, obtendremosla clave en la cuenta de correo electrnico ingresada. Con ella podremos instalar VisualBasic 2010 en otras mquinas sin necesidad de volver a registrar la copia Express.Comprender el IDEComo mencionamos anteriormente, el IDE agrupa todo lo que necesitamos paratrabajar dentro del entorno de desarrollo de Visual Basic 2010, por eso es suma-menteimportante conocerlo en detalle (Gua Visual 1). El hecho de familiarizarnoscon el IDE de Visual Basic 2010 nos permitir, en el futuro, saber cmo manejarnoscon otros lenguajes de programacin de la plataforma, dada la similitud con los otroslenguajes de Visual Studio 2010. Tambin nos ayudar a que nuestros desarrollossean ms productivos y puedan realizarse en un corto tiempo. IDE de Visual Basic 2010 GUA VISUAL 132 www.redusers.com 34. Entorno de desarrolloMens: agrupa las funciones de personalizacin del IDE, la ayuda, la visualiza-cinde las ventanas contenedoras de herramientas, el acceso a propiedades, yla funcin de compilacin de proyectos.Barra de herramientas: en ella se pueden agrupar los principales botones equi-valentesa las funciones ms utilizadas de los mens. La barra principal incluyelas funciones de iniciar un nuevo proyecto, guardar, agregar uno o ms objetosal proyecto, compilar y depurar, entre otras.Cuadro de herramientas: agrupa los controles que permiten disear la interfazgrfica de las aplicaciones (botones, cajas de texto, grilla de datos, etc.). Algunoscontroles pueden no estar visibles al momento de ejecutar nuestro software.Editor de cdigo: es el rea de trabajo donde escribimos las sentencias queejecutar el programa para funcionar.Explorador de soluciones: en l se listarn todos los archivos y recursosinternos y externos que componen un proyecto.Ventana de propiedades: desde ella podemos asignar el nombre a formulariosy controles, y ajustar las propiedades de cada uno de ellos, la posicin enpantalla, las fuentes y los colores, entre otras caractersticas.Ventana de inmediato: aqu veremos en modo depuracin los valores asignadosa variables o a las propiedades de nuestros controles y objetos.Lista de errores: la lista de errores, advertencias y mensajes nos mantendrinformados sobre las equivocaciones cometidas al escribir el cdigo y que elmotor de depuracin detecte. Tambin permite evaluar datos de variables oespacios de nombre no declarados, entre otras advertencias.Estructura de una solucinVisual Basic denomina solucin a aquellos proyectos que iniciamos, y que guardarnla interfaz y el cdigo fuente de una aplicacin.Dependiendo del tipo de proyecto de que se trate, la estructura de una solucinpuede llegar a variar. No es igual la de una solucin Windows Forms que la de unaDESCARGA DE VISUAL BASIC 2010 EXPRESS EDITIONwww.redusers.com 33Si no queremos descargar la suite completa de Visual Studio 2010, podemos bajar solo VisualBasic 2010 Express Edition desde www.microsoft.com/express/Downloads. Se descargar anuestro disco un simple ejecutable que comprobar los requisitos de la computadora y obtendrtodos los componentes adicionales necesarios para Visual Basic 2010. 35. 1. INTRODUCCIN A LA PLATAFORMAsolucin Aplicacin de consola. La primera contendr forms, mdulos, archivode recursos, mdulos de clases e imgenes externas, mientras que la segundatendr uno o ms mdulos, mdulos de clase y recursos externos, pero no tendrforms ni imgenes externas.Figura 18. En el Explorador de soluciones podemosver todos los archivos que contiene nuestra solucin,as como agregar y eliminar otros que necesitemos.Carpetas y archivos que componen una solucinLas carpetas y los archivos que componen una solucin se guardan por defecto enuna ruta especfica dentro de %profile%DocumentosVisual Studio 2010Projects.Esta ruta puede cambiarse si necesitamos concentrar todos los proyectos en un nicoservidor de archivos o disco de red.Si deseamos reorganizar dnde guardar nuestros proyectos antes de comenzar conlos ejercicios del libro, este es el momento justo para modificar la ruta de acceso denuestra carpeta. Para hacerlo, vamos al men Herramientas/Opciones, marcamosMostrar todas las configuraciones y, del panel izquierdo, seleccionamosProyectos/Soluciones/General y all especificamos la carpeta donde queremos alma-cenarlos proyectos, como muestra la Figura 19.MODIFICAR CDIGO SIN RECOMPILARA partir de la versin 2002 de Visual Basic se elimin la posibilidad de cambiar cdigo mientrasse ejecutaba una aplicacin. Esta caracterstica permiti, hasta la versin 6.0 de Visual Basic,verificar las variables, corregir el cdigo de las rutinas y volver a ejecutarlo sin necesidad dedetener la aplicacin e iniciarla otra vez.34 www.redusers.com 36. Entorno de desarrolloFigura 19. Desde la ventana Opciones podemos personalizar a fondoel IDE de Visual Basic. Es ideal dedicarle un tiempo a esta herramientapara conocer bien todo lo que podemos cambiar en l.En la Tabla 1 vemos una breve descripcin de cada tipo de archivo o carpeta quecompone una solucin, con su funcin principal.COMPONENTE TIPO DESCRIPCINBIN Carpeta Carpeta donde se compila el programa.DEBUG Carpeta Carpeta donde se compila y depura el programa.Resources Carpeta Carpeta donde se almacenan recursos externos, como archivos de imgenes.Archivo.VB Archivo Archivos del tipo forms o mdulos donde se almacena el cdigo escrito junto con el diseovisual de la solucin.Archivo.PFX Archivo Archivo que genera un identificador nico para la aplicacin.Archivo.SLN Archivo Solucin de Visual Basic; es el archivo que contiene la informacin de todos los archivosy carpetas que componen un desarrollo.Archivo.SUO Archivo Archivo que almacena la informacin de personalizacin del IDE realizada por el usuario.Tabla 1. Aqu podemos apreciar la extensin y funcin de cada archivoque compone la solucin en Visual Basic 2010.Visual Basic agrupa las carpetas y los archivos pertenecientes a una solucin dentro deun nico lugar. Si bien podemos adicionar archivos externos, estos generalmente debenser copiados de manera local a la carpeta contenedora de la solucin, por una cuestinde seguridad. Podemos optar por dejar la ruta relativa al archivo que incorporemos anuestra solucin, pero Visual Basic siempre nos recomendar hacer una copia local.Dentro de nuestra solucin podemos crear subcarpetas para almacenar archivosen forma estructurada. Esto permitir, por ejemplo, que proyectos de cientos deforms sean estructurados en la solucin dentro de subcarpetas denominadas conel nombre del men al que pertenece cada uno.www.redusers.com 35 37. 1. INTRODUCCIN A LA PLATAFORMAPodemos agregar nuevos archivos a nuestra solucin actual, de manera muy prc-tica.Dichos archivos pueden crearse a partir de las plantillas que incluye VisualStudio 2010, con lo cual acortaremos ms los tiempos de desarrollo y no tendremosque invertir media hora en disear una pantalla de Login o un cuadro Acerca de.Para incorporar un archivo a nuestra solucin a partir de una plantilla, debemosdirigirnos a la solapa Explorador de soluciones, hacer clic derecho del mouse sobreel nombre de la solucin y, en el men, seleccionar Agregar/Nuevo elemento. Apare-ceruna ventana que nos permitir seleccionar entre varias opciones. En la Figura 20se muestran algunas de las disponibles.Figura 20. La ventana de plantillas permite acortar los tiemposde desarrollo y diseo, aprovechando desde un simple mdulo de clase prediseadoo un Windows Form, hasta una base de datos basada en un servicio web.DESARROLLO DE NUESTRA PRIMERA APLICACINHasta aqu hemos realizado un repaso por las caractersticas bsicas que necesitamosconocer antes de iniciar un desarrollo. A partir de ahora, comenzaremos a usar elentorno de Visual Basic para llevar adelante nuestra primera aplicacin, que invo-lucraralgunas sentencias bsicas sobre una solucin del tipo Windows Forms.Crear la solucinPara crear la solucin que contendr los archivos de nuestro primer programa,podemos optar por diferentes maneras de iniciarla: desde el men Archivo/Nuevo36 www.redusers.com 38. Desarrollo de nuestra primera aplicacinproyecto; desde el primer icono de la Barra de herramientas, Nuevo proyecto; presio-nandola combinacin de teclas CTRL + N; o, al iniciar Visual Basic 2010, seleccio-nandola opcin Nuevo proyecto de la Pgina principal. A continuacin, veremos laventana Nuevo proyecto, de donde seleccionamos Aplicacin de Windows Forms.Figura 21. Aqu podemos ver la ventana Nuevo proyectoy las diferentes opciones que nos ofrece Visual Basic 2010.La nueva aplicacin que aparece en pantalla es una pestaa con un Windows Form vaco,listo para agregarle controles. En la pestaa Explorador de soluciones encontraremos elnombre de nuestra solucin junto con dos archivos ms: My Project y Form1.VB.Cambiamos en un principio el nombre de la aplicacin, de WindowsApplication1 aHolaMundo. Para esto, hacemos clic derecho del mouse sobre el ttulo y, del mencontextual, seleccionamos Cambiar nombre.Objetivo del primer proyectoEn nuestro primer proyecto vamos a usar un control Label y a escribir las primeraslneas de programacin. El Label mostrar en la ventana principal la informacinque agregaremos a una variable interna del programa.Figura 22. Nuestra primera solucin codificada. El clsico Hola Mundo.www.redusers.com 37 39. 1. INTRODUCCIN A LA PLATAFORMACodificacinPara incluir un Label en el programa, solo debemos buscarlo en el Cuadro de herra-mientasy arrastrarlo hacia el formulario Form1. Una vez realizado este paso, podemoscambiar el tamao de la fuente por defecto del Label a uno mayor. Para esto, hacemosun solo clic sobre l y, en la ventana Propiedades, buscamos Font y Forecolor. En Fonthacemos un clic sobre el lateral derecho de la propiedad y seleccionamos la fuentede nuestra preferencia, le damos un tamao 16 y estilo Negrita. En la propiedadForeColor desplegamos el combo mostrado sobre el lateral derecho y, de las opcionesdisponibles, elegimos la pestaa Personalizado. All seleccionamos un color, evitandoel gris, ya que se perdera nitidez debido al color de Form1.Una vez ajustadas las propiedades bsicas de la solucin, escribimos las primeraslneas de cdigo que darn vida al programa. Hacemos doble clic en cualquier partede Form1; se abrir una pestaa con el siguiente cdigo:Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.LoadEnd SubEnd ClassLa primera lnea de cdigo Public Class Form1 indica que Form1 es declarado comoun objeto, y que cada control ubicado dentro de l ser un objeto tambin.Dentro de la clase Form1 encontramos la sentencia Private sub Form1_Load().Todo el cdigo contenido en ella ser ejecutado inmediatamente cuando seproduzca el evento de carga de esta ventana.Entre Private Sub Form1_Load y End Sub escribimos el siguiente cdigo que darvida a nuestra primera aplicacin:Dim strSaludo as stringStrsaludo = Hola Mundo. Esto hace mi primer cdigo Visual Basic 2010.Label1.text = strSaludoEjecucin del proyectoAntes de ejecutar la solucin, debemos guardarla, para lo cual presionamos elbotn Guardar Todo y, en la ventana que se presenta, ingresamos el nombre quele daremos al proyecto. Por defecto, se ofrece el nombre de proyecto igual a como38 www.redusers.com 40. Desarrollo de nuestra primera aplicacindenominamos la solucin. La ruta de guardado ser la especificada de manerapredefinida por Visual Basic 2010 o la que hayamos configurado nosotrosmismos al editar las preferencias del entorno.Para ejecutar nuestra primera aplicacin, podemos presionar la tecla F5 o ir almen Depurar/Iniciar depuracin. As podremos apreciar nuestra aplicacin enejecucin. Si bien este primer ejercicio es muy simple, al hacerla aprendimos losaspectos bsicos que necesitamos tener en cuenta cuando escribimos cdigo y laubicacin de las herramientas de Visual Basic IDE.Figura 23. Presionando la tecla F5, conseguimos ejecutar la aplicacin,tal como si fuese un programa independiente.www.redusers.com 39RESUMENHasta aqu hemos podido repasar brevemente la historia de este fascinante lenguaje deprogramacin desde sus inicios en el antiguo sistema operativo DOS, y vimos cmo ha crecidocon el tiempo, primero transformndose en una aplicacin RAD de desarrollo de software paraWindows, pasando por su adaptacin en la versin 6.0 al mundo web, hasta convertirse en unverdadero lenguaje orientado a objetos desde que comenz a llamarse .NET. Tambin reco-rrimossus distintas versiones, vimos cmo instalarlo y movernos en su entorno, y de qumanera realizar la primera aplicacin. 41. ACTIVIDADESPREGUNTAS TERICAS1. Qu es Visual Studio?2. Qu versin del framework .NET se nece-sitapara trabajar con Visual Basic 2010?3. Visual Basic 2010 permite integrar librerasVBX en el desarrollo de aplicaciones?4. Nombre al menos tres tipos de aplicacionesque pueden desarrollarse con MicrosoftVisual Basic 2010.5. Es necesario tener la versin Professionalo superior de Visual Basic para desarrollaraplicaciones XAML?6. Hay que instalar toda la suite de VisualStudio 2010 para desarrollar software?7. Solo se pueden crear las aplicaciones deconsola con la versin para DOS de VisualBasic?8. El entorno de Visual Basic es personali-zable40 www.redusers.compor el usuario, y esta configuracin esguardada en el archivo de extensin .VB.Es esto correcto?9. Es posible en Visual Basic 2010 pausar elsoftware en ejecucin para modificar unfragmento de cdigo sin recompilarlo?10. El CLR agrupa las clases bsicas queconforman el nico namespace necesariopara programar con cualquier lenguaje deVisual Studio. Es esto correcto? 42. Visual BasicFundamentosde Visual BasicCaptulo 2Conceptos del lenguaje 42Cmo programaren Visual Basic 42Palabras reservadas 43Tipos de datos 45Uso de variables 50Convertir tipos de datos 53Arrays y enumeraciones 56Colecciones 60Formularios 65Qu es un formulario 65Agregar ms de un formulario 66Iniciar y ocultar formularios 67Instrucciones bsicas 67If else 68Elseif 69Ejemplo Elseif 69For Next 69Select case 72Procedimientos 73Funciones 75Ejemplo prctico conprocedimientos y funciones 80Resumen 83Actividades 84Realizaremos una introduccin alconcepto del lenguaje que luego nosacompaar en el desarrollo de todos losejemplos de este libro. Conoceremos laspalabras reservadas y los tipos de datos,utilizaremos variables dentro del sistemay veremos los diferentes tipos dedeclaraciones que podremos hacer.Tambin trabajaremos con WindowsForms, repasaremos las instruccionesbsicas del programa, y aprenderemoslas principales diferencias entre losprocedimientos y las funcionesSERVICIO DE ATENCIN AL LECTOR: [email protected] 43. 2. FUNDAMENTOS DE VISUAL BASICCONCEPTOS DEL LENGUAJEDesde el nacimiento de .NET, la plataforma de desarrollo Visual Basic ha evolu-cionadoen pos de la programacin orientada a objetos. Esto permite a los progra-madorescentralizarse en el diseo de aplicaciones Windows, Web y las actualesbasadas en XAML, y reducir de manera considerable la escritura de cdigo paragenerar una UI (User Interface) amigable. Esto es, justamente, lo que hace que estelenguaje de programacin haga honor a su nombre: el desarrollo Visual.La integracin de elementos prearmados conocidos como componentes, que seagrupan dentro del framework .NET, permite arrastrarlos y soltarlos sobre unformulario para as lograr una interfaz visual en apenas unos minutos. Luego, solodeberemos concentrarnos en codificar nuestra solucin para que cumpla la funcinnecesaria de todo programa: la interaccin entre la computadora y el usuario final.Cmo programar en Visual BasicLa computadora se ha transformado en una herramienta productiva que logr auto-matizarel funcionamiento de las empresas de manera notable. En el mundo actual dela programacin, se busca constantemente acortar los tiempos de desarrollo, de la mismamanera que una planilla de clculo agiliz el proceso contable de un departamento definanzas. Si bien hay muchos estilos diferentes de programacin, lo primero que debehacer el usuario es familiarizarse con las sentencias y las palabras que brinda el lenguaje,de modo de reducir los tiempos. Todo lenguaje de programacin cuenta con algoritmos.Un algoritmo es la manipulacin de nmeros y ecuaciones que, a travs de una seriede pasos organizados, nos permiten obtener la solucin a un problema especfico. VisualBasic 2010 incluye un conjunto de palabras reservadas y no reservadas que conformansmbolos y reglas para describir de manera explcita un proceso.Figura 1. Microsoft ofrece, en su sitio web, un completo fundamento sobre POOen http://msdn.microsoft.com/es-es/library/bb972232.aspx.42 www.redusers.com 44. Conceptos del lenguajePalabras reservadasSi bien hasta ahora hicimos algn uso de las palabras reservadas, no hemos ahon-dadoen el concepto en s, y dado que a travs de ellas resolveremos la mayora delos problemas que se nos planteen en nuestros proyectos, es un buen momento paracomprender mejor lo referente a stas.Qu son las palabras reservadas?Las palabras reservadas tienen un significado gramatical especfico para el lenguajeque estamos utilizando y no podrn ser empleadas como otro identificador del lenguaje.En ellas se agrupan constantes, funciones, tipos de datos, variables y sentencias queutilizaremos a lo largo de este libro. Con la prctica y su uso constante, terminaremospor aprenderlas y sabremos en qu momento debemos aplicarlas. El CLI (CommonLanguage Infraestructure) del framework .NET contiene una especificacin estandari-zadanecesaria para que nuestras aplicaciones funcionen correctamente.Listado de palabras reservadasVisual Basic 2010 cuenta con un listado de palabras reservadas y no reservadas, quese detallan en las Tablas 1 y 2.PALABRAS RESERVADAS DEL LENGUAJEAddHandler AddressOf Alias AndAndAlso As Boolean ByRefByte ByVal Call CaseCatch CBool CByte CCharCDate CDec CDbl CharCInt Class CLng CObjConst Continue CSByte CShortCSng CStr CType CUIntCULng CUShort Date DecimalDeclare Default Delegate DimDirectCast Do Double EachElse ElseIf End EndIfEnum Erase Error EventExit False Finally ForFriend Function Get GetTypeGetXMLNamespace Global GoSub GoToHandles If If() ImplementsImports (.NET) Imports (XML) In InheritsInteger Interface Is IsNotLet Lib Like LongLoop Me Mod Modulewww.redusers.com 43 45. 2. FUNDAMENTOS DE VISUAL BASICPALABRAS RESERVADAS DEL LENGUAJEMustInherit MustOverride MyBase MyClassNamespace Narrowing New NextNot Nothing NotInheritable NotOverridableObject Of On OperatorOption Optional Or OrElseOverloads Overridable Overrides ParamArrayPartial Private Property ProtectedPublic RaiseEvent ReadOnly ReDimREM RemoveHandler Resume ReturnSByte Select Set ShadowsShared Short Single StaticStep Stop String StructureSub SyncLock Then ThrowTo True Try TryCastTypeOf Variant Wend UIntegerULong UShort Using WhenWhile Widening With WithEventsWriteOnly Xor #Const #Else#ElseIf #End #If = = * *=/ /==^ ^= + +=- -=(Operador) = (Operador) =Tabla 1. Las palabras clave detalladas en esta tabla no pueden ser utilizadas comonombres de otros elementos de programacin, por ejemplo, variables o procedimientos.PALABRAS NO RESERVADASAdd Ansi Assembly AutoBinary Compare Custom DistinctEquals Explicit From Group ByGroup Join Into IsFalse IsTrueJoin Key Mid OffOrder By Preserve Skip Skip WhileStrict Take Take While TextUnicode Until Dnde #ExternalSource#RegionTabla 2. Las palabras aqu listadas no estn reservadasy pueden utilizarse como nombres para otros elementos, aunque se recomiendano hacerlo, para evitar complicaciones en la lectura del cdigo.44 www.redusers.com 46. Conceptos del lenguajeFigura 2. En la imagen podemos ver, dentro del cdigo del Form1, algunas de las palabrasreservadas, como Private, Sub, ByVal, As, Handles y End Sub, entre otras.Tipos de datosVisual Basic clasifica los tipos de datos en dos grupos principales: los Tipos porvalor y los Tipos por referencia. Los primeros almacenan datos que pueden seraccedidos de manera directa, y que, a su vez, se organizan en subgrupos: los Tiposde datos nativos de .NET, los Tipos de datos creados por el programador y losTipos de datos enumerados. Visual Basic 2010 permite emplear la mayora de lostipos de datos que estaban disponibles en sus versiones anteriores, salvo casos comoel tipo de datos Variant, que dej de existir cuando Visual Basic se transform enun lenguaje orientado a objetos, y fue reemplazado por Object. Podemos entenderesto mejor a travs de algunos ejemplos.El tipo de datos Object proviene del espacio de nombres System.Object, y en l sepuede almacenar cualquier tipo de valor. Como este, el resto de los tipos de datosbsicos se encuentran definidos dentro del namespace System, lo que hace quehereden directamente de System.Object.PALABRAS RESERVADAS EN DESUSOwww.redusers.com 45Las palabras Endif, GoSub, Let, Variant y Wend se conservan como palabras clave reservadaspor una simple cuestin de retrocompatibilidad con las versiones anteriores del lenguaje,aunque realmente ya no son utilizadas en Visual Basic. 47. 2. FUNDAMENTOS DE VISUAL BASICVamos a iniciar Visual Basic 2010 y a crear a continuacin un Nuevo proyecto deltipo Aplicacin de Windows Forms, al cual llamaremos TiposDeDatos. En el primercdigo que escribimos, el programa simplemente crea dos tipos de datos distintos yles asigna valores. Para esto, hacemos doble clic en el formulario Form1, y dentro delprocedimiento Form1_Load escribimos lo siguiente:Dim oNac As ObjectDim strValor As StringAsignamos una cadena de texto al tipo de datos strValorstrValor = VISUAL BASIC 2010Asignamos una fecha al tipo de datos oNacoNac = 09/07/1926Asignamos una cadena de texto al tipo de datos oNacoNac = JulioEn las primeras dos lneas, declaramos los tipos de datos Object y String, asignn-dolesun nombre distinto a cada uno: oNac y strValor, respectivamente. Las lneasque tienen un apstrofo delante son los comentarios que podemos realizar dentrodel programa, que no sern interpretados por el compilador al momento de ejecu-tarse.Luego, definimos un valor para strValor y otros dos para oNac. En este ltimocaso, el valor que quedar asignado a oNac ser el ltimo, ya que reemplaza alprimero. Ejecutamos la aplicacin presionando la tecla F8. Esta manera nos permi-tirseguir el cdigo paso por paso, y as ir viendo, al momento, cmo cada variableva tomando un valor. El cursor de la ejecucin del programa se detendr en laprimera sentencia del cdigo, la resaltar en color amarillo e indicar en el bordeizquierdo con una flecha amarilla qu lnea se est procesando.Figura 3. Al seguir paso a paso el cdigo de nuestro programa,podemos ver cmo la lnea en proceso se resalta con una flecha amarilla lateral,en tanto que nuestros comentarios se destacan en verde.46 www.redusers.com 48. Para proseguir, debemos presionar F8 reiteradas veces. Una vez que el cursor de ejecu-cinse encuentra en la lnea oNac = 09/07/1926, acercamos el puntero del mousehacia strValor. Veremos que nos muestra el dato asignado a l. Seguimos procesandolas lneas de cdigo hasta End Sub y volvemos a revisar el tipo de dato oNac. Veremosque el valor almacenado en l es la cadena de texto Julio.Una variable Long declarada en Visual Basic almacena un valor entero de 64 bits;por el contrario, una variable Integer almacena valores enteros de 32 bits. Desde laaparicin de .NET se incluyeron nuevos valores de enteros, como Short, que alma-cenavalores de 16 bits, y Byte, que almacena valores de 8 bits, aunque solo nmerospositivos. Agreguemos algunas lneas de cdigo ms a nuestro proyecto para vercmo actan estas variables, incluso, si les asignamos un valor que no soportan.Nmeros enteros positivos desde 0 a 255Dim b As Byte = 255Nmeros enteros desde -2.147.483.648 a 2.147.483.647Dim i As Integer = 2147483647Nmeros enteros desde -9.223.372.036.854.775.808 a (9.2E+18)Dim l As Long = 9223372036854775807Ejecutamos lo escrito presionando F8. Al llegar a estas lneas, veremos cmo cadavariable obtiene su valor. Los valores asignados son los mximos soportados por cadatipo de datos declarado. Si agregamos a cualquiera de ellos un dgito ms, el programaprovocar una excepcin no controlada y notificar que el tipo de datos no soporta elvalor asignado. Tal vez, quienes ya tienen conocimiento en programacin esto lesparezca polticamente no correcto, pero en un anlisis detenido, puede revelar que utili-zandocorrectamente cada nuevo tipo, en las aplicaciones que manipulan muchas varia-blesnumricas, se obtendr una gran diferencia en la memoria consumida por laaplicacin, dado que se lograr una optimizacin significativa.Conceptos del lenguajeCOMENTARIOS DENTRO DEL CDIGOwww.redusers.com 47Siempre es bueno comentar el cdigo escrito de nuestra aplicacin. De esta manera, lograremosencontrar rpidamente la sentencia que necesitamos cuando nuestro programa ha crecido ycontiene cientos o miles de lneas. Es importante tener esto en cuenta y hacer aunque sea unbreve comentario en lugares donde se superan las diez lneas de cdigo. 49. 2. FUNDAMENTOS DE VISUAL BASICFigura 4. Al tipo de datos Integer le asignamos un nmero ms del mximosoportado. Visual Basic 2010 detecta este problema y, mediante la Lista de errores,notifica que el tipo de datos Integer no puede ser representado.Veamos ahora qu sucede si invertimos la asignacin de datos en distintos tiposde variables. Vamos a escribir el siguiente cdigo al final de todo lo anterior, yejecutamos el programa hasta estas lneas:Dim l1 As LongDim s2 As Stringl1 = 12345s2 = NicolasAhora cambiamos algunos valores y ejecutamos otra vez el programa con F8:S2 = 12345La variable s2, que es un tipo de datos String, permite almacenar un valor num-rico,dado que soporta letras, nmeros y caracteres de toda clase. Ahora cambiamosel valor l1, que es del tipo Long, por una cadena de texto:l1=NicolasAl ejecutar la aplicacin, surgir un error que nos indica que el tipo de datos l1no puede almacenar una cadena de texto.48 www.redusers.com 50. Conceptos del lenguajeFigura 5. Visual Basic nos avisa del error que cometimosa travs de un cuadro de dilogo, y hasta nos sugiere desde all consultarla ayuda y las posibles soluciones para resolverlo.Otros tipos de datos que utilizaremos a lo largo de este libro son Boolean, Decimal,Single y Double, entre otros. El primero nos permite guardar un estado Verdadero oFalso. En el cdigo que se presenta a continuacin realizamos una comparacin parasaber si una variable tiene un determinado valor, y sobre la base de ese resultado,asignamos bResp como verdadero o falso:Dim bResp As Boolean, a As Longa = 1234If a = 1234 Then bResp = True Else bResp = FalseSi a = 1234 entonces bResp es verdadero, caso contrario bResp es falsoMsgBox(bResp.ToString)Existen muchos ms tipos de datos, que iremos conociendo mejor a lo largo dellibro. Por el momento, los mencionaremos de manera generalizada para tenerlospresentes: Byte consume valores de 1 byte; Char ocupa 2 bytes y soporta 65536caracteres; Date ocupa 8 bytes y almacena formatos de fechas entre 1 de enero deDECLARACIN DE VARIABLESwww.redusers.com 49Cuando tenemos que declarar una variable, podemos hacerlo al inicio del evento, al inicio delForm o dentro de un mdulo, y ms adelante, asignarle un valor. Pero tambin podemos, en unamisma lnea de cdigo, declararla y asignarle su valor si es que ya lo sabemos. 51. 2. FUNDAMENTOS DE VISUAL BASIC0001 y 31 de diciembre de 9999; Double ocupa 8 bytes de memoria y permitealmacenar nmeros de punto flotante con precisin de 64 bits; Long ocupa 4bytes de memoria y almacena nmeros que van de -2 mil millones hasta ms de2 mil millones; Sbyte ocupa 1 byte de memoria y maneja valores desde -128 hasta127; Short ocupa 2 bytes de memoria y maneja valores desde -32.768 hasta32.767; Single ocupa 4 bytes de memoria y permite manejar nmeros de puntoflotante de precisin sencilla de 32 bits; y Decimal ocupa 16 bytes de memoriay permite almacenar nmeros de formato de coma fija, y manipular valores demanera ptima sin problema de redondeos en un rango de 128 bits. Cada unode estos tipos de datos hereda sus propiedades y mtodos de manera implcitadel tipo Object. El framework .NET nos facilita el hecho de memorizar los valoresmnimos y mximos soportados por cada uno de estos tipos de datos. Para sabersi un valor por aplicar est fuera o no del rango permitido por el tipo de dato,podemos hacerlo de la siguiente manera:Dim sNumero as singlesNumero.MinValue nos devuelve el valor mnimoSNumero.MaxValue nos devuelve el valor mximoUso de variablesLas variables son espacios de memoria reservados para alojar un determinado tipode valor que ser utilizado durante la ejecucin de una aplicacin. Dicho valoralmacenado puede cambiar si es necesario, en cualquier momento que lo dispon-gamos.Las variables tambin cuentan con un modificador de acceso, que deter-minasu alcance dentro de nuestro proyecto. Veamos a continuacin un detalledel uso de variables a travs de la Tabla 3.MODIFICADOR DESCRIPCINDim Indica que la variable puede ser usada dentro de una estructura de control o clase donde haya sido creada.Private La variable podr ser usada en una clase o mdulo donde fue creada.Public La variable ser accesible dentro de la solucin donde fue declarada.Friend Este modificador es similar al anterior, y se restringe solo al proyecto al que pertenece.Tabla 3. Aqu vemos los distintos tipos de variablesque pueden declararse dentro de Visual Basic 2010.La creacin de una variable local puede realizarse al principio del procedimiento,funcin o evento, o inmediatamente antes del momento de usarla. Iniciemos unnuevo proyecto del tipo Windows Form, agreguemos al Form dos controles Button, yescribamos en el evento Click de Button1 el siguiente cdigo:50 www.redusers.com 52. Conceptos del lenguajePrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.ClickDim sNombre As String = JulinMsgBox(sNombre)End SubLuego, ejecutemos el programa presionando F5 y pulsemos Button1. Obtendremosun cuadro de mensaje con el valor asignado a la variable.Figura 6. El cuadro de dilogo muestra el valorcontenido en nuestra variable sNombre.Detengamos el proyecto, y ahora, en Button2_click() agreguemos el siguiente cdigoy ejecutemos otra vez la aplicacin:MsgBox(sNombre)Por un lado, al momento de escribir el cdigo, Visual Basic nos est informando,mediante la Lista de errores, que la variable sNombre no fue declarada dentro deNOMBRES DE LAS VARIABLESwww.redusers.com 51Todo nombre de variable debe comenzar con una letra, no con un nmero, y tampoco puedenquedar espacios intermedios dentro de l. Cuando hay un equipo de programadores, es una buenaprctica asignar al nombre, como primera letra, la misma del tipo de datos que vamos a declarar.Por ejemplo, Dim strNotas as String, sTotal as single. 53. 2. FUNDAMENTOS DE VISUAL BASICButton2. Entonces, nuestro cdigo no se podr ejecutar. Igualmente, el compi-ladorde Visual Basic se dar cuenta del problema de sintaxis y nos dar algunasposibles sugerencias para subsanarlo antes de pasar a la ejecucin. Esto permitea todo desarrollador minimizar la posibilidad de errores al momento de compilardefinitivamente una aplicacin.Para utilizar la variable en ambos botones, y que esta muestre su valor, debemosdeclararla al inicio de la clase Form1. Vamos a cortar el cdigo correspondiente a lacreacin de la variable y a pegarlo al principio de la ventana de cdigo:Public Class Form1Dim sNombre As String = JulinAhora, si ejecutamos el proyecto, veremos que presionando Button1 o Button2, semostrar el cuadro de mensaje. Esto demuestra que toda variable creada al inicio decualquier clase Form permitir disponer de su valor para cualquiera de los controlesu objetos creados dentro del programa.Figura 7. Al dimensionar la variable de manera Pblica dentro de nuestra clase Form1,podemos acceder a ella desde cualquiera de sus objetos.COMPILADOR DE VISUAL BASICEn Visual Basic, un Analizador de sintaxis se ejecuta en segundo plano todo el tiempo, y revisaconstantemente el cdigo que escribimos. Por ejemplo, si llega a detectar un error tan comncomo la asignacin de un valor a una variable que an no fue creada, nos dar algunas suge-renciaspara corregirlo y no permitir su ejecucin.52 www.redusers.com 54. Convertir tipos de datosEl uso de variables nos permite manipular datos almacenados en ellas. Si las varia-blesson de tipo numrico, podremos realizar cualquier clase de clculos entre ellas.Si son del tipo texto, podremos cambiar los mismos a maysculas o minsculas,entre otras acciones ms. El valor de las variables tambin puede representarse encualquier control que tengamos en pantalla.Creemos un nuevo proyecto Windows Form llamado ConversionDeDatos, y al iniciode la clase Form1 declaramos las variables tal como figuran en el siguiente cdigopara una mejor comprensin:Public Class Form1Dim iUno As Integer = 15Dim iDos As Integer = 39Dim iResult As IntegerA continuacin, dentro del evento Load de Form1 escribimos lo siguiente:iResult = iUno + iDosEjecutamos nuestro proyecto pulsando F8 y, una vez que el modo DeBug pasa laoperacin que almacena el resultado en la variable iResult, posicionamos el cursordel mouse sobre ella. Veremos all el resultado obtenido en la suma de los valorescontenidos en las variables iUno e iDos.Figura 8. El inspector de elementos nos permite, en modo de depuracin,ver los valores que poseen nuestras variables.A continuacin, eliminamos el cdigo escrito en el evento Load de Form1. Volvemosa la vista de diseo de Form1 y agregamos dos textBox, un Button y un Label. Al fina-lizar,aadimos en Form1_Load el siguiente cdigo:TextBox1.Text = iUnoTextBox2.Text = iDosConceptos del lenguajewww.redusers.com 53 55. 2. FUNDAMENTOS DE VISUAL BASICY en el evento Click de Button1 agregamos el siguiente cdigo:Label1.Text = TextBox1.Text + TextBox2.TextEjecutamos la aplicacin. Veremos que en TextBox1 y TextBox2 automticamenteaparecen los valores asignados a iUno e iDos. Presionamos el botn para ver si serealiza la suma y se muestra el resultado en Label1.En vez de obtener el resultado de la suma de valores, en Label1 vemos el contenidode ambas variables de manera consecutiva: eso se llama concatenacin. El problemaocurre porque nunca dijimos a nuestra aplicacin que los valores cargados en losTextBox son numricos, y que deben sumarse y entregar como resultado el total.Para llevar a cabo esto, modificamos el contenido del Button1_Click por lo siguiente:Label1.Text = CInt(TextBox1.Text) + CInt(TextBox2.Text)Ejecutamos otra vez nuestro programa y veremos que, en Label1 obtenemos la sumade textBox1 y textBox2. Esto que realizamos se denomina conversin de tipos. Esnecesario especificar que el contenido de ambos textBox es numrico y que necesi-tamosrealizar una operacin matemtica sobre ellos para obtener un resultado. Siesto no es llevado a cabo, interpretar que queremos realizar una concatenacin.Para especificar que un valor sea convertido a otro podemos usar cInt(); es parte deuna serie de funciones que se mantienen dentro del lenguaje por una cuestin deretrocompatibilidad. En la actualidad, el framework .NET nos provee de unafuncin nueva para realizar las conversiones de tipos: Convert. En la Tabla 4 vemoslas diversas opciones que ofrece esta funcin.CONVERT VALOR DEVUELTO ARGUMENTO DE LA EXPRESINToBoolean Boolean Convierte una expresin a verdadero o falso.ToChar Char Convierte una expresin a Char.ToSByte SmallByte Convierte una expresin a SmallByte.ToInt16 Int16 Convierte una expresin a Int16.ToInt32 Int32 Convierte una expresin a Int32.ToInt64 Int64 Convierte una expresin a Int64.ToUInt16 UInt16 Convierte una expresin a UInt16.ToUInt32 UInt32 Convierte una expresin a UInt32.ToUInt64 UInt64 Convierte una expresin a UInt64.ToSingle Single Convierte una expresin a Single.ToDouble Double Convierte una expresin a Double.ToDecimal Decimal Convierte una expresin a Decimal.54 www.redusers.com 56. CONVERT VALOR DEVUELTO ARGUMENTO DE LA EXPRESINToDateTime DateTime Convierte una expresin a DateTime.ToString String Convierte una expresin a String.Tabla 4. Aqu vemos las distintas opciones de conversin que nos ofrece el namespaceSystem.Convert, aunque tambin existen restricciones entre la conversin inicial y la final.La conversin de tipos de datos puede generar hasta cinco resultados distintos,dependiendo de su valor base inicial y del valor base final:1. Ninguna: ocurre cuando el origen y el destino tienen el mismo tipo de dato. Porejemplo, aplicar Convert.ToString a una variable del tipo string.2. InvalidCastException: ocurre cuando no se admite una conversin determinada.Las conversiones no admitidas por los tipos de datos son: Origen: Char, Destino: Boolean, Single, Double, Decimal, DateTime. Origen: Boolean, Single, Double, Decimal, DateTime, Destino: Char. Origen: DateTime, Destino: cualquier tipo exceptuando String. Origen: Cualquier otro tipo excepto String, Destino: DateTime.3. FormatException: ocurre cuando un valor de cadena no se puede convertir aningn otro tipo base porque la cadena no tiene un formato correcto. Por ejemplo,sera imposible convertir a Boolean un String que no sea True o False.4. Conversin correcta: ocurre cuando intentamos convertir algo que no produceprdida de datos. Por ejemplo, un String a otro String.5. OverFlowException: ocurre cuando convertimos un origen a un destino donde seproduce una prdida de datos. Por ejemplo, si tenemos una variable Single con un valorasignado 1000000 e intentamos convertirla a Byte, se producir el OverflowException,ya que Byte solo acepta hasta 127.A continuacin, vamos a modificar nuestro proyecto ConversionDeDatos. Borramosel contenido de Button1_Click y agregamos el siguiente cdigo:Dim i As String, j As Singlei = TextBox1.Textj = Convert.ToSingle(i)Conceptos del lenguajeFUNCIONES DE CONVERSINwww.redusers.com 55Muchas funciones de conversin de Visual Basic han sido incluidas por retrocompatibilidad conla migracin de proyectos hacia la ltima versin del lenguaje, pero en algn momento dejarnde tener soporte. Se recomienda que, al ir conociendo mejor el lenguaje, aprendamos en qunamespace se alojan para usarlas en proyectos nuevos. 57. 2. FUNDAMENTOS DE VISUAL BASICLuego, presionamos Button1 y esperamos a que el compilador lleve a cabo la conver-sincodificada. Veremos que al ejecutarse la misma ocurrir un error de conversinde tipos no contemplado hasta el momento.Figura 9. El error FormatException. En este ejemplo,vemos uno de los errores que se producen al intentarconvertir un tipo String al tipo Single.Arrays y enumeracionesDentro de la denominacin de las variables, en determinadas ocasiones podemosdetectar que una misma declaracin puede servirnos para almacenar mucha infor-macincorrespondiente a un dato. Para lograr esto utilizaremos los arrays. Un arrayes una lista indexada de datos que puede contener mucha informacin. La maneracorrecta de declararlo es la siguiente:Dim ElementosDeCocina(8) as stringCon este ejemplo, declaramos un array de una dimensin que puede alojar hasta 9elementos de tipo string. Si bien su dimensionado es 8, tanto en .NET como en lamayora de los lenguajes de programacin el primer ndice comienza desde 0 y no,en 1. La declaracin de arrays estticos, deben utilizarse por completo para nodesperdiciar los espacios de memoria reservados para stos.Iniciamos un nuevo proyecto Windows Form llamado ManejoDeArrays. Antes de ladeclaracin Public Class Form1 agregamos la siguiente lnea:Imports System.Collections56 www.redusers.com 58. Conceptos del lenguajeEsto aade el Namespace System al proyecto e incluye tambin la clase Collections.Dentro de la clase Form1 declaramos ElementosDeCocina(8). Luego, en el eventoForm1_Load escribimos lo siguiente:Como mencionamos antes, el array declarado aqu es un array esttico, el cual deberser utilizado (dado sus 9 posiciones declaradas), para ser llenado por completo. Aunqueno es un requerimiento estricto llenar por completo un array, siempre conviene hacerlopara evitar posibles errores en operaciones que realicemos con cada tem almacenado.ElementosDeCocina(0) = MuebleElementosDeCocina(1) = CocinaElementosDeCocina(2) = CubiertosElementosDeCocina(3) = PiletaElementosDeCocina(4) = CafeteraElementosDeCocina(5) = PlatosElementosDeCocina(6) = EspeciasElementosDeCocina(7) = AderezosElementosDeCocina(8) = GrillFor i = 0 To UBound(ElementosDeCocina)MessageBox.Show(ElementosDeCocina(i))NextEn la misma lnea de ElementosDeCocina(8), hacemos un clic sobre el bordeizquierdo de la ventana de cdigo. Aparecer un punto rojo y el texto se resal-taren rojo tambin. Presionamos a continuacin F8 y seguimos paso a paso elcdigo para ver cmo se cargan los datos en el array.Figura 10. Al finalizar la carga del array, se recorre toda la matriz de este y, a travsde un cuadro de dilogo, se muestra cada valor cargado en ella.www.redusers.com 57 59. 2. FUNDAMENTOS DE VISUAL BASICCada array que declaremos puede redimensionarse en el momento en que sea nece-sario.Agregamos el siguiente cdigo en el espacio en blanco que dejamos al escribir.De esta manera, aadimos una posicin ms al array sin perder el contenido ya cargado:ElementosDeCocina(8) = GrillReDim Preserve ElementosDeCocina(9)ElementosDeCocina(9) = OllasFor i = 0 To UBound(ElementosDeCocina)Veremos que, utilizando ReDim Preserve, podemos agregar una posicin ms al arraysin perder lo que ya estaba cargado. Si ejecutamos el cdigo, notaremos que loscuadros de mensajes ahora incluirn el nuevo String,Ollas.Figura 11. Visual Basic 2010 tiene un inspector de elementosque nos permite ver el array completo de nuestra variable. Posicionandoel cursor sobre ella, podemos desplegar todo su contenido.Si deseamos ordenar un array, debemos utilizar el mtodo Sort contenido dentro dela coleccin Array. El orden que podemos darle es variado. En el ejemplo que58 www.redusers.com 60. Conceptos del lenguajevenimos utilizando, vamos a ordenar los datos cargados de manera alfabtica. En elmismo cdigo que tenamos, agregamos la siguiente instruccin:Array.Sort(ElementosDeCocina)For i = 0 To UBound(ElementosDeCocina)Figura 12. Gracias a Sort, el orden de nuestro array se hace en forma automtica.Comparemos su contenido con la imagen anterior.Como todo elemento que creamos en el proceso de nuestro programa, el array ocupaespacio en memoria asignado al dimensionar la variable. Si no lo necesitamos,podemos eliminarlo una vez que se haya utilizado. Esto se realiza con la sentenciaErase, como indica el cdigo a continuacin:PUNTOS DE INTERRUPCINwww.redusers.com 59Los puntos de interrupcin dentro de los programas son ideales para analizar con deteni-mientoel comportamiento que va teniendo nuestra aplicacin al momento de ejecutarse.Podremos ver el valor de las variables y las operaciones cuando se realizan. Con ellos apren-deremosa detectar errores que, a simple vista, no notamos. 61. 2. FUNDAMENTOS DE VISUAL BASICErase ElementosDeCocinaLas enumeraciones se agrupan dentro de una estructura que permite seleccionarcualquiera de los valores declarados en ella. Pueden ser declaradas solo con el tipode dato entero; no pueden contener un valor decimal.Public Class Form1Enum Hora As ShortCero = 0Uno = 1Dos = 2Tres = 3Cuatro = 4Cinco = 5End EnumSi no especificamos un valor para cada componente de la estructura, este asumirpor defecto que contiene el valor de su ndice, comenzando desde cero. Ahora, sino especificamos un valor para cada componente aunque estos tengan su nombreasigna