You are on page 1of 547
Duncan Mackenzie Aprendiendo Kent Sharkey Visual Basic .NET =) T ‘aa TRADUCCION Y REVISION TECNICA: A, David Garza Marin Ingeniero Mecanico Electricista, SEP/UNAM Gerente General de GMD Microsistemas MEXICO - ARGENTINA BRAS. «COLOMBIA COSTA RICA CHILE — 1/0 UE MACKENZIE, DUNCAN y SHARKEY, KENT Aprendiendo Visual Basic.NET fen 21 Lecelones avanzadas PEARSON EDUCACION, México, EDICION EN ESPASOL: EDICION EN INGLES: EDITOR DE DIVISION COMPUTACION: DANIEL GONZALEZ: PINEDA Eorrona asoaapa ‘daniel. gumaler@pearvonet.com Linda Engelenan SUPERVISOR DE TRADUCCION: MIGUEL B. GUTIFRREZ HERNANDEZ. SUPERVISOR DE PRODUCCION: ENRIQUE TREJO HERNANDEZ Cs pe Abausicones Aprendiende Visual Basic \NET en 21 Leceiones avanzatias Versin en expat de a obra tialada Teach Yours Vswal Basic NET in 2 Bays. de Duncan Mackenzie & Kent Sharkey, publica erigialmeste co inglés pox SAMS Publishing, wna dvisidn | de Macmillan Comgunce Publishing. 201 W. 13 Suet Indanaplis, Indiana 46390, EUs. EOTORA ADnwusTRaTWA ‘Charette Clapp ‘Es edicion em espaol es ia nia aotrizcs, —— Authorized! transition from the English language eition etited, Teach Yoursef Viswat Basic | Carol Bowers “NET in 21 Dare polished by SAMS Publishing, Copyright © 2002 le 3 Connectors o¢ esmto All fights reserved. No par this hook may be reproduced or transmit in any form or by any Gebel Breeze ‘means, elocieeic o¢ mechanical inctoding photocopying. rocording or by aay information sx rage retrieval syste without permission from the Publisher, Iwowanor Aamir Bur ‘SPANISH language edition published by Pearson Baucaciin de Méxion, S.A, de CV. [wanaltor| Copyright © 2003, ConnE COON DE PRUEBAS ; ‘Plant Publishing ms Revisor tecnico AR. © 2003 por Pearson Exucacin de Miénica, $A. de CV. “Todd Meister Calle 4 No. 25-24, Piso okies Frace. Industrial Alce Blanco i 53370. Naucalpan de Juire. Edo. de México Cooromanon net | equipo Be FRODUCCION (Clenara Nacional dela Industria Fail Mericana Registro No. 1031 ‘wn Reservador tot lox derecho. Ni fa otliad ni parte de esta publicacidn pueden reprcuciee. | Dec ARROLLADOR DE MEDIOS registarse 0 tansmitise, porn sistema de fecuperacion de informaciée, en ninguna forma ni por ningin medio, wea elecutnica, mecénico, fowguimico, magnético o electrxptico, por foso- | Dan Scherk ‘opis, grabucion o cualquier otra, sin peraiso previo por escrita del editor, Disefiaoon ve PAGINAS El présam, alquiler © cualquier otra forma de cesifn de uso de esi efemplarrequerrs también, NTERIORES, ta asiorizacvn por escrito de editor ode nus epresenianics ‘Gary Asai ISBN: 970-26.0379-X de la veri en espa! Disefiabon DE PORTADA ISBN: 067-23-2066-5 dela versivn en inglés | Area Howell pe | Composicon pe PAciNaS Plan-tt Publishing (Prentice Hall es una marca registrada por Pearson Extucacice, ide Méaicn, S.A. de CV. 1234567890 aso.e3on Resumen de contenido Intreduccién 1 - Er 2 Uso de Visual Basic NET Primeros pasos ramar en Visual Basic NET Hu 4 Control del fluje de los programas 99 S__Arquitectura de las aplicaciones en NET 133 6__Qué hacer cuando los buenos programas fallan, y asegurarse de que ya no lo hagan 153 7_Uso de Jos objetos 183 Parte 1 Repaso 209 LI_ Primeros pasos con las bases de datos 293 12_Acceso a datos con NEP Usa del Explorador de servidores 363 14 _Introduccién a fa progrumacién orientada a objetos 389 Parte 2 Repaso ai Parte 3 Deunvistazo 00 15 Creucién de objetos en Visual Basic NET. 415 16 Temas avanzados de formularios Windows Forms 447 7 Uso del NET Framework 479 18_ Toques finales 519 19 Distribucién de su aplicacién 20° Intreduccién a XML 21 Creacién de Servicios Web XML con Visual Basic NET Parte 3 Repaso A. Respuestas a los cuestionarios y ejercicios indice 539 585 579 613 615 651 05. 38 {Las principales ventanas del IDE de Visual Studio... 7 er) Copyrighted material Aprendiendo Visual Basi .NET en 21 Lecciones avanzadas Lecesn 3: n Visual Basic .NET n Primeros pasos para program: Las variables y su asignacion {Qué.es una variable? ... ‘Tipas disponibles de variables .. Variables sencillas Declaracion de variables... Matrices .. Asignacién ‘Constants. Algunas normas de denominaciéin sugeridas Cllembos SENOS soean Uso de operadores... Funciones integradas Crescidin de sus propios procedimientos. oe. Procedimientos .. Punciones Aabito ... 7 ven Aplicacién de ejemplo: ciilculo-de un val Resumen een Preguntas y respuestas Taller ‘Cuestionaia Ejervici Control del flujo de los programas ‘Toma de decisiones can instrucciones.de control La instruceida Tt een - Ampliacksn de la instruccién Tf 108 Instrucciones 17 de una sola linea e inmediatas 107 Expresiones y Iigica Booleans sans 108 ‘Operadores de comparacién 108 ‘Operadones Kigicos.. 109 ‘Cortoeircuite .. eno HO ‘Tratamiento de varias posi Bucles For. . .Next wWmile...End while Bucle Do .. ‘Coneticinnes de-finalizaciin Bucles infinitos Implicaciones de rendimiento Contenido wily Aplicaciones de su nuevo conocimienta Un juego sencille a 136 Evite los buctes complejos oon ayuda de la recursividid cco. 128 Leccgn 5 Arquitectura de las aplicaciones en .NET 433 Cusintas e0pas? snsensnn a eee) ‘Windows DNA Deénde encuadra NET? isnttisieitnniisnannsen A] Eleceién de una tecnologla para el clienie — ceneamnnnD ‘Como decidir cust Leccion 6 Qué hacer cuando los buenos programas fallan, y asegurarse de que ya no lo hagan 153 enda a depurar mediante la préctica .. viii Aprendiendo Visual Basic .NET en 21 Lecciones avanzadas Pants 1 Pante 2 LecciOn 8 Los modos-en la vida de un programa... ‘Cémo avanzar paso a paso por su eédige Inspeceiin de Variables. cece ‘Otras herramientas para Ia depuracita ... Resumen .... Preguntas y respuestas Para empezar: {qué 68 un objeto? ‘Clases « instancias Referencias. .asncnseen (Cémo convert el concepto en c6di Propiedades ‘Creacién de una instancia de una clase ‘Como encapsular el cédigo en sus clases Temas evanzados Sobrecarga... Herencia .... ‘Constructores Espacio de 9088165 onto “Objetos y miembros compartis .. Resumen Preguritas y respuestis Taller ‘Cuestionario Ejercicia .... Repaso 209 De un vistazo 2 Presentacién del .NET Framework Qué es ef NET Pramewnrk (Clases importantes en él NET Framework Cansol Environment . Random... Wath Coleccicin de clases en el NET Framework Localice lo que necesite en el NET Framework Las reglas de Ia busqueda .. La biisqueda de la clase dorada. Contenido ix LocatizaciGn de objetos y eventos con Leccion 10 Creacién de la interfaz de usuario con formularios Web Forms m El modelo de Aprendiendo Visual Basi Weceion 11 Lecco 12 .NET én 21 Lecciones avanzadas En qué difiere la generaciéa de programas basadas en Web coon Jos bbasadas en Windows ooo oe Uso de los controles estindar de fos formularios Web Forms Uso de controles avanzados de los formularios Webs Forms Uso de los controles Validator .. RESUMED ene Preguntas y respuestas Taller cen ‘Cuestionarie Bjercicio ... one DBH Primeros pasos con las bases de datos 293 Una base-de datos os la solucis Toma de decisiones aa los problemas cotidianos ‘Transicién a una base de datos real. Introduccia & SQL. -urvontnmnmnninnsinmsimnnnee Uso de ta instruccién SELECT para leer registrOs. su ‘Come agregar TERISEEOS orn Modificacidin de registro .... Elicninacidn de n2gist08 oo rores orn Disnde Balla t8yOe INFORMACION nnn ee nen Problemas y soluciones comunes de las buses de-datos Inconsistencias en las actualizaciones ‘Campos con muchos valores: ‘Combinaciones: cémo consultar varias tablas a la vez Tntegridad referencial ‘Creacidn de claves principales ... (Creaciéin de la base de datos de ejemplo an. “Transfereacia de los archives necesarios. ~ Access 2000 0 Access XP MSDE y SQL Server 2000 .... Uso de System.Data para realizar pruebas a ta canfiguracién Resumen Preguntas y respuestas Taller. Cuestionario Ejervicins Acceso a datos con NET Un panorama del acceso a datos con NET ADO y OLE DB ADO.NET ve Tareas estindar de bases de datos Connie a Ia base de: datos eon Contenido xi Ejecucidn de una instruccitin SQL . Recuperacién de datos Use de conjumtos de 105 sss stonsianususnnnsn Céimo intoducir datos 29 U0 DRAG8ET nisl esplazamiente por Bos dats 2... ne Eidicidn de datos (agregar, eta CUMINSE) ocr nnn 33 ‘Uso de muiltiples tablas Lacon 13, sun servicio a Servicios de exploracién ‘unexiones de datos a Pasos. para conectarse: a una base de datos Use de los servicios .. Vista de los servicios .. ‘Creaciin de programas que utilizan servicios Escritura de c6digo-para acceso a datos mediante el Explorador de Servid086S ncsconttentercinnnercnnnnninneenennn STS Acceso a los contadores de rendimiento-y 3 los registros de eventos ......377 Lecaon 14 xii Aprendiendo Visual Basic NET en 21 Lecciones avanzadas ‘Herencia, Constructores _ Disefto de una aplicacidén con POO dentificacién de los objetos — Determinacién de las propiedades y métodas Modelado de sus objetos RESUME erence ‘Preguntas y respuestas Taller ~ Cuestionario: Bjercicio Parte 2 Repaso: ay g 5 SRESSEREE Parte 3 De un vistazo a3 Leccion 15 Creacién de objetos en Visual Basic .NET as ‘Creaciin de objetos ... Declaracién de wna clase en Visual Basic Ciimo agregar propiedades Creciéin de métoxtos Cémo agregar eventos Definicidn y uso de interfaces a Uso de los objetos que cree Espacios de nombres... Creacién y uso de una biblioteca DLL... Resumen Preguntas y respucstas ... Taller Cuestionario ... Ejercicio Lecciom 16 Temas avanzados de formularios Windows Forms ar Climo agregar un mend 2 un formutario Tecladas y ments .. Céimo agregar e6digo Algunas sugerencias . Programas con la interfaz de muiftiples documentos... Qué es Ja MDI Cémo agregar ef formulario principal MDI y los memis Contenido xiii Controtes avanzaios TreeView Splitter ... sn F Resumen Preguntas y respuestas Escritura en un archive de texte . Dibyjo con Has clases grificas Un vistazo a las clases grificas LQué puedo ditwiar? 508 Resumen Preguntas y respustas oc Taller sg yn Ejercicios Lecagn 18 Toques finales (Cémo documentar su aplicacién ‘Cémo generar la solucive: ris sencilla Evite tas suposiciones — on S23 No coments lo obvia, silo Jo confuse Bloques de comentarios Uso del control de eédigo fuente Desproteccién de eédigo Proteceiin de ofip0 on. (Cémo-ver y deshacer sus modi Aspectos de seguridad en el uso de Visual SourceSafe . RESUMED seeycorrsneenneencnncennreien xiv Aprendiendo Visual Basic NET en 21 Lecciones avanzadas Preguntas y respurslas oe Leccin 19° Distribucién de su aplicacién 539 Introduceig a la distribu ‘Creacidn de una instal Archivos de comfiguracidn nesses Distribuciones de varios proyectos. scores eemim Preguntas y respwestas . TOBE en ‘Cuestionario EjerciCl oon Leceiow 20. introduccién a XML 558 Qué-es XML Elementos Atibatas ESqUeMA§ guerre meee Uso de XML... DOM nner Lestores y escritores Lectura del XML Bscritara de XML, Bjercicio Leccion 21 Creacién de Servicios Web XML con Visual Basic NET 579 Qué-es un Servicio Web XML. ccese-nansensnesnat a) El Protocole Simple de Aeceso-a Objetos ee Lenguaje de Descripeign de Servicios Web (WSDL) Descubrimieot0 vs norinnmennmmnonenae Creaci6n de un Servicio Web XML sencilla. ‘Creackin del proyecto ‘Comme agregar cixligo Compilacién del Servicio Web ‘XML . (Creacién de un cliente del Servicio Web XML cose Creacién del proyecto Ciro agregar el c6digo. Contenido xv Un Servicio Webs XML mas complejo Creacidn del servicio .. Creacidn del clieme Climo agregar O20 eee nan nen oe OG Artnoice A Respuestas a los cuestionarios y ejercicios 615 Respuestas de la leccién 1 ERefCI6)0 cesesnsers Respuestas de la leceién 4. Cuestionario Respuestas de la Ieceiéa 7 Cuestionario .. Bjercicio Respuestas de ia Ieceién 8 ‘Cuestionario Fjercicio Respuestas. de la lece’ a Fjercicio Respuestas de la leceidn 10... CURStIOMAFIO oss nneintnininnnnnnei Ejercici08 oe xvi Aprendiendo Visual Basic NET en 21 Lecciones avanzadas Respuestas de la Jecei6n 1 Cuestionatio nn Bjereicios .. Respuestas de Ia Jeocigin 12 Coestionarie Bjereici ea sossono Respuesias de la leccidn 13 Cuestionatia Respuestas de fa leccign 14 Cuestionario Ejercicio Respoestas de Cuestionaria Bjereicio Respuestas de Ia Jeecisin 16 Coestionario Bjercicios Respvesias de la Jeccidn 17 Cuesta nn Bjercicios Respuesias de la leccién. 18 Cuestionario Respuestas de la leccidn. 19 Cucstionari .... Bjercicios Respuestas de la leceidn 20 Cuestionario EjereiciO eee Respuestas de ls leecidn 21 Caestiomarie oo -neone eecién 1S inorce 651 Acerca de los autores Duncan Mackensie es MCSD, MCSE. y MCT. Trabaja.en el. grupo MSDN (http: f/msdn.microsett.. com) de Microsoft en Redmond, Washington. Es un fervoroso. programador en Visual Basic NET. Duncan es también instructor en Visual Basic y ha impartido muchos cursos que van desde los intermedios hasta los avanzados. Ha escrito y colaborade en diversos libros de tecnologias de Microsoft, entre ellos “Platinum Edision Using Visual Basie 6.0" y “Word 2000 VBA Programmer's Reference”. También ha dado varius conferencias enfocadas en el desarrollo-con tecnologias de: Microsoft. Kent Sharkey es MCSD, MCSE, MCT y MCP+SB, Trabaja en Microsoft en su Grupo de jones NET, que actualmente se enfoca en el NET Framework y Visual Studio NET. Antes de unirse a Microsoft, Kent tuve muchos afios de experiencia como capacitador y consultor, concentrade en la arquitectura y escritura de aplicaciones de méltiples capas con ‘Visual Basic, Ha escrito y colaborado en diversos libros sobre Visual Basic, como MCSO Fast Track: Visuat Basic Exam 70-175; MCSD Fast Track: Visuat Basie Exam 70-176; MCSD Fast Track: 4 in 1; y Beginning Visual Basic 6 Application Development. Con regularided ofrece conferencias enfocadas en el desarrollo de las tecnologias de Microsoft, Acerca del traductor A. David Garza Marin es Ingeniero Mecénico Electricista (UNAM), Licenciada en Adminis- traciGn de Empresas. (IEP) y Técnico programador analista, Desde 1989 dirige en México su propia empresa llamada PRO-3. Ha colaborado para diferentes empresas puiblicas y privadas en la Reptiblica mexicana, Desde 1994 colabora en diversas publicaciones con articulos orientados a la programaci6n, la tecnologia y Ia administracién de las empresas con apoyo del cémpute. Colabora para Pearson Educacivin desde 1994 y ha sido autor de obras como “Visual FoxPro. 5”, “Microsoft Windows 2000 Server Activa” y "Consuliores Pearson en la computacidn: Programacidn”. Es Director Regional de la Red de Desarrolladores de: Microsoft {MSDN RD) en México (http: / /waw.microsoft.con/Latam/msdn [comunidad /rds/). Puede ponerse en contacto con él en st direcci6n electrGnica adgarzaapro-3.com.mx o visitar su pagina Weben http: / /ww.pro-3.com, mx: Dedicatoria De Duncan Mackensi ‘Mienoras esnuve trabajando en este libro, casi odo en mi vide ha cambiadio, pero la mayor parte no est relacionada con ef propia libra. Ahora tengo un hijo, Cannon, ¥ me he muada a wn aweve pats para realizar un nueva abajo: con Microsoft. Quisiera dedicar este fibro a mi esposa, Laura, quien me ha apoyado con mis escrito, sin importar cudntos meses hayamos sobrepasedo nuestra plaza planed, ya mi nuevo hijo, quien no tenia idea de que yo estaba escribiende ux libro, pero que. no obstante. esnive muy conente y comprensive. Por iitime, quiero agradecer a Keni, puesto que él eseribid ia mitad del libro, y pienso que yo no hulblera sobrevivide si le hubiera escrito yo sala, De Kent Sharkey: escribir un poema, pero tal parie de mi cerebro me ha tad problemas iitimamente, Asi que, en lirgar de eso, mencionaré una lista cldsica de las persamas que me ayudaron con este lita. Quiero agradecer ami caautor, Duncan. Gracias por ta-oferta ¥ por no saceptar un “Ao” @ “renuncio coma respuesta, Gracias a toxlos los editores que trabajaran en el libro, especialmente « Sandra y Todd. Gracias a Squirret por mantenerme honesio y vive y gracias a Cica por ‘mantener mi compusadora caliente y sin teclado en ocasiones. Finalmente, pero no menos importante, gracias @ Margaret por cuidarme mientras trabajaba en este likro, nuevo trabajo y nuevo pas, 1Ahora pademos disfrutar avevamente de los llamado fines de semana! Originalmenie tba @ ser ingenios Pearson Educacién de México El personal de Pearson Educacitin de México esta comprometido. en presentarle lo mejor en material de consulta sobre computacién. Cada libro de Pearson Educaciin de México es el resultado de meses de trabajo de nuestro personal, que investiga y refina ka informacién que se ofrece, Como parte del compromiso con usted, el lector, Pearson Educacién de México lo invita » dar su opinién. Por favor higanos saber si disfruta este fibro, si tiene alguna dificultad con fa informacién y los ejemplos que se presentan, o si tiene alguna sugerencia para la proxima cedicién, Sin embargo, recnerde que el personal de Pearson Educacién de México no puede acuar coma soporte iécnico ni responder preguntas acerca de problemas relacionados con el software o el hardware, Si usted tiene alguna pregunta o comentario acerea de cualquier libro de Pearson Educacién ‘de México, exisien muchas formas de ponerse en contacto con nosotros. Responderemos a todas los Jeetores-que podamos. Su nombre, direccidn y mimero telefnice jamds formarin parte de ninguna lista de correos ni serdn usados para otro fin, mus que el de aywdarnos a seguinie Ievands los mejores libros posibles, Puede escribimnos a la siguiente direceién: Pearson Educacién de México, S.A. de C.V. Attn: Editorial Divisién Computacién Calle 4 No. 25-2do. Piso ‘Col, Fracc, Industrial Alce Blanco Naueaipan de Judrez, Edo. de México CP, 53370 Si lo prefiere, puede mandar un fax « Pearson Educacién de México al (525) 5387-0811 “También puede ponerse en contacto con Pearson Educacidn de México a través de nuestra pagina Web: http: / /www.pearsonedlatino..com, Introduccién Bienvenido a una leccién informativa y emocionante en 21 Jecciones de Visual Basic .NET, la nueva manifestacién del lenguaje de programacién mas poptilar del mundo. Este libro std disefiade para darle una intreduccidin al NET Framework y a Visual Basic NET para ‘empezar a programar aplicaciones reales tan eipido como sea posible. Panorama El NET Framework es la base de los conceptos y tecnologia que apoyan al nuevo conjunto sde herramientas de desurrolia de Microsoft, y que formardn 1as bases del siguiente grupes de servidores, aplicaciones y servicios basados en Web distribuidos alrededor del mundo. Como podria esperar, NET no es algo que pueda tratarse por complete en una leccidn, 0 inclusa fen 21 lecciones, por lo que exte libro tendrd una metodologia més enfocada en lox resultados, \Necesitard ser productive con rapidez, y esa es exactamente le que hard en las siguientes 21 leceiones al leer este libro y trabajar con los ejercicios asociados, AI darle los elementos Isdsicos del lenguaje Visual Basic NET y suficiente campo de accién del propio NET Framework, podrd comenzar a programar ahors y prepararse para seguir con su aprendizaje posteriormente. [Desde el principio, es importante desiacar un hecho de .NET: el lenguaje que utilise es menos relevante de lo que era en el pasado. El marco de trabajo (el conjunto subyacente de tecnolo- aaias en Ja que se basa todo el NET)}¢s la verdadera plataforma .NET, y puede accederse por igual desde cualquier lenguaje NET (como Visual Basic, Cit, C++, entre otros). Estas son excelentes noticias para Visual Basic y para los desarrolladores. principtantes, asf como para 4s experimentados en este lenguaje. Visual Basic ya no es tin lenguaje de “segunda clase”, ‘con cierta funcionalidad avanzada del sistema operative restringida s6lo a. los desarrollndores que usan C+, Ahora es posible generar cualquier sistema, sin importar su tipo, con Visual Basic. Esta independencia del lenguaje también significa que puede elegir el lenguaje que usted 0 su empresa desee, Dada la opcién, muchas personas, entre ellas los autores de este libro, elegirin Visual Basic NET. Su sintaxis y estilo sencillos le han hecho el lenguaje de progra- macién més popular del mundo, aun con las limitaciones que tenis Ia versiGn anterior, Ahora con .NET, no hay nada que impida que usted pueda utilizarie en cualquier proyecto de ‘cualquier empresa, Si le interesa aprender otro lenguaje —quiz4 C#— adems de Visual Basic NET. ain estard en el Jugar correcto. Este libro le dard una idea de cémo utilizar el NET Framework, cono- ccimiento que podré, aprovechar en cualquier lenguaje NET. Este libro est disefiado en una serie de lecciones y en cada una se proporciona algén ‘concepto importante para generar aplicaciones (como el acceso a una base de datos) o un conocimiento crucial para hacerlo productive (come el uso del IDE). Puede ver las lec cciones.en cualquier orden, pero si es principiante, podria obtener un mayor heneficio si sigue Jas lecciones de forma secuencial. La mayoria de las lecciones, incluso la primera, incluye aalgin e6digo de-ejemiplo y algunos ejercicios que le hardin escribir algo mids de c6digo. Para aprovechar mejor el tiempo que pase com este libro, prucbe todos los ejemplos y realice todos Jos ejercicios. Nada mejorard su comprensién tanto como la préctica, A quién va dirigido este libro Aunque este libro estd destinado primordisimente a las personas principiantes en la pro- ‘gramacién en general, y especificamente en Visual Basic NET, los programadores con experiencia encontrar mocha informacién Util, Si ya ha programado ea Visual Basic, en los distintos temas de este libro encontrard algunos ejemplos y explicaciones de las nuevas caracteristicas. Descubira que hay varias diferencins respecto a Visual Basic 6.0, y este libro le facilitard Ia transicién, Si Visual Basic es alge novedoso part usted, pero es un programador experimentade, pensarii que puede omitir o ver de manera superficial grandes seceiones de 1as primeras lecciones. Sin importar su grade de experiencia, necesitard ver la intreduceién (lescin 1) para compren- der el concepto general de NET y la leceién 2 para conacer el IDE y empezar a trabajar con Visual Studio.NET, Luego, puede continuar con el resto del libro a su propio gusto, ver superficialmente algunas secciones que traten conceptos generales de Ia programacién xy enfocarse en las lecciones que explican la forma en que Visual Basic INET realiza tareas ‘avanzadas, como la generacién de objetos, el acceso a datos y la creacién de aphicacis para Internet Lo que aprendera Este libro le ensefiard.a generar diversos tipos de aplicaciones con Visual Basic .NET, entre las las de cliente-servdor y ls basadas en Web, Al vanzar en los temas de Visual Basic .NET, también conocerd el .NET Framework y algunos servidores NET, como SQL Server ¢ Internet Information Server (IIS). En Jo que toca al diseto de aplicaciones y a la arquitectura, conocerd las caracteristicas ‘orientadas a ebjetos de Visual Basic \NET, entre ellas la generacién de clases y el uso de ‘objetos, ademas de las bases de la herencia, sobrecarga, reemplazo y otras caracteristicas avanzadas de la-O0, Introduccién En el campo de Ia interfaz, sabré.cémo crear aplicaciones para Windows con las nuevas estructuras de formularios de Visual Basic .NET, cémo crear interfaces basadas en priginas Web con Jos formularios Web Forms y cémo generar un servicio Web XML sencilla que se divalgue en Web. que podrd usarse en cualquier lenguaje de programacién o plataforma que pueda acceder-« Web y comprenda XML, Nuestra meta es prepararlo, mediante las siguientes 21 lecciones, para que pueda generar sus propias aplicaciones con Visual Basic .NET y para que trabaje como parte de alg equipo que genere una gran aplicacién basada en Windows o Web Lo que no trataremos Fuera de la mencién anterior acerca de la independencia del lenguaje y de la importancia de las tecnolugfas subyacemtes, éste es primondialmente un libro de Visual Baste NET, Por ello, no (rataremos C# ni cualquier ote lenguaje .NET que no sea Visual Basic. Veremos ef use de bases de datos, como SQL Server, pero necesitard ver libros de SQL Server para encontrar detalles para configurar y administrar su servidor-de bases de datos. Tampoco trataremos todos los detalles de Visual Basic NE con muchas earacteristicas, Para listarlas todas con su sintaxis, fcilmente necesitaria un Tibco de este tamaiio. Pero lo trataremox de manera que usted sea productive y que obtenga el conocimiento suficiente para empezar a disefiar aplicaciones que apravechen las nuevas caracteristicas de NET, ste €4 tn fenguaje enorme: Requerimientos Este tibra se basa en ia versidn de produceidn de Visual Studie NET en espanol. Aunque agui le mostraré algunos de los requerimientos del entome, podré ver los detalles en http: //msdn microsoft. com/vstudie para obtener ¢l conjunte de requetimientos del sistema actualizado, (Como libro basude en Vi NET, que, a su vez, nece: Basic .NET, el primer requerimiento es contar con Visual Studio las siguientes especificaciones biisieas: + Sistema aperativa Windows XP Professional, Windaws 2000 (en cualquiera de sus ediciones) o Windows NT 4.0 (en cualquiera de sus ediciones). Aunque la instalaci de Visual Studio NET agregar cualquier Service Pack necesario, sctualizaré archi vos de acceso a datos, agreguri el Internet Explorer 6 y otros detalles, Cabe hacer notar que con Windows NT 4.0-no podré erear apticaciones ASP.NET, dado que esta tecnologia necesita de IIS 5.x para funcionar. {4 Aprendiendo Visual Basic NET en 21 Lecciones avanzadas + Hardware Pentium Il de 450 MHz, AMD Ké-Il de 450 MHz 0 equivalente, 128 MB de RAM para las versiones Workstation o Professional de Windows, 256 MB de RAM para las versiones Server y 3 GB en la unidad de disco de instalacis, Necesita una uni- ‘dad de CD-ROM 0 DVD-ROM para hacer la instalacién, aunque ésta puede realizarse mediante una unidad compartida en la red, Tarjeta de video eapaz de mostrar una reso- lueién de 800 x 600 con 256 colores. También necesitard um ratén. En algunos de Ios ejemplos de este libra se da por hecho que tiene acceso a un servidor Web IIS 5.x en su equipo. Esto sélo es posible con Windows 2000 o Windows XP. Otro punto importante es que en los éjemplas de In segunda mitad de este libro se truta el acceso a bases de datos, especificamente SQL Server 7.0 0 2000, Si no tiene SQL Server, puede osar el Microsoft Data Engine (MSDE) que funciona de forma similar a SQL Server: Servird una Ibase de datos Access, pero tendré que modificar algunos de los ejemplas en las lecciones de bases de datos para que funcionen de manera adectada. Conocimientos que necesitara Ext libro 8 propio para programadores novatos, sin embargo, se da por hecho que usted ‘cuenta con algunos conocimientos. Se espera que esté familiarizado-con equipos basados en ventanas, incluyendo en el que haya instalado NET: También debe saber copiar, imprimir y abrir archives en. el Bloc de notas, asi como realizar ediciones de texto (cortar, copiar, pegar), A su ver, debe saber conectar su equipo-a Internet y explorar sitios Web. Ademis de esto, no esperamos que ya sea un programador, o que sepa generar bases de datos. ‘Cualquier conocimiento que tenga de estos temas servird de ayuda, pero nuestros ejemplos y ‘explicaciones estin disefiados para ser claros, incluso para quien no haya intentado codificar antes. El sitio Web Este libro tiene wn sitio Web asociado en http: / fam. pearsonadlatino.com/ybnet21 Le, En él, puede encontrar el eédigo de este libro, asf como vinculas complementarios o material ‘que, pensamos, puede servirle de ayuda para comprender Visual Basic INET, Claro que podra usar este libra y seguir todos los ejemplos sin visitar el sitio Web, pero en algusios ejemplos langos podrfa ahorrarse el tecleo con s6lo obtener los archivos de ‘Web, introduccién Esquema de los capitulos Ademiés de onganizar el libro en 21 leceiones, también lo hemos dividido en tres partes. En In Pate | nos enfocaremos en presentatle los conceptos generales de INET y la programacidn, dems de la sintaxis fundamental y las técnicas para generar programas con Visual Basic NET. La pane 2 profundizard en el .NET Framework para darle un conocimiento més profundo de este principio basico para toda su programacidn, y también adquitird las buses para crear programas reales, como la generacién de una interfaz de usuario (con faraulatios Windows Forms y formularios Web Forms) y el trabajo con bases de datos. La parte 3 le presemari al- ‘gunos de los asuntos avanzados en Ja programacién NET, como la generaciém de sus propios ‘objetos, a distribuciGn de sus aplicaciones y el trabajo con XML. y los Servicios Web XML. jimos, trate de ver estas lecciones en orden, pero puede ir directamente: al tema ‘Como ya lo que le interese. Comentarios Hemos trabajade muy duro para que este libro sea una herramienta dil para aprender NET y una adicién invaluable a su biblioteca de desarrollo, Si cree que deberiamos profundizar en mayor o menor medida en un tema en particular, o si tiene sugerencias para mejorar este li- bro, por favor héganoslo saber. Intentaremos incorporar sus sugerencias en présimos libros y en la siguiente revisiée de este mismo volumen, Convenciones utilizadas en este libro Este libro se hasa en varias convenciones para ayudarle a dar prioridad y anotar la informa- ccidn que contiene: Nota Los recuadros de meta proporcionan infarmacidn itil que puede leer de In- mediato, o dejarla para después para no perder el flujo del tema que esté leyendo, tos recuadros de precaucién atraen su atencién a problemas que pueden ‘currir en situaciones especificas y le indican coma evitarios bd Tip Los recuadros de tip resaltan informacion que puede utilizar para hacer que su programacién con VB sea mas eficiente. Aprendiendo Visual Basic NET en 21 Lecciones avanzadas = Estos iconos indican el lugar donde se utiliza y define por primera vez nueva. Esta aparecerd en una fuente cursiva para destacarla Estos iconas, usados en conjunto con ejemplos de cédigo, indican secciones de que el usuario debe teclear. Ea [Estos iconos indican textos.que explican los ejemplos de cédigo. El céidigo se presenta en una fuente monoespaciada. De un vistazo Esta parte tratard los siguientes temas: + NET, Visual Basic y el concepto de la programacicn (lec- » + Cémo configurar y usar Visual Studio “NET para empezar a escribir programas (leccién 2). + La sintaxis de Visual Basic y las técnicas de programacién para tipos de datos, procedimientos y variables (leccidn 3}; control del flujo de! programa —bucles y condicionales— (leceidn 4), y el manejo de errores (leecisn 6). + Céimo organizar y disefiar una solucién de Visual Basic NET (leccién 5), + Conceptos importantes relacionados con el desarrollo orientado a objetos con el que trabajar en este libro (lecei6n 7}. Esta parte e§ muy importante. Establece los fundamestos del canocimiento sobre los que se asienta la programacién con Visual Basic NET. La leccién 1 lo prepara para explorar y aprender Visual Basic al presentarle los conceptos fundamentales de la programaciGn y la plataforma .NET, asf como una breve historia de: Visual Basic. En la leccién 2 aprenderd a utilizar el entorno de desarrollo de Visual Studio para generar proyectos. Las lecciones 3 y 4 lo introduciriin en Ia programaciéin y le pro- porcionarén mucha informacién sobre la sintaxis y los conceptos (entre ellos variables, bucles, instrucciones If, etcétera) que serin parte de:los programas de Visual Basic que escribird a partir de abora, Parte En la leocin 5 se preventan los distintos tipos de proyectos que puede generaren Visual Basic NET y la forma en que éstos se adaptan a la arquitectura conjunta de un sistema. Por iltimo, las lecciones 6 y 7 retoman la codificacién mediame Ia cual aprenden a tratar con errores y a utilizar objetos cn sus programas. Esta parte le proporcionard Ia informaciGn que necesita para continuar con él resto del Libro. asf come los detalles en que se fundamentard cada tema, PARTE 1 LECCION 1 Bienvenido a Visual Basic .NET En la presente leccién responderé las siguientes preguntas para presentarle el mun- do de la programaci¢in con Visual Basic NET: *+ {Qué es la programacion y por qué querria practicarla? + {Cuil es la injerencia de Visual Basic NET en esto? + {Qué es NET? En nuestros dias las computadoras son muy utilizadas, y muchas de las personas que conazco pasan el dia trabajando con ellas. A pesar de esto, la pregunta que recibo con mayor frecuencia es: “zQué hace un programador de computadoras?”, por tal mative, en la presente leccidn me tomaré unos instantes para explicar qué es la programacién ¥ por qué querria practicarla, Qué es la programacién de computadoras ‘Aunque comunmente hablemos de computadoras en términos de sti hardware (tal vez con frecuencia escuche comentarios come “Tengo un Athlon XP 2000+ con 10 Leccién 1 256 MB de RAM", por ejemplo), éste por si solo no sirve, Par ejemplo, la CPU (Unidad ‘Central de Procesamiento, © chip principal de la camputadora, como el Pentium IIT de ba ‘es capaz de realizar muchas tareas importantes, como célculos matemsticos y mover dslos centre las diversas partes del sistema. Sin embargo, por sf solo no es capaz de ieer un archivo del disco duro, Un programa es un conjunto de instrucciones para todos estos elementos de Ihardware, que goneralmente sc eserihen para realizar alguna tarea que cl hardware no llevar a cabo por si sola. Todas las aperaciones bisicas respecto al uso de unidades de memoria, un monitor ¥ una impresora son complejas. Un programa que tuviera que interac~ tuar con estas operaciones pasaria la mayor parte de. su tiempo en esos detalles y slo un pequefio porcentaje del tiernpa lo dedicaria al verdadero propésito del programa, Si un ima para calcular los pagos de un préstamo hipotecario se eseribe directamente: para +l hardware, contendria cientos o miles de lineas para controlar el despliegve ¥ otros tos, y algunas lineas para realizar el cAculo real. Este era el enfoque que se-tomabs mente para programar, y no era may praductivo porque se empleaba muy poco tiempo-en propésita real de 1a aplicacion. La que se necesitaba era un método para que todos esos Iles fueran controlados de modo que los programas se enfocaran en sus tareas espectficas, La funcién de los sistemas operativos Para que esta capa basica de funcionalidad estuviera arriba de la de hardware, se los sistemas operatives. Estas son, por sf mismoas, programas, pero sirven para controlar todos los detalles de Ia sdministracién de memoria, entrada y salida (E/S) de los discos y ‘otras tareas de nivel bajo. Cuando hay un sistema operativo (SO) en una computadora, den escribirse otros programas que no se preocupen por los detalles de nivel bajo, programas necesitan abrir un archivo-o dar formato a un disco, pueden pedirielo al SO ‘que: lo-haga por ellos. Si vemos esto gréficamente (vea la figura 1.1), pademes observar relaciones entre el hardware y el SO, 0 el SO y otros programas, asi como distintas capas funcionalidad. Figura 1.1 El sistema operativo se convierte en Ja interfaz centre ef equipo de cdompu- to y 34 programe, do que Siero operate Te permite a wzted exisar el ciaigo-expecifico del hardware Con frecuencia, las relaciones no se definen con claridad; un programa podria necesitar der de manera directa al hardware (sin tener que pasar por el sistema operativa) para usar carscteristica que no esté contemplada en el $O para mejorar el rendimiento. Fste foe Bienvenido a Visual Basic NET samente el caso de uno de los primeros sistemas aperativos de PC, en donde muchos progra- ‘mas tenian que interactuar en forma directa con el hardware. Estas limitaciones representaban ‘mayor trabajo para las personas que querian escribir software para la PC, debido a que cada programa tenia que controlar a sus propias impresoras, entre otras cosas. Conforme las nuevas versiones de los sistemas operatives ofrecieron una mejor funcionalidad, se facilins escribir programas para ellos. Con el tiempo, Windows reemplazd a dichos sistemas. Una de las prin- cipales mejoras ofrecidas por Windows fue que el SO ahora proporcionaba caracteristicas de imerfaz de usuario a otros programas. En Windows, si un programa necesita mostrar un cuadro de didloge en la pantalla vbc Paso2.vb /t:exe Versisn 7.08.9468 del compilador ae Wicrasoft (R) Visual Basic.NET para Microsoft (R} .NET Framework, versién 1.08,3705- {6} Microsoft Corporation 1987-2001. Reservades tados los derechos, CAAVBAL19Pasc2 Taqui. aparece: Ja informacién det $0! Cémo agregar la funcionalidad para dar informacion sobre la versién Ahora sabe que el cédigo esta correcto hasta ahora (pues funcion6), Io cual establece un buen punto de partida para el siguiente paso. Lo que ahora necesita hacer es obtener la verdadera in- formacién de Ia versién del sistema operative, y mostrarta en lugar de un texto general, Tend que valerse nuevamente del NET Framework para obtener esta informacién, mediante otra caracteristica que ofrece: acceder a la informacién del sistema operative (como Windows XP}. Esta informacién esti disponible a través del mismo objeto System, pero en lugar de usar System.Console, usard System. Environment .OSVersion. Modifique el oddigo de Paso2. vb para que luzca como el siguiente codigo, y guarde el archivo como Paso3. vb. Inports System Public Class Paso3 Shared Sub Wain(} ‘Systen.Congole.writeline (System, Environment .oSversion.Tostringt)) End Sub End Class Compile el eédigo con vbe Paso3.vb strexe (nohay gran diferencta con los dos ejemplos anteriores). Esta compilacién producind un archive ejecutable Hamado Paso3 .exe. Al ejecutar el exe, escribiendo.cn la consola en comando Paso y después oprimiends Entrar, obtend Ja siguiente satida: Bienvenido a Visual Basic NET Gz \AVB\LI>Pasoa Microsoft Windows NT 5.1.260¢.@ ‘Observe que la salida es de un equipo con Windows XP (NT 5.1); obtendri diferentes salidas dependiendo del sistema operative que esté instalado en su equipo. Ahora tendré un pequetio ejecutable que mostrard la versidn del sistema operative, ciertamente un programs til, al me- ‘nos para los administradores de redes. La uplicacién se llama Paso3..exe, pero puede modifi- ccar ficilmente su nombre a algo mas adecuado a su propésito real, Uso del compilador de la consola En los ejemplos anteriores, us6 el compilador de 1a consola para especificar dos cosas: el ‘objetivo del compilador (/t:exe) y el archivo fuente por compilar(Paso1 . vb, por ejemplo). El compilador trabajé de manera adecuada con esas dos opciones, y produjo autométicamente ejecutables con el mismo nombre que el archivo fuente. Sin embargo, hay otras opciones disponibles como parte de este comando. A continuacién se listan algunos interruptores que hallard muy sitiles conforme empiece a experimentar con Visual Basic NET: + Marget: (puede ejecutarse como /t) indica el ‘ipa de salida generada por el compilador. La opcidn winexe genera una aplicacién pa- ra Windows, La opcién exe, que usamos en nuestros ejemplos, genera una aplicacién de consola, y es Jo predeterminado cuando no se usa un interruptor /*t. Las dos apcio- nnes restantes, Library y module, se usan para generar una salida que no serd usada di rectamente, sino que se integrars como parte de otra aplicacién. Conocers mas de estos ‘ipos de salida en lecciones posteriores. + lout: se usa para especificar el nombre del archivo generado, En sus ejemplos, lo omitid, con lo que vbe se valié del nombre de su archivo origen (Pasot .vb) para generar el archivo de salida (Fasot por ejemplo), + fhelp (0 /7) es equivalente a escribir vbe sin opciones; de cualquier forma, como ssalida obtendrd una lista detallada de los interruptores disponibles, + Iverbose hace que el compilador muestre informacién detallada durante la compila- ccién, y puede ayudar a localizar errores. + Preference: (/r: para abreviar) se usa para indicar al compilador que su cédigo necesita algunos otros archivos adems de Jos que estdin incluidos de forma predeterminada. Por ejemplo, si quisiera trabajar con las Porciones System.Web del NET Framework, necesitaria agregar una linea Isports ‘System.Web al inicio de su cédigo fuente, y luego especificar /r:system.web.d11 3 3 Leccién 1 Resumen Esta leeci6n traté algo del trasfondo de 1a programacién de Visual Basic y de NET antes de generar un pequetio programa, En este punto, est listo para aprender al propio Fenguaje em st, y escribir programas mis complejos. Visual Basic es uno de los lenguajes de programacién nds populares en el mundo, y usted ya ha avanzado wna leccién en su paso para conocerlo a profimdidad Preguntas y respuestas P- ;Por qué Visual Basic NET difiere tanto de las versiones anteriores? R_ Visual Basic ha evolucionado-con el tiempo. Cada versiGa ha sido muy similar a la anterior, pero en ciertos puntos era necesario. un nueva disefio como el de NET para asegurarse de que el lenguaje fuera al paso de los cambies de la industria, come Inter- et y el edimpute distribuido, P- He ida de otro lenguaje de NET, Ce, Visual Basic NET? R. Ces un estupendo lenguaje, que €s una modalidad més sencilla y Feil de usar de C++, Pero no, no tenddri que sprenderio, Tacos fos lenguajes de INET son iguales en términos de sus facuhades: si puede crear cierto tipo de aplicacién en CW, puede hacer- ioen Visual Baske NET. Tal vez vea que muchos ejemplos de Microsoft aparecerdn en C#, tan s6le porque es un lenguaje que tanto los desarrolladores de Visual Basic como los de Visual C++ encuentran facil de leer. .Debo aprenderia en lugar de, 0 ademas de, Taller El taller esté diseflado para ayudarle s anticipar posibles euestionamientos, asi como a repasar y poner en prictica lo que ha aprendido. En el apéndice A encontrand las respuestas al cuestionario y a los ejercicios. Cuestionario 1, {Cuil producto de Microsoft fue el antecesor de Visual Basic? 2. (Por qué todos los lenguajes de NET (Visual Basic NET, Cf, eteétera) comparten ciertas caracteristicas (el NET Framework, métodos para la.creacidn y el use de objetos, etcétera)? 3, ¢A.qué le llama “proceso de convertir el cédigo fuente (sus programas) a cédigo de méiquina” (como un archive exe)? Bienvenido a Visual Basic NET 4. Analice el siguiente cédigo: Public Glass wiClase shared Sub wain() End Sub End Class Si este cOdigo se guardara en wn archivo llamado MiCodigoFuente. vb, y luego se eje= cutara el comando vbe /t:exe MiCodigoFuante.vb, ;qué archivo se generaria? Ejercicios 1. En Jos ejemplos no especificd un archivo de salida al compilar, lo que provocé que el compilador usara el nombre predeterminado del atchivo fuente. Vuelva a compilat Paso3.vb, y especifique el nombre de archivo de salida Que0s. exe, 2. Para obtener la informacién de version, utilizé el objeto System. Environment, que tiene otras propiedades dies. Valgase de Ia documentacin que est instalada con. Visual Basic (vea la seceidn “Alistese para codificar” de esta leccién) para ver qué hay dispo- *, ¥ cree otro programa para mostrar una o varias de estas propicdades adicionales. 3 iS Copyrighted material PARTE 1 LEccION 2 Uso de Visual Basic .NET En la leocidin 1, “Bienvenido a Visual Basic NET”, estudié cierta informacién gene- ral de la programacién de Visual Basic y de .NET. Esto le dio las bases necesarias para empezar a generar aplicaciones. En esta leccién generard una verdadera spli- cacién para Windows con Visual Basic, y durante el proceso trataremos los siguien tes temas: + Uso del IDE de Visual Studio, * COmo trabajar con soluciones, proyectos y archivos, + Creacién y ejecucién de un proyecto de ejemplo para Windows. Empezaré con un pasco por el IDE de Visual Studio, En la leccién anterior hablé de los IDEs, pero vale la pena recordar el significado y propésito de un IDE, [38 Leccion 2 El IDE de Visual Studio Un IDE (entorno de desarrollo inteprado) pretend ser un entorno dinice de trabajo para tos ‘desarrolladores, En general, el oédigo fuente es sdlo texto y puede ser tecleado y modificado ‘en cualquier editor de texto (por ejemplo, en el Bloc de notas), usar desde la linea de comandos sin gran problema, por lo que cesario. Sin embargo, hay pocos programadores que prefieren trabajar en un lenguaje que no tiene algsin tipo de IDE, Inclism las tareas mis sencillas, como modificar y compilar el eddi- -g0. 56 simplifican enormemente en el IDE de Visual Studio, ademis de que éste ofrece otras facultades adicionales imposibles de lagrar sin él Empecemos Para utilizar e! [DE.de Visual Studio, primero debe instalarlo en su equipo, Este proceso ya se detallé en la leceidn anterior, asi que puede acudir a ella si necesita completar la instalacidn antes de continuar, Configuracién del perfil Lo primero que vera cuando-arranque Visual Studio NET es una interfaz tipo pagina Web (mareada como pagina de inicio de Visual Studio), que le pedir que confirme su configu racign de perfil. El concepto de un perfil es nuevo en esia versidn de Visual Studio, y es una jacién del concepto de preferencias de usuario que le da la facultad de establecer ‘sas opciones mediante un perfil nico, Las opcianes bisicas provistas estin disefiadas para ‘acilitar 9 transicidn a este entomo de acuerdo coa su preparacién en particular. Esta confi- guracién me lev a elegir répidameme las opciones que aparecen en la figura 2.1, No obstan- te, luego de unas cuantas horas de uso ya habia modificado la configuracivin en algo un tanto distito de los perfiles predeterminades, Tal vez usted termine bnciendo lo mismo, Por el momento, seleccione el perfil def Programador de Visual Basic: pouird regresar poste- riormente a esta pagina para modificarlo si asf Jo desea. Haga clic en el hipervinculo Intro- sduccidn para salir de 1a pagina de configuracién del perfil. Lo que ahora tiene ante usted se considera come ef drea principal de trabajo del IDE de Visual Studio, un lugar general que contiene informacién diversa, como el cédige que escriba o las paginas Web que disefie. Tam- bbign comiene un explorador Web integrado, que se abre de manera predeterminada; se usa [para mostrar una interfaz tipo Web en Visual Studio En esta pagina de inicio (vea fa figura 2.2), se proporcionan diversas opciones tities. La pri- mera, Introduccidn, es la que apareceri cada vez que abra Visual Stusio. Disefiada come una plataforma de lanzamiento de su trabajo, esta pagina Je proporciona tanto una lista ce proyec- tos recign abiertos como un vinculo para generar uno, lo que le permite wilizar un solo clic en esta pagina para ir a casi cuakjuier lugar. Por ahora, clegiré una de lis opciones de explo- racidn que-estin a la izquienda de esta pagina. FiGura 2.1 ELIDE de Visual Suution NET se puede persa- nnalzar para facilitar la transicidn desde otras herramientas de desarratto, incluso la versidn anterior de Viswal Basic. ‘Figura 2.2 La piigina de inicio Viswal Studio dr wna ‘vista funcional de los (proectos que ha abier- 4o recientemente, jie con el accesa a varias fucates de informacion, Entre las dems opciones del lado inquierdo se encuentran: + Los detalles de tas nuevas caracteristicas de Visual Studio NET. El vinculo-Lo nuevo lo Neva a distintos recursos de Intemet, como grupos de noticias, y el vincule Comunidad. en linea lo lleva a las paginas de la MSDN. + Una pigina activa de noticias de Visual Studio y otros temas relacionados.can el desarro- Mador (Titulares, vea la figura 2.3), Leccion 2 = Un vinculo directo para hacer bdsquedas en Web (Biisqueda en linea) y otro para des- carga. + Un vinculo (Mi perfil) que lo regresa a la pagina de seleccién de perfiles que parecié en forma predeterminada cuando ejecuté por primera vez. el IDE. Todos éstos son recursos muy valiosos para un desarrollador de Visual Studio, lo que convier- te a esta pagina en un buen punto de partida para muchas personas. Pero si quiere hacer adi- clones a tales opciones o reemplazar todo el conjunto de paginas, el cédigo fuente completo de la pagina predeterminada esté disponible en \Archives de programa\Microsoft Visual Studio .NET\HTML. Sin embargo, es necesario que sepa lo siguiente: las péiginas predetermi- nadas no son seneillas, y podria ser fic dafiarlas mis que repararlas. ;Por seguridad, haga tuna copia de la carpeta antes de: cmpezar a hacer los ajustcs! Figura 2.3 La informacién relevante ‘Para wn programador de Viswat Basic NET con frecuencia pwede encon- ‘rarse en el sitio Web nsdn, Microsoft, com, Los puntos importantes de tal informacidn se despliegan autamdtica- mente en secciones de la ‘Pagina de inicio de Visuat Studio. Las principales ventanas del IDE de Visual Studio Esta piigina es muy iil, pero slo es una de las diversas ventanas disponibles en Visual Stu- dio; conocerd a la mayorfa de ellas en esta leccién, Si eligié el perfil Programador de Visuat Basic, tendri varias ventanas visibles: el explorador Web integrado (ya mencionado), el Ex- plorador de soluciones, Propiedades y ¢l Cuadro de herramientas a la izquierda. Las demis Ventanas, que trataré en esta leccin, pero que no estin visibles de manera predeterminads en el perfil actual, son; + Examinador de objetos. + Ventana de comandos, + Lista de tareas. + Vista de clases. + Explorador de servidores. Hay otras ventanas que trataré posteriormente. Caracteristicas comunes de las ventanas Todas las caracteristicas de estas ventanas, incluso él concepto total de varias ventanas peque- fias, giran en tomo al uso més eficiente del espacio. En cualquier IDE, y especialmente en Vi- sual Studio NET, la cantidad de opciones disponibles y herramicntas cx. casi ilimitada, pero el ‘érea de su monitor no lo.es. Una solucidin a este problema es que cada desarrollador adquiera tun monitor de 21 pulgadas (jo mayer!), Por alguna extrafia razén adn no-es.comédn tenerlos, Por lo tanto se tuvieron que desarrollar otros métodos. Uno de ellos ex dividir lax opciones disponibles para el usuario en ventanas distintas, que es el método seguide por Visual Studio NET. Ahora, el objetivo es hacer que la colocacién de estas ventanas sea sencilla y flexible para que los desarrolladores generen su entomo de trabajo ideal. Cada una de estas ventanas individuales se conoce como ventana de herramientas. Los miemibros de una ventana de este tipo comparten caracteristicas en comiin, como la facultad de acoplarse 0 desacoplarse, ocul- tarse, combinarse en grupos de ventanas separados por fichas, etcétera, Todas ellas pueden ‘cambiar sus tamaiios de distintas maneras, Acoplamiento y desacoplamiento Con el perfil Programador de Visual Basic seleccionado, las ventanas Explorador de solucio- nes y Propiedades se acomodan a la derecha de Visual Studio, y el Cuadro de: herramientas a la izquierda (vea la figura 2.4). La colocacién de una ventana en el borde de otra se conoce como acoplamiento, Una ventana acoplada se fija al borde en uno, dos o tres lados (dos lados si se acopla en una esquina, tres si se hace a un extremo). Cualquiera de las ventanas de herramientas de Visual Basic NET puede acoplarse, y no hay restricciones respecto a en qué bordes de Visual Studio pueda acoplarse. Para llevar una ventana acoplada a otra érea de la pantalla, puede arrastraria por su barra de titulo con ef ratén y colocarla en la nueva posicién. Al hacer el arrastre, verd en la pantalla tun recuadro que le mostrard dénde se colocars Ia ventana si suelta el bot6n del ratén. Para acoplar fa ventana en otro lade de! IDE, s6lo arristrela al borde que dese del IDE y suelte el botén del ratén cuando el recuadro muestre el resultado deseado. En el proceso, tal vex note que el recuadro parece no acoplarse a ningyin borde del IDE (vea la figurs 2.5). A Leccion 2 Figura 2.4 Cuando Visual Studio NET se establece en el perfil Programader de Visual Basie, acamoda sus ventanas de forma similar al IDE de Visual Basie 6.0, Ficura 2.5, El recwadees de wer wentana que estd siendo sarrastrada cambia para Indicar to que acurriria si dejara de arrastrarta cen algiit lugar em par- ticular. Si soltard el botdn en ese momenta, la ventana de herramientas quedaria “desacoplada”, tam- ign conocida como ventana flotante (vea la figura 2.6), sin haberse adjuntado a ninguno de tos bordes det IDE. Uso de Visual Basic .NET Figura 2.6 Si tiene suficiente ‘espacio en la pantatia, (puede dejar sus ven- tanas sin aceplar. ‘Cuando la ventana esté desacoplada, puede volver a acoplaria mediante ¢! mismo procedi- miento que usd. para desacoplarla, Puede ser un poco dificil volver a acoplar una ventana en el mismo lugar donde estaba iniciaimente, pero le voy a dar una sugerencia: en lugar de “rrastrar la ventana para acoplarla y desacoplarla, haga doble clic en la barra de titulo, Esto desacoplaré una ventana de herramientas o la volver @ acoplar, segin sea el caso, Ocultar ‘Atinque las ventanas estén acopladas 0 desacopladas, ocupariin espacio en su pantalla, No obstante, es posible ocultar o cerrar las que no quiera tener a la vista, Cada ventana de herramientas tiene tin bot6n X para cerrar tal ventana (vea la figura 2.7), Para volver a desplegar la ventana, necesitard usar una opeién de mena. Por ejemplo, si hace clic en el botdn X del Explorader de soluciones, éste desaparecerd. Pura desplegarlo nueva- mente, nécesitard seleccionar el memi Ver | Explorader de soluciones (u oprimir Ctr1+R}. Esto no es muy complejo, sobre todo si se trata de una ventana que no utiliza mucho, sin embargo, zy si se trata de Ventanas que no requicre cn este momento, pero que utiliza con frecuencia? El IDE de Visual Studio .NET proporciona una forma de recuperar el espacio cocupado cn pantalla por tales ventanas, al tiempo que las mantiene ficilmente: accesibles: la caracteristica Ocultar autométicamente. Cada ventana acoplada tiene un icono en forma de pequefia tachuela en su barra de titulo (vea la figura 2.8), 43 Leccion 2 Figura 2.7 Las venranas de ‘herramientas pueden ‘cerrarse con el born X, Jo que fas ocultard ‘hasta que as veelva ‘a necesior Figura 2.8 Toda venuana de herra- smientas tiene una pe- queria taciuela que te ‘permite fiir la ventana en una posicién abierta. Este es un bot6n alternative que controla si la ventana deberd ocultarse no cuando no se use. De manera predeterminada, a ventana Explorador de scrvidores blecida para utilizar esta caracterfstica y s6lo muestra un pequefio botdin gris a la del IDE. Si mueve el puntero del ratén sobre este botén aparecerd Ia ventana Explorador servidores. Cuniquier ventana de herramientas con la.opcién Ocultar autométicamente. Uso de Visual Basic .NET se convertini mecdinicamente en una etiqueta o botdn en el lade del IDE al que esté acoplada, La ‘ventana aculta se hard visible cuando el usuario coloque el puntero del ratén sobre la etiqueta, Jo que significa que la ventana sélo ocupuré espacio cuando sea necesario, Esta caracteristi- cca, junto con la opcidn de meni Ventana | Ocultar todo automaticamente, es lo que usé para configurar Visual Studio a mi gusto (vea la figura 2.9). Esto deja ¢l espacio maximo para la ventana principal, donde se desplegard el césligo cuando tenga que trabajar en él, Una interfaz como ésta tal vex no sea tan necesaria cuando trabaje en un monitor de pantalla grande, pero para un usuario de una computadora portitil esto es perfecto. Ficura 2.9 Puede wtilisar Ocular saiomdticamente para snaimizar sie dred cen tral de trabajo. que ex donde modificarté tanto ef cddigo como lox ob jetos visnates. Fichas (Ovra caracteristica para ahorrar espacio es que varias de las ventanas de herramientas pueden combinarse en un drea de Ia pantalla, donde se acomodarian como fichas independientes en tuna ventana con varias de ellas (vea la figura 2.10). En el pesfil Programador de Visual Basic hhay varias ventanas que se han combinado (por ejemplo, el Explorador de soluciones compar- te el espacio con la ventana Vista de clases, y las ventanas Propiedades y Ayuda dindmica es- tin configuradas de forma similar), pero es posible combinar de cualquier forma las ventanas de herramicntas. Para agregar una ventana a un grupo de fichas, para generar una ventana con fichas, silo ‘arrastre una ventana de herramientas hacia otra, y suelte el botén del ratén cuando el recuadiro cambie para indicar una ventana con ficha. Esto ex cuando aparece un pequefio indicador de ficha en la parte inferior del recuadro. Para quitar la ventana se hace del mismo modo, Sim- plemente, arrastre una de las fichas fuera del grupo hasta que el recuadro pierda su indicador de ficha, y luego arrdstreta a su nuevo lugar. 45 Leccion 2 Figura 2.10 Las fichas permiten que ‘hay varias ventanas et wi misnio espacio dela penta. ‘Cambio de tamafo Es posible eambiar el tamafio de cusiquier ventana de herramientas, pero si esté acoplada Puede ajustarse el tamaiio de los bordes que no estén acoplados, Para cambiar el tamafio de tuna ventana, caloque el puntero del ratén en el borde que desee hasta que se corvierta en indicador para cambiar tamafio (que mostrar la direcci6n en que podré hacerse el to). Una vez hecho esto, haga clic y arrastre el borde en la direecién deseada para aumentar reducir el tamafio de la ventana, Observe que si arrastra el borde de una ventana que est plada con otra, ¢! tamaito de las dos cambia, puesto que una tendra que reducir su tamaio: ra que la otra lo aumente, Cuadro de herramientas ‘Una de las ventanas més utilizadas, el Cuadro de herramientas. proporciona un listado de versas secciones de cédigo, elementos de interfaz y otros elementos para que los agregue a sus proyectos, La lista de elementos mostrados dependerii de lo que se esté editando actual- mente en la ventana principal del IDE, Por ejemplo, si no hay algo seleccionado, 0 s6lo ‘estd el explorador Web en la. ventana principal, entonces el nico elemento disponible en el (Cuadro de herramientas sera el icone del puntero, Este icono, que siempre esti presente, se Proporciona como una forma para cancelar la seleccidn de otro elemento del Cuadro de micntas. Si modificara algo, como el cédigo HTML de la pagina principal de Visual (haciendo clic con el botsn derecho en el explarador Web y seleccionande Ver cédigo entonces s¢ agregarian fichas adicionales en el Cuadro de herramientas, En el caso de la edicidn del cédigo HTML mencionado anteriormente, se agregard una ficha HTML (vea Figura 2.11) que contiene varios elementos que repreventan distintas etiquetas, Figuna 2.11 ‘Cuando modifique HTML, todos las elementos comunes de interfaz HTML estarén sdisponibles en ei Cua- dre de herramientas. Cualquier elemento, excepto Puntero, se puede utilizar en una de dos forma: + Armastrando el elemento en la ventana de ediciGn y colocdindolo donde lo dese. + Haciendo doble clic en el elemento, con le que se colocars dicho elemento en el punto de insercidn elegide (en el lugar en que se encuentre el cursor en Ia ventana de edicién cuando haga doble clic en el elemento), _Ambos métodos estén disponibles en todos los documentos, pero si el documento es una in- terfaz grifica (por ejemplo, un formulario Windows Forms), entonces las opciones anteriores se comportan de manera ligeramente distinta: + Arrastrar ¥ colocar el elemento en el documento visual funciona igual que con ¢l texto, pero en lugar de un cursor de insercién aparece una figura del elemento, al mover su ralén en el documento, + También funciona hacer doble clic, pero como un elemento visual no tiene un punto de inserciGn, el elemento aparece al centro def documento. + Una teroera opcisn, exclusiva del modo grifico, es hacer clic en el elemento para selec- cionatla en el Cuadro de herramientas, y “dibujario” en la interfaz con el métado de arrastrar y colocar. Esto delinea el tamafio y ubicacién donde desea que se agregue el elemento, y éste se genera de acuerdo con ello (vea la figura 2.12), Leceion 2 Frouna 2.12 Puede dibwjar elementos: visuales, como cuadros de texto, nun form- lario wna vez que los haya seleccionade-en et Cacia de herrea: Nota Existe cierta ambigGedad en las descripciones anteriores, lo que podria ha- -cerle pensar que utilizar el Cuadro de herramientas es mas compleja de lo ‘que parece. De hecho, tal ambigdedad es resultado de la naturaleza de! IDE dé Visual Studio, que esta disefado para dar servicio a una amplia ‘sidad de lenguajes de programacién, algunas de los cuales ni siquiera estén disponibles atin, Con esta perspectiva, el comportamiento exacto del IDE {o de cualquiera de sus partes, como el Cuadro de herramientas) es dificil ‘describ. Sin embargo, puede tener la confianza de que siempre funcionard en la forma general en que-se ha descrito, sin importar qué lenguaje lo use. Un poco mas adelame le presentaré un ejemplo del uso del Cuadro de herramientas con documento visual, en cuanto usted genere un formulario Windows Form como parte de primera aplicacidn que creard utilizando el IDE, El Cuadro de herramientas puede ‘cualquier seccidn de texto arbitraria, ademas de lo que ya inchiye: para la edicién HTML, sarrollo de formularios, y otro tipo de trabajos, 1o que significa que puede generar sus ‘elementos que represenien secciones de texto. Esta caracteristica es una forma itil de que cierta seceién de texto (que puede ser, y casi de seguro seré, cédigo) que crea utilizar frecuencia, esté disponible fcilmente. Para lograr esta maravilla de productividad, seleccione el texto deseado en la ventana de -cidn (si no hay ningiin texto, tecléelo primero), y arristrelo al Cundro de herramientas. El puntero del ratén marcard la ficha del Cuadro de herramientas donde pox colocar su ‘Como se muestra en ta figura 2.13, elemento mostraré un nombre predeterminada soso con el botén derecho ly seleccionar Cambiar nombre de elemento para darle una descripeién adecuada, ;Listo! Ahora tiene un nuevo elemento propio en el Cuadro de herramientas que podrd usar cuando Jo desce con s6lo arrastrarlo a la ventana de edicion. Figura 2.13 Es posible colocar cédigo, HTML w otras secciones de texto, en ef Cuacdro de herramientas y despuds utilizarios (arrastrandolos a las ventana de cidigo 0 HTML) como cualquier ‘otro con, ‘El Cuadro de herramientas, como el resto del IDE, tiene muchas otras opciones que no tratare, ‘como la facultad de agregar fichas (que son lis secciones destizantes del Cuadro de herramicn- tas), cambiarles el nombre y modificar la vista de cualquier lista de iconas de la seccidn, Estas ‘otras caracteristicas extin disponibles mediante el meni contextual (que aparece al hacer clic ‘con el botdn derecho) dei Cuadro de herramientas, y también estén documentadas en los archi- ‘vos de ayuda del IDE. ‘Comando/Inmediato Ha necesitado ir a Ia consola de Windows (o ventana de comancdos, como también ¢e cono- ce) para realizar una tarea’ Para muchas personas, algunas tareas pueden hacerse mejor en la. ‘consola y con el teclado, que con el ratdn y alguna ventana grifica. Puesto que el objetivo principal es la productividad del desarroliador, vale Ia pena intentar cualquier método: que agi- lice su trabajo. Visual Studio INET incluye una ventana que proporciona dos formas basadlas en consola para trabajar con el IDE. Una, la ventana Inmediato, ha sido parte de Visual Basic dese los tiempos de Quick BASIC; la otra, la ventana Comando, ha estado presente en Fox Pro por muchos aios y por fin se agreg6 a Visual Studio En cuanto al uso, en realidad son dos ventanas, pero se han combinado para hacer las cosas lun poco mis confusas. Puede considerarias como dos ventanas (abi voy de nueva). una vez que ‘comprenda dos puntos clave: cémo cambiar el modo de la ventana (de Comando a Inmediato, 50 Leceion 2 y vieeversa} y cémo saber en qué modo esté la ventana. Primero Io primero: despliegue esta ventana seleccionande Ver | Otras ventanas t Ventana ge comandos. Esta ventana, que ahora se llama Ventana de comandos, contiene el indicador > (es muy semejante a la consola de Windows, pero sin la unidad de disco}. Esta ventana estd en el mo- do Comande, en el que puede teclear el comande que desee y oprimir Entrar para ejecutario, Para cambiar Ia ventana al modo Inmediato, puede teclear el comando dawed (y oprimir Entrar) en el indicador. Ahora, la ventana se habrd cambiado al mode Inmediato, lo que se puede distinguir por la adicié de - Inmediiato al titulo de esta ventana y la supresisn del indicador >. Para regresar al mado Comando, teclee >emd y oprima Entrar (no olvide incluir cel simbolo >), Ahora que ya sabe cémo alternar estos medos, podré examinar el propésite y uso de cada uno El modo comanclo-es Ia ventana que le permite controlar el IDE mediante la introduccién ‘de comandos; por ejemplo, si teclea File NewProject, serd lo mismo que clegir ef ment Archivo { Nuevo | Proyecto, Con frecuencia, una interfaz de consola puede ser mas égil que una imerfaz grifica de usuario, Esta duplicacién de funcionalidad se ofrece como una forma potencial de agilizar su trabajo dentro del IDE. Hay una. gran cantidad de-comandos dispoi- bles, pero la manera mis sencilla de encontrar muchas de ellas es recorrer los nombres de los meniis visibles. El idioma en que aparezcan los comandos dependerd del idioma de su IDE de Visual Basic NET. En este libro, los comandos aparecen en espaol. Una vez que haya te- cleado un nombre (como Ediedén o Archive), agregue un punto y aparecerd una lista de los ‘comandos disponibles para ese mend. La siguiente es una pequefa lista de comandos que vale Ta pena conocer Archive .Mueveproyecta ‘Archive. Quardarteda Ventana, Ocul tartedoautondticanente De hecho, con s6lo oprimir una letra aparecerd uns lista de los comandos que inician con esa letra, Ahora bien, en lo que respecta a la ventana Inmediato, estd disefada para evaluar ins- irucciones de forma directa ¢ inmediata, Esto Je permite teclear una linea de cédigo y ver los resultados sin tener que generar todo un proyecto de ejemplo, Esta caracteristica se puede utilizar cuando esti en modo de interrupcidn, que es cuando ha detenido la ejecucién de un [Programa en progreso. Creemas un proyecto de ejemplo ripido, en el que usard un "punto de imerrupciin™ para que la ejecucién del programa se detenga en cieria linea del eédigo. (Los puntos de interrupcién se tratarén a profundidiad en la lecci6n 6, “Qué hacer cuando los bue- nos programas fallan, y asegurarse de que ya no lo hagan”, dada que en realidad es una herra- mienta de-depuracién, } Para empezar, en este ejemplo usard Ia Ventana de comandos, simplemente para que sepa lo til que le seri en el futuro, Asegdrese de que ta Ventana de comandos esté visible y en modo ‘Comando (ya sabe, con el indicador >), Teciee el siguiente comando Archive.Nuevoprayecto: {y oprima Entrar, A continuacidn aparecerd un cuadro de didlngo. que le pedird el tipo de Uso de Visual Basic NET proyecto que va a generar. Seleccione la carpeta Proyectos de Visual Basic de la lista Tipos de proyectos, y el icone Aplicacién para Windows de la lista Plantillas. Hage clic en Aceptar para cerrar e] cuadro de didlogo, y a continuaci6n se generari un proyecta en blanco. E] proyecto que ha generado contiene tin formularie Windows Forms, por lo que tendra que agregarle su propio eddiga. Pero tras bambolinas, Visual Basic ha colocado cierta cantidad de cédigo en su formulario, Io necesario para generar y establecer los valores iniciales del nuevo formularia en blanco, Puede ver tal eddigo haciendo clic con el botdn derecho en el formu- Iario (Ia ventana central del IDE) y eligiendo Ver e6digo. Esto agregard y clegiré una ficha de la ventana central, que es una ventana de cédigo que mostrari el que esti asocisdo con este formulario, Puesio que no ha agregado nada a su formulario, el cOdige es muy poco, pero es suficiente para el ejemplo. Seleccione la linea We.Text = ‘Form, aunque necesitard expandir el eddige donde se ‘encuentra; haga clic en el signo de suma (+) que esté a la izquierda de la linea gris Codigo generado por el Diseflador de Windows Forms, y aparecerin varias lineas, entre cllas, la que nos interesa. Hay tres formas diferentes de marcar esta linea (y las que quiera) como punto- de interrupeién. Una de ellas es hacer clic en el margen izquierdo-de la linea (la secciGn gris en Ia ventana de cédigo); otra es hacer elic con el borin derecho en la linea de eddige y selec- cionar Insertar punto de interrupcién, y la tercera es oprimir la tecla F9. Con el métode que sea, se agrega un punto de interrupcidn que se marcard con una linea roja y un punto en el margen izquierdo, Una vez. colocade el punto de interrupcién, puede ejecutar el proyecto, y la ejecucién se de~ tendrd cuando llegue a esta linea. Para arrancar el proyecto, también hay tres formas: una es usar el botén de la barra de herramienias (que se parece al botGn de reproduccién de un lector de CD o una videocasetera: vea Ia figura 2.14); otra es usar el menti Depuracidn | Iniciar, y la rercera ¢s oprimir la tecla PS. La opcign que use dependerd de su preferencia, Muchos progra- madores se dan cuenta que, a la Targa, los accesos directos mediante las teclas son la forma mis sencilla de acceder a las funciones mas comunes, ‘Cuando arrangue el programa, se detendré ripidamente y mostrard Ia linea de codigo que mare6 como punto de interrupciGn. Ahora se encuentra en modo de interrupcidn (indicado por eltexto [interrumpir] que se despliega en la barra de titulo de! [DE de Visual Studio). La flecha amarilla que puede ver en él margen de la ventana de cédigo indica la linea que se ejecutard, En ese momento podré ir a la Ventana de comands y convertitla en Inmediato para hacer unas pruchas, Si su Ventana de comandos estaba visible antes de arrancar el proyecto, atin debe estar ahi, aunque la dispesicidn de las ventanas se haya madificade un poco, porque algunas ventanas se abren automsticamente cuando estin en medio de la ejecucién de un proyecto, Si la Wenta- na de comandos no estaba visible, dbrala utilizando el método ya conocido. 5 1 kz Leccion 2 Figura 2.14 Las barra de herramiien- a3 afrece botones para arrancar y detener fa ejecucién del programa, con iconos que semacjan Tos de wna videocaseterd. Cambie ta Ventana de comandos a mode Inmediato y teclee cualquier instruccién de Visual Basic (obvio, oprima Entrar después de teclearla). Fsta se ejecutars de inmediato (de aqui el nombre}. Intente con las siguientes instrucciones: 7 Me width Me.Width = 56 ‘Cuando esté en la ventana Comando/inmediato, las teclas de fllecha arriba y abajo na siempre le permitiran subir © bajar lineas, sina que le mostraran los ‘comandios previamente tecleados. Si selections una lines anterior (en la ven- ‘tana) y le agrega texto, se crearé de manera automética una copia de esta lt nea al final de Ia ventana, Esto hace que cualquier texto anterior 2 la ultima linea sea de sélo lectura, Ya vio el signo ? que precede a algunas de las instrucciones? Esto equivale a “print” o “des- plegar”, y sin él, Visual Basic no sabria qué hacer con las instruceiones que devuelven un va- lor, Por ejemplo, 3 + 5 es 8, pero sin la instruccién de desplegar, Visual Basic devolveria un mensaje de error de sintaxis. Por otro lado, instrucciones como Me.Width = Me.Width * 2 son correctas y no necesitan el signo 7. Oprima FS para que la ejecucién del eéigo continde después del punto de interrupcién, y el formulario aparecers en la pantalla. En realidad sera més angosta que st tamafio original si ejecuté las instrucciones que le indiqué. Como puede ver, es pasible afectar partes de st pro- grama desde Ja ventana Inmediato, lo que la convierte en una excelente herramienta para depuracién. Ayuda dinamica Esta ventana esti configurada como una ficha de la ventana Propiedades (si usa el perfil Pro- gramador de Visual Basic), y proporciona documentacién basada én el contexto proveniente de los archivos de ayuda de Visual Studio, En vez de esperar a que usted solicite ayuda, Uso de Visual Basic .NET oprimiendo la tecla Fl, esta ventana de herramientas muestra en forma proactiva temas rel cionados con lo que escribe en la ventana de cédigo. En la figura 2.15, la ventana Ayuda dind- mica muestra un conjunto de temas relacionados con la etiqueta HTML elegida en Ia ventana de cédigo. Ademds de los temas de ayuda directamente relacionados, usualmente mostrar tun vinculo a otros temas como (en este caso) las secciones Técnicas de codificacién y précti- ccas de programaciGn de la documentacién. Esta ventana también afrece un vinculo ripido a las secciones de contenido, indice y busqueda de la documentacién de ayuda mediante los {res iconos que aparecen en Ia parte superior de Ia barra de herramientas. Figura 2.15 La ventana Ayuda dind- ‘mica intenta moserarle informaciém visit antes de que la solicite. Explorador de servidores Esta ventana de herramientas (vea Ia figura 2.16) proporciona un listado visual de dos re- cursos principales: Conexiones de datos. y Servidores, El primero representa a todas las conexiones establecidas entre su proyecto y diversos servidores de bases de datos, y Je per= mite explorar tales bases de datos para ver las tablas, procedimientos almacenados y otra informacién st El segundo conjunto de informacién, Servidores, representa a cualquier equipo o servicio al que se pueda conectar y que provee una interfaz visual de los recursos disponibles para su programa, Entre ellos se encuentran los Contadores de rendimiento, Registra de eventos, Co- las de mensajes, entre otros, todos ficilmente visibles mediante esta ventana de herramientas, La lecei6n 13, “Uso del Explorador de servidores”, trata a profundidad el uso de esta ventana de herramientas para encontrar y manejar recursos del servicior. Leceion 2 Figuna 2.16 El Explorador de servi- ores ofrece una forma visual de mostrar asar los recursos tant de las -servidores locales coma de otros equipos. Propiedades EL IDE de Visual Studio: le permite trabajar con diversos elementos, proyectos, soluciones, formularios, clases. ete¢tera. Todos ellos tienen atributos 0 propiedades que describen cada ‘elemento (como el nombre de un proyecto), Aunque es comin asignar valores dos a las propiedades, usted necesita algiin medio para modificarias. La ventana se lo proporciona, Cuando elige un elemento en ef IDE, sus atributos se muestran en esta tana (vea la figura 2.17). Algunos de estos atributos podrian ser de s6lo lectura (no pueden modificadas); si éste fuera el caso, puede hacer elic en Ia propiedad deseada y modificarla -conforme sea necesario, Explorador de soluciones De muchas formas, el Explorador de soluciones es muy parecido al Explorador de Es la imerfaz para administrar archivos imegrada en Visual Studio .NET. El oddigo que én este entorno se puede organizar con base en distintas capas de agrupamiento: proyectos y archives, La ventana Explorador de seluciones le permite ver todos estos: disponibles en sus grupos o: ventanas respectivos. Los nodos Solucién conti¢nen —es decir, aplicaciones y sus componentes individuales— como un sistema completo, su vez, incluye los componentes para ejecutarse tanto en el cliente como en el servidor. cada nodo Proyecto se encuentran todos los archivos que lo forman (clases, formularios y otros elementos). Figura 2.17 Cuando efige un objet en le ventana Edicion (en este caso, un cuadro de texto de un formu- (ario), la ventana Propiedtades muestra todas sus atributos, ‘Ademas de permitirle ver lo que esti abierto en este momento, ef Explorador de soluciones le ofrece una funcionalidad variada. Mediante esta ventana usted podria: + Agregar archivos a un proyecto (haga clic con el botn derecho en el proyecto y selec- ione Agregar). ‘+ Quitar archivos (haga clic con el botin derecho en un archive y seleccione Quitar). = Agregar y quilar proyectos completos de un grupo de solucién (haga clic con el botén derecho en Ia solucién para agregar un proyecto, o en un. proyecto para poder quitarla de Ia soluci6n). Vista de clases (Como parte del tema del Explorador de soluciones, dije que podria haber muchos archivos distintns involucrados con un solo proyecto a solucidn. Estos archivos con frecuencia corres- ponden con las clases gencradas (como una clase Vehiculo © una Cuenta), pero la organiza- cidn de los archivos no-evidenciard necesariamente la organizacién conceptual de las clases enel proyecto, La ventana Vista de clases (vea la figura 2.18) estd disefiada para permitirle ver la estructura de objetos de su proyecto y ser usada para explorar su cdigo, En esta ventana puede contraer y expandir los objetos mostrados para acceder a las diversas propiedades y métodos que exponen, Haver doble clic en un elemento en particular de la Vis~ ta de clases, lo llevard a tal clase, método, evento, propiedad o procedimiento, Si el elemento en el que hizo doble clic no esté disponible como parte de su cédigo, la Vista de clases lo le- vard a la definicién de tal porcién de la clase dentro del Examinador de objetos (vea la si- Buicmte seceién), La Vista de clases es dtil como una forma para ver su proyecto mediante sus clases definidas, omitiendo los detalles fisicos de los archivos, Lecci6n 2 Figura 2.18 La ventana Vista de ctases muestra et proyecto organizaco por sus betes, no por sus archivos fisicos, ¥ ofrece wm accesa directo a sus sdefiniciones. Examinador de objetos Toda Ia programacién en .NET est basada en objetos: los que son parte del NET Frame- work, las creados por usted, ¢ inclusa los ereadas por su equipo de desarrolladores. Tales objetos tienen propiedades y métodos mediante los cuales puede comunicarse con ellos, pero, jc6mo sabria cudles estén disponibles? E] Examinador de objetos esta diseflado para asistirle al trabajar con esos objetos, y le permite explorar y buscar en un catilogo de objetos. En este catdlogo se incluyen los objetos (clases) expuestos por cualquier biblioteca de clases a la que se haya hecho referencia, junta con las clases contenidas en su propio proyecto. Es similar en Giertos aspectos a la Vista de clases, pero stupera su funcionalidad dado que este examinador muestra los objetos que no estén integrados en su proyecto, Esta ventana es mis itil come una forma de documentacién o referencia, lo que le permite localizar clases dentro del NET Framework u otras bibliotecas de clases, y ver sus detalles (como sus propiedades. y méto~ dos}. En Ia figura 2.19 puede ver el Examinador de objetos que se usa para ver el contenida de la biblioteca System.Data; en el drea base se muestra informacién detallada de los par: metros necesarios para cierto método, Lista de tareas En cualquier proyecto de desarrollo, incluso los terminados, puede ver diversas tareas que de- ben ser completadas. Pueden ser secciones del programa que necesiten ser mejorudas én cuanto a rendimiento, Podria haher errores conocides 0 funcionalidad faltamte que necesiten ser corregidos. Cuando las tareas sobresalientes se pueden relacionar con un frea del cédigo, ‘es comin que los desarrolladores seilalen con comentarias esa drea. Cuando los desarrolladores incluyen de forms consistente ciertas palabras, como PENDIENTE 0 BUG, en esos comentarios, se facilita buscar en el cékigo tales palabras y localizar las secciones de cdigo adecuadas. Vi- sual Studio NET ha formalizado este proceso mediante una lista que se lens autométicamen- te con referencias en cualquier seecién de su eédigo que comtenga una o varias palabras clave ‘como TO00 (o PENDIENTE, o la palabra que usted desee). Cada comentario se muestra en una, lista ftcil de usar, qué detalla no s6lo el propio comentario, sino. también el archivo y la linea donde se encuentra (vea la figura 2.20), Figura 2.19 Et Examinador de Lobjetos fe permite des plazarse por tas clases provisias por el NET ‘Framework y otras bibliotecas que haya ge- evade 0 ot las que haya hecho referencia, Nota Puede agregar, como en este caso, sus propias palabras clave a la lista de simmbolos reconockdos si va al cuadro de diblogo Opciones, En él, selectione: la seccién Entorno | Lista de tareas, y podré agregar simboles y especificer su configuracién para la tarea generada cuando se encventre esta palabra clave. Las palabras clave s6le coincidiran si se encuentran en comentarios dentro de su cédigo, Hacer doble clic en la tarea lo Hevard de inmediato al e6digo, donde podré trabajar en lo que in sdique la tarea. Ademis de esta funcionalidad (muy itil en si} la lista de tareas puede contener ‘olros tipo de tareas. Visual Stadio NET agrega otras tareas de manera sutomsitica, como Ta re= ferencia para compilar errares y otros elementos importantes. También es posible que agreguc ‘dos tipos de tareas:a fa lista: aocesos directos al cidigo y tareas definidas por ef usuario, Leccion 2 FiGuRA 2.20 Todo comenuario sena- lado com une patabra clave especial se mos rard en una Tista de ‘areas hien organizada, Los accesos directos de cédigo son similares a tas tareas basadas en comentarios, pero son una referencia a cualquier linea de cédigo, No requieren ninguna palabra clave especial. Para agregar a la lista de tareas un acceso directo al eddigo, haga clic con él botén derecho en La ventana de edicién y seleecione la opcisn Agregar acceso directo de la lista de tareas. ‘Se agregard una nueva tarea a su lista cuya descripcién sera la linea de e6digo seleccionada (aunque puede, y posiblemente deberfa, modificarla para hacerla ms explicita). Después, ‘puede regresar ripidamente a esta linea con sélo hacer doble clic en esta tarea. Cuando se ‘crea un acceso directo al cédigo, se agrega una flecha azul en el margen izquierdo de la ven- ‘ana de edicién, junto a la linea de eddigo apropiada. Puede quitar el acceso directo si hace ‘clic con el botén derecho en la linea de cédigo donde se aplicé el acceso directo y selecciona ‘Quitar acceso directo de Ia lista de tareas © selecciona el elemento relacionacto de ta lista de ‘areas y lo suprime directamente, El otro tipo de tarea que puede generar es una farea de usuario, que no se relaciona con algu- na seccitin de cédigo en particular, y es similar a una tarea estindar de Outlook. Para agregar una tarea de usuario, debe hacer clic en la seccién Haga clic aquf para agregar wna nueva tarea y escribir los detalles, Observe que, a diferencia de otras tareas. éstas no tienen los cam- pos archivo ni linea con datos y, por tanto, sélo tienen tres campos disponibles: Prioridad (Ba- ja, Normal o Alta), Realizada (casilla seleccionada) y Descripcién, Si quiere generar una nota ‘de un frea de e6digo en particular, vera que es més itil generar un acceso directo y modificar la prioridad y descripcidn para dar mas detalles, Soluciones y proyectos Como ya se indicé en In seccién “Explorador de soluciones", hay varios niveles para agrupar su cédigo, El primera, la solucién, representa too el sistema que se generar, mientras que Uso de Visual Basi los componentes independientes en él se representan mediante proyectos por separado. Antes de que pueda codificar algo en el IDE de Visual Studio, deberd configurar la solucién y. al ‘menos, un proyecto, En esta seccidn verd los fundamentos para onganizar su c&digo, generar proyectos y trabajar con proyectos ¥ archivos existentes. Lo siguiente es un rdpido panorama de estos temas, pero-en la seccidn que sigue inmediatamente a ésta, practicard estas técnicas con la creacién de una aplicacién de ejemplo completa, Creacién de un proyecto Hay diversas formas de generar un proyecto, pero la mds comtin es mediante el menti Archive | Nuevo I Proyecto, Esta opcidn despliega un cuadro de didlogo que muestra los dis- tintos tipos de proyectos. que ¢| IDE es capaz de generar (vea la figura 2.21), Puesto que el IDE de Visual Studio funciona con varios lenguajes, el cuadro de didlogo muestra las opcio- nes hasadas en los lenguajes que haya instalado, y podria ser un tanto distinto del que aparece en la figura 2.21. Por el momento, generard proyectos basados en las opeiones que estén en Ia earpeta Proyectos de Visual Basic, Figura 2.21 Visual Studio iene tn ewaddro de didloga [Nuevo proyecto, et cuat desplegard mas tipas de proyectos conforme vested instate mds plantillas 0 fenguajes adicionales, Para generar una aplicacién que se ejecute de forma local en su equipo y utilice una interfaz asada en Windows (con cuadros de didlogo y otros elementos de la interfaz de usuario), se- leccione Aplicacién para Windows de la lista de tipos de proyectos, Para completar el proceso de creacién, teclee un nombre para su nueva aplicacién y, si lo desea, modifique la ruta de ac- ‘ceso sugerida, Haga clic en Aceptar, ¥ Visual Studio generant su proyecto. Es buena idea dar nombres significativos a sus proyectos, aunque slo esté experimentando; de otro moda pron- to tendrd un grupo de proyectos llamados WindowsApplication| y WindowsApplication2, lo {que dificultars encontrar aquetlo-en Io que ha estado trabajanda. Apertura de un proyecto Al cerrar Visual Studio, éste le preguntard si desea guardar su trabajo y, aulomdticamente, cerrard todo, Cuando quiera volver a cargar un proyecto, necesitaré abrirlo en el IDE. Visual jee Leceién 2 Studio offece algunas formas sencillas para abrir proyectos, Un métode es usar el mend Archivo | Abrir | Proyecto, o seleceionar el proyecto directamente del stubmenti Proyectos: recientes del memi Archivo, Otro método es mediante la seccidn Introduecidén de fa pégina principal de Visual Studio, una pégina HTML que lista los proyectos. en los que ha trabajado recientemente. Abi puede hacer clic en un proyecto en panicular que quiera abrir, « crear uno, Al abrir un proyecto se cierra cualquier otro que tenga abierto, 8 menos que use la opcién Ar- chivo | Agregar proyecto, que agrega un proyecto nuevo o existente en la solucisn abierta, Archivos Las soluciones y proyectos exisien tan sdle con fines organizacionales; el cédigo real. se encuentra en uno-0 varios archivos individuales. Cuando genera un proyecto, usualmente se generan ciertos archivos, como un formulario Windows Forms (Formt . ve) si genera una aplicacién para Windows, o un médulo-(Module? . vb) en una aplicaci6n de consola. Estos ar- chivos se generan en el disco y existen independientemente de su proyecto, lo que permite que un archivo se comparta en varios proyectos, si asi lo desea. Adicién de archives a un proyecto Ademds de los archivos que se generan automdticamente como parte-de su prayeeto, tal vez quiere agregar otras clases, médulos, formularios u otros tipos de archivos de césligo, Me- diante el mend Proyecto, o 1a opcién Agregar del mend contextual que aparece al hacer clic con el betén derecho en el proyecto deseado dentro de Is ventana Explorsdor de soluciones, puede elegir entre varios el tipo de archivo por agregar. Sin impertar la opcin espectfica del mend que élija, excepto Agregar elemento existente, todas las opciones desplegarin el cusdro de didlogo Agregar nuevo elemento (vea la figura 2.22}, Si en lugar de generar un elemento quiere agregar uno existente, la apeién Agregar elemento existente presentari el cuadro de diflogo estindar para abrir archives, Cémo guardar todo Con todas estos grupos distintos (soluciones, proyectos y archivos), es importante saber emo quardar su trabajo, incluso si se-encuentra en més de un archivo. En el IDE de Visual Studio, esto-se realiza mediante dos comandos distintos: Guardar y Guardar todo, Estos comandos, qiie se enenentran en el meni Archivo y en la barra de herramientas, le permiten guardar él archivo seleccionada (seleccionada en la ventana Exploradar de: saluciones) con el comando Guardar, o bien guardar todos los archivos abiertos que hayan sido modificados mediante el comando Guardar todo. Si le preocupa pender su trabajo, como a mi, estard especialmente interesada en las opciones dol IDE, En el cuadro-de didlogo Opciones (al que puede acceder mediante el mend Herra- miemtas | Opciones), puede expandir el grupo Entorna y seleccionar cl elemento Proyectos y soluciones para. ver un conjunta de tres botones de opcisn bajo un encabezsdo Namiedo Uso de Visual Basic NET Opciones para generar y cjecutar (vea la figura 2.23), Estas opciones controlan la forma en que el IDE guarda los archivos modificados antes de empezar a ejecutar un proyecto. Esta es ‘una configuracién importante porque, si el IDE falla, es mis probable que Io haga al momen- to de ejecutar su cédigo. Esta opcién ofrece una forma sencilla de asegurarse de que todas sus modificaciones se guarden cada vez que vaya a ejecutar su cédigo. Figuna 2.22 Ast como el cuadro: de didlogo Nuevo pro- yyeeto, el mimero de fos ‘elementos de Agregar mero elemento puede sexpadirse Figura 2.23 Siempre seleccione la configuraciéin de Guar dar cambios en docu- ‘mentos abiertos cuando use un nuevo equipo, pa- ra evitar pender cddigo Creacién de nuestra primera aplicacién para Windows Ahora que ha aprendido algunos de los fundamentos del uso del IDE de Visual Studio, puede aprovecharlos para generar una aplicacién sin teclear mucho cédiga. Este ejercicio se enfac: rf en-el uso del propio IDE, lo que significa que generard una aplicacién relativamente senci a. Para este ejemplo, generar una aplicacién para Windows (una que utilice la interfax de usuario de Windows y que se ejecute localmente en su equipo) que permita al usuario teclear dos mimeros. La aplicacién sumaré dichos niimeros y mostrard el resultado final, Leccion 2 Generacién del proyecto ‘Seleccione Archivo | Nuevo | Proyecto para que aparezca el cuadro de didlogo Nuevo to. En Ia categoria Visual Basic, seleccione el icone Aplicacién para Windows y al nombre WindowsAppiication(x) —el nombre numerado predeterminado— por (0 el nombre: que dese). El nuevo proyecto ya contended un formularie, que ex todo lo que necesitard para arrancar con la aplicacién. Visual Studio genera autométicamente una ta de solucién para contener a su nuevo proyecto, y también Io llamard Susadora, en Aceptar cuando haya tecleado los nombres de proyecto y solucién adecuades. Creacién de la interfaz de usuario Necesitard tener tres cuadros de texto y un botdn en el formulario, Su posicién no es impor- tante, pero tal vez quiera cefirse a la apariencia de Ia figura 2.24. Haga doble clic en Forml en el Explorador de soluciones, lo que desplegard In ventana del disefiador al centro del Ahora, con él formulario en modo Disefio, seleccione o abra ¢| Cuadro de herramientas. ventans, que mostrard todos los objetos disponibles que pueden colocarse en su formulario, confienc un control TextBox y un Button. Para colocarlos en su formulario, haga clic en (el cuadro de texto, por ejemplo) y arrdstrelo al formulario, Al soltar el bot6n, aparecerd en formulario, Repita lo anterior hasta colocar los tres cuadros de texto y el botGn, $i hace clic en un control, aparecerdén controladores de tamafio con los que podré modificar el de controles. Ajdstelos, para que queden como en el ejemplo (figura 2.24). Ya que todo esté locado, tendrd que modificar algunas de sus propiedades, Ficura 2.24 Acomade tos tes wards de texto yt ba tn en su foramularier nds o menos coma se nesta agua. Uso de Visual Basic NET ‘Seleccione el primer cuadro de texto (el que estd en la parte superior del formulario} y vaya ala ventana Propiedades (oprima F 0 seleccione Ver | Ventana Propiedades del meni, i la ventana no estd visible), Aparecerin diversas propiedades pero s6lo modificard dos de ellas: + Text (en el grupo Apariencia) Representa el contenido det cuadro de texto, Borre el contenido de exta propiedad para asegurarse de que cl cuadro de texto aparezca en blan- 0, Para ello, haga doble clic en 1a propiedad Text en la ventana Prapiedades para que se seleccione su contenido y oprima la tecla Supr. + (ame) (en el grupo Disefio) En el eédigo tendré que hacer referencia a este cuadro de texto mediante e! nombre que haya en esta propiedad, cuyo nombre predeterminado 8 TextBoxt 6 TextBox2. Para nuestro ejemplo, cémbielo a txtPrinerValor. ‘Continée con los otros dos cuadros de texto; deje en blance la propiedad Text y cambie sus nombres a txtSegundoVaior y trtResuitade, respectivamente. Ahora, seleccione el botén para mostrar sus atributos en la ventana Propiedades. En este obje- to, también modificard dos valores: (Name) a btnSunar y Text a Sumar. Tal vez le parezca curloso encontrar un prefijo de tres letras en los nombres de los controles, como txt y btn. Este prefija es parte de una convencién para denominar entidades de un programa, como las variables y los objetas. De esa forma, es fécil Kdentificar, desde el cddigo, de qué tipo de objeto o entidad se trata: txt se refiere a un cuadro de texto, y bte 2 un botén, A lo largo de este libro usaré los prefijos estandar de la programacién, Por Ultimo, modificard las propiedades del mismo formulario. SelecciGnelo (haga clic en alguna parte de é1 donde no haya un control) y desplicese por la lista de propiedades hasta encontrar la propiedad Text dentro del grupo Apariencia. En un formulario, esta propiedad Fepresenta su encabezado (el texto que se muestra en la barra de tftulo), que puede establecet como Sumadora sencilla para nuestro ejemplo. Ejecucidn del proyecto ‘Aunque no ha tecleado cédigo alguno. el proyecto podria ejecutarse tal como estd ahora. El IDE de Visual Studio le permite ejecutar el programa desde el IDE, sin generar un cjecutable (por ejemplo, un .exe). Puede ejecutar répidamente el c6digo tantas veces come sea necesario mientras hace su desarrolio y, lo mas importante, realizar diversas tareas de depuracién mien- tras se ejecuta el programa, Podrd hallar mayor informacién de la depuracién en la leccidn 6, pero por ahora, es importante ver que hay una diferencia entre ejecutar su cédige desde el IDE y generar un ejecutable. La creacién de un ejecutable, u otro tipo de archivo resultante de su proyecto, se conoce como generacién y seri tratada en la siguiente seccidn. Para ejecutar un proyecto desde el IDE, seleccione Depurar | Iniciar, oprima F5.0 use el botén de La barra de herramientas que luce como un botén de reproduccisn de una videocasetera, In- téntelo ya, con el proyecto Sumadora que abri6, y veri cl formulario que disefi6 treme su IDE de Visual Studio. Sin que haya escrito una linea de cédigo, el formulario apareceré muy. Leccién 2 funcional. Podré arrastrarlo por la pantalls, minimizarlo y cambiar su tamafio dado. que el NET Framework subyacente y el IDE le permiten generar visualmente una interfaz de usuario, lo que produce el eddigo necesario que lo haga funcienar, Aunque no ha escrito cédigo, ya se ha generado una gran cantidad por el IDE, y es lo que se ejecuta cuanda arranca el proyecto. Generacién del proyecto La generaci6n de un proyecto es la creacién de un ejecutable u otros archivos de salida, En. una aplicacién para Windows coma la del ejemplo, esto se traduce en compilar su cédigo en un archivo .exe que pueda ejecutarse fuera del IDE de Visual. Studio. Este es un paso bitsico si quiere que su proyecto sea utilizado por alguien més que otros desarrolladores, aunque puede evitarlo durante el desarrollo al ejecutar su proyecto desde ¢] IDE. Configuracién para generar el proyecto Pura generar un proyecto, seleccione Generar | Generar Sumadors (no son nombres muy creativos, pero son facies de entender). que aparentemente hacen muy poco. Sin abeurnarlo con informacién, Ia configuracién preceterminada de generacién ha creado un archivo Sumagora.-exe por usted, y 1a ha colocado en la subearpeta bin de la carpeta de su proyecto, ‘A menos que haya establecido ana ruta de acceso propia cuando generé este proyecto, su pro- yecto debe-estaren Mis documentos\Visual Studio Projects\sumadora. y el ejecutable ep \bin\Sunadora. exe dentro de él, Para ver esta configuraciGn predeterminsds, y quiz cambiarla, haga clic con el botén derecho en su proyecto dentro de] Explorador de soluciones y Seleccione Propiedades del menti contextual que aparece. El cuadro de didlogo Paginas de propiedades de Sumadora contiene diversos valores, pero los que nos importan se explican continuacidn. En Propiedades comunes\General: + Nombre del ensamblado Este valor ofrece la primera parte del nombre de su archivo de salida. En el caso del ejemplo, es Sutadora, por lo que se generard Sumagora exe Cimbiclo a WiSumadora, y se creard MiSunadora.exe cuando hage la generacién. + Tipo de resultado Indica al EDE el tipo de archiva que se ereard al generar el prayec- to: un exe si se seleeciona una aplicacién para Windows 0 de consola, oan Att si se seleceiona una Biblioteca de clases. + Odjeto inicial Indica ta parte del proyecto que deberd ejecutarse de forma pregetermi nada cuando arrangue la aplicaciGn, En nuestro ejemplo deberd ser Sunadora.Forat ar que el formulario deberd ejecutarse de manera automética. Observe que: si incluso de: forma temporal, el tipo de resultade Aplicacién para Windows a otra cosa, el parémetro Objeto inicial también cambiard, y puede terminar con un valor incorrecto. Haga clic en Cancelar para cerrar el cuadro de didlogo Paginas de propiedades de Sumadora si cree que ha cambiado algo que pueda modificar el comportamiento de su aplicacién y que usted crea que no puede corregir. Cuando genere in programa de instalaci6n, podré agregar datos informativos a su archivo, que serdin visibles como parte de Ia informacién de ptopiedades del ejecutable terminado (vea Ia figura 2.25). No obstante, atin no veremos ¢émo generar un archivo de instalacién para su Programa (eso lo veremos hasta la lecciGn 19). Lo que es importante indicar es que si va a ge- nerar una aplicacidn que seri distribuida a diversos usuarios, deberfa asignar esta informaciGn de manera adecuada. Tendré.que escribir niimeros de versién significativos para asegurarse de que haya una compatibilidad adecuada entre ellas cuando se tenga que verificar al hacer la instalacién. Figura 2.25 (Cuando vea fas prope dades de un ejecutable 0 DLL, podrd ver toda ta informacién retacionada, La opcidn Propiedades comunes\Generar slo contiene una propiedad que es directamente re- Jevante: con el proceso de generacién. El valor Icono de aplicacién determina la apariencia del .exe final en Windows, y le permite seleccionar cualquier archivo de icona (.ico) que desce. ‘Aunque no son las tinicas opciones. que afectan la generacidn, los ditimos elementos que mencionaré seriin los de Propiedades de configuraciée\Generar. Allf encontraré diversos valores relacionados con la depuracién, asf como la carpeta de salida, que determina dénde se -colocari el ejecutable u otros archivos generados. Configuraciones de Generar En la parte superior de! cuadro de didlogo Péiginas de propiedades se encuentra una lista des- plegable llamada Configuracién. El drea de Configuraciones de la solucidn es wna caracteris- tica til del IDE de Visual Studio, que le permite generar mas de: un grupo de configuraciones para el mismo proyecto, De forma predeterminada, se otorgan dos configuraciones (Debug y Release}, disefladas para indicar si lo que generard seri para hacerle pruebas (Debug) o para distribuirlo (Release). El establecimiento de estas configuraciones predeterminadas es un buen ejemplo del propésito de las Configuraciones de soluciones: establecer el estado para diversas caracteristicas de depuracién, ¢ incluso, establecer una wbicacién distinta para los resultados de cada una, ‘Con el Administrador de configuracién (vea la figura 2.26) podri generar tantos grupos dis- ‘tintos de Configuraciones como desee, o incluso quitar una configuracién existente, Por el Lecci6n 2 momento, deje las configuraciones tal como estin, y seleccione Release cuando distribuya el proyecto, y Debug cuando haga pruebas, Figura 2.26, El Administrador de configuracidn Je per- mite generar distintas configuraciones para diferentes propeisitos, (probar, depurar, apro- bacitn del usuario, lancamiento, etcérera), cada una de las cwates puede tener distintos valores de generacisin, Creacion de un ejecutable La mejor forma de aprender una caracteristica del IDE es usarla, lo que significa que es hora de generar el proyecto de ejemplo y producir un ejecutable. Haga clic en la opcién Generar | Generar Sumadora, y se desplegaré con mucha rapidez informacién en la ventana Resultados (que aparece en la parte inferior del IDE, si es que no la ha movido a otro lugar), Si todo funciona bien, y no hay errores en el cédigo, el proceso de generacién producira wn archivo ejecutable. Tal archivo, llamado Sunadera. exe, se genera en la subcarpeta bin de la carpeta de su proyecto (de manera predeterminada Mis documentos \Visual Studio Projects\Sumadora\). Minimice el IDE de Visual Studio, y utilice el Explorador de Windows para buscar ef archiva. Una vez que lo encuentre, haga doble clic em é! para ejecutarlo. El Formulario, con sus cuadros de texto y botones, apareceré para mostrarle que el programa std en ejecucién, y continuard asi hasta que lo cierre, Este ejecutable, junto con el .NET Framework (que deberd instalarse solo una vez), ¢s lo que necesitard entregarle al usuario, Como agregar su propio cédigo Hasta ahora, el proyecto de ejemplo sélo contiene el cédigo generado por el IDE de Visual Studio, que ha sido adecuado para mostrar un formulario pero que no hace algo Util. Como Jo habrd adivinado a partir de los nombres y distribucién del formularie, esta aplicacién sumani los valores del primero y segunda cuadros de texto y colocard el resultado en el tercero, Para ello, necesitari agregar cédigo al proyecto que se ejecute cuando él usuario haga clic en el botén Sumar. ELIDE hace de éste un proceso muy directo: haga doble clic en el formulario en el Explora- dor de soluciones para asegurarse de que esté en Ia vista Disefto, y haga doble clic en el bo- ton Sumar, Esto to tlevard a la vista Cédigo. ¥ lo calocani en un procedimiento que ha sido Uso de Visual Bas’ agregado por el IDE. Un control —como este botén o los cuadros de texto, u otros compa- nentes del formulario— pueden tener eventos asociados con é1. La mayoria de los eventos de un control representan acciones realizadas en ellos como cuando se hace clic o deble clic en ellos, cuando se seleccionan @ cuando pierden la seleccién, Es posible generar procedimientos que sc ejecutcn cuando ocurra uno de catos eventos y, de forma predeterminada, estos proce= dimientos se designan por su nombre (el nombre del control, benSumar, seguide del evento, Click). Es posible asociar procedimientos con eventos, sin importar su nombre, pere en este caso, el procedimiento btnSumar_CLick se ejecutard si el usuario hace clic en el botén. Es ntentar esta funcionalidad con una earacteristica muy cil del .NET Framework: la clase jeBox. Esta clase ¢s parte de la seccién del NET Framework que ofrece los formu- latias, botones, cuadros de texto y otros elementos de la interfaz, y por ello esta disponible ‘para cualquier proyecto en el que use esos objetos. La clase MessageBox le permite mostrar ‘un mensaje en un cuadro de diglogo con una sola linea de c6digo, como la siguiente: MessageBox.Shaw("Ha hecho clic en el botén.") Este céidigo muestra un cusdro de dilogo como el de Ia figura 2.27. La si de esta clase 1a hace perfecta para wilizarla en prucbas o como herramienta de depuracién, Agregue el céiciigo anterior al procedimiento BtnSunar_CLick y luego oprima la tecla FS para ejecutar el proyecto, Una vez que aparezea el formulario, haga clic en e! botin Sumat. Cada vez que haga clic, apareceri un cuadro de mensaje, lo que le indicard que se ha ejecuta- do el eéxligo de! procedimiento btnSunar_Click. Ficura 2.27 La clase WessageBox ofrece una forma senci« a de mostrar informa idm en la pantalla y se ‘user comninmente en [ax Jases de depuracidn y pruebas Ahora que ya sabe emo ejecutar céigo como respuesta al clic de un botdn, puede escribir el cédigo real para su proyecto. Tal cédigo necesitaré sumar dos valores para dar un resulta do, lo que suena ms sencilla de lo que es. Dichos valores son el comtenida de los cuadros de texto y podri disponer de ellos a través de 1a propiedad Text (que devuelve un texto} de tales controls, pero antes de qué pueda usarlos en una écuacin matemtica (sumarlos), tendné que convertirlos a nimeras, El siguiente eddigo, si lo escribe en lugar del wessageBox que escribié hace un momento, realizari esta tarea: ‘txtResultado.Text = (Cint(txtPrimerValor, Text} _ + Grnt(tetsegundovalor. Text)).Testring 67 Leccion 2 Este c6digo convertird en niimeros el contenide de ambos cuadros de texto-(enteros, en este caso), io sumard y lo volverd a convertir a texto, de modlo-que pueda colocarse en el tercer cuadro-de texto, Suena sencillo hacerlo cuando se describe, pero el resultado final puede ser tin poco confuse, Se aclararé cuando continge con la keecin 3, “Primerss pases para progra- mar en Visual Basic NET". Resumen El concepte de un IDE es dar un entomo en el que puede escribir, editar, ejecutar y depurar sus programas, y el IDE de Visual Studio oftece todas esas caracteristicas, y otras més, La presente leecidn traté estas caracteristicas bisicas del IDE y el propdsite de-cada una de sus ventanas principales. También lo guié en Ia creacidn de una aplicacién de Windows sencilla, Desde ahora, usar el IDE con frecuencia, aunque no siempre trabajaré con elementos visua- les (como formularios y controles), Por ello, aprenderd mas de sus caructeristicas con el tiem- po. Aunque podrfa ser un poco-confuso y' abeumador, el IDE es ta herramienta que asard para programar, as{ que con el tiempo se familiarizard con él, Preguntas y respuestas P Tengo que usar el IDE 0 puedo continuar con un editor de texto y la consola? R Con Visual Basic NET es posible hacer todo con la consola y un editor de texto, pero el IDE ofrece una gran cantidad de caracteristicas que facititan el proceso de desarrolia: IntelliSense, la finalizacién de instrucciones y la edicién codificada por colores hacen de Ia programacién algo mis agradable, y kas caracteristicas de depuracién son. algo sin Jo que poces pueden vivie. P_ ;Puedo agregar mis propias caracteristicas al IDE de Visual Studio? Ry jAstes! £1 IDE admite ta adaptacién mediante diversas métados, entre ellos las macros y los complementos, En este libro ne trataré Ja adapiacién del IDE, pero por ahora, vea las macros de ejemplo en el mend Herramientas | Macros | IDE de macros. Taller El taller esté disefiado para ayudarle a anticipar posibles cuestionamientas, asf como a repasar y poner en practica ho que ha aprendido. En el apéndice A encontraré las respuestas Cuestionario 1. Si quiere ver todos los archivos que son parte de su proyecto, :qué ventana del IDE vusaria? 2. {Cuil es la ubicacién predeterminada de los nuevos proyectos de Visual Studio? 3, (Como puede elegir un icono para una aplicacin que generaré en Visual Studio? 4. Si la Ventana de comandos estd en modo Inmediato, ,cémo puedo cambiarla al modo ‘Comando, y viceversa? Ejercicio ‘Tal come lo hizo en esta leccidn, use la clase MessageBox para agregar mensajes en otros: procedimientos.de evento y vea cuando se ejecutan, Intente seleccionar a txtResultado de la lista desplegable Nombre de clase que esté.en la parte superior izquierda de la Ventana de 6- digo, y luego el evento TextCnanged de la lista desplegable Nombre de método que est a la derecha de la anterior. Copyrighted material PARTE 1 LECCION 3 Primeros pasos para programar en Visual Basic .NET Ahora que se ha familiarizado con el entorno de desarrollo de Visual Basic NET, empezaremos a escribir c6digo. Aunque Visual Basic NET facilita escribir un sencillo programa sin usar mucho eédigo, cualquier programa mds sencillo que una demostracién necesitard Hevar un control de la informacién, hacer cdlculos sencillos, etcétera, Para escribir cédigo que realice tales tareas, necesitard com- prender de manera adecuada las variables. $i lo logra, tendré ef fundamento para comprender a Visual Basic .NET. De forma similar, tal como: cuando empez6 a aprender Ia aritmética simple, necesitari aprender algunos de los sencillos ope- radores que pueden usarse para trabajar con nmeros y variables de cadena en sus programas. En la presente leecién conocerd: + El tipo de variables que puede generar en Visuall Basic NET. * Algunos operadores y funciones disponibles en Visual Basic NET, + Las bases para escribir e6digo en Visual Basic (NET, incluyendo la escritura de procedimientos. [72 Leccion 3 Las variables y su asignacién Las variables y la asignacién som la base de todo lenguaje de programaci6n. Las variables le permiten almacenar datos para su uso posterier, y Ia asignacidn es Ia forma en que almacena datos en las variables. éQué es una variable? Una variable es como un balde, Es un lugar para contener datos hasta que los necesite. Usard variables en sus programas para contener valores de forma temporal durante los cdlcuilos, para almacenar jo que capture el usuario y para preparar informacion que después sea mostrada a Jos usuarios, Tipos disponibles de variables Como-en el caso de Ia ropa, uns tala no $¢ adapta & todas Ins variables. Aunqus es posible generar y utilizar una variable que sea capaz de contener cualquier cosa, no siempre es la mejor solucién. Es facil imaginar que una variable que almacene textos deba hacer algo distinto a una que aimacene suimeros, Ademds, las distintostipos.de mimeros necesitan dis- tintos tipos de variables, Algunos néimeros, como el 1 o 5280, no tienen decimales, mientras que 3.14159265358979 y 16.50 si. Una variable que conteniga un némero con decimales, debe haver algo espectficamente para Hevar un control de los valores decimales, Por esta, es probable que los mémeros decimales ocupen una mayor cantidad de memoria, Cuando una computadora: © programa haga més trabajo, por lo general necesiturd una mayor cantidad de memoria. Por Jo-que es importante tener en cuenta no sélo el tipo de datos que debe almacenar, sino la can tidad de memoria que el equipo tendré que manejar para utilizar la variable. Hay tres tipos principales de variables que puede generar con Visual Basic .NET. El primero inctuye a tas variables que contienen valores simples, como nimeros 0 cadenas. A su vez, estas variables son de diversos tipos, cada uno diseftado pars contener valores de diversos tamafios. EI segundo abarea a las variables complejas, que contienen alguna combinacién de variables simples, entre las que s¢ encuentran las matrices y loa tipos definides por el usuario. Las matrices son variables que-contienen una serie de variables, y las tipas definidos por et nsuario permiten a un usuario generar nuewos tipos de variables. El tercero abarca a las varia- bles de objeto. Los tipos definides por el usuario (también conocidos come estructuras) y las variubles de objeto serdn tratados despuds, en la leccidn 7, “Uso de los objetos”. En la presente leccién veremos las variables sencillas y las matrices. Variables sencillas ‘Como ya se describid, las variables sencillas “contienen” valores come mimeros y texto. Por clllo, tal vez picnse que slo es necesario que haya dos tipos de variables: numéricas y textuales. Pero, en realidad hay varios tipos de variables sencillas, cada uno orientado a di fos 0 tipos de mimeras 0 texto. \erOs pasos para programar en Infente usar el tipo de variable més adecuado para Ia situacién, En ocasiones, sélo necesita evar el control de un mimero pequefio; pr ejemplo, si lleva el control de las meses del aio. En otras ocasiones, necesita trabajar con nlimeros grandes con muchos decimales; por ejen- plo, si escribe un programa que realice célculos de ingenierfa o cientificos. Las variables simples pueden dividirse en euatro grupos. El primero, y mayor, es el de los ‘enicros, niimeros que no ticnen decimales. El segundo sc usa cn los niimeros que tienen deci- males. Las cadens, el texto y los caracteres son el tercer grupo, y el cuart puede ser descrito ‘como “otros”, Veamos estos grupos y cudindo es adecuade usar cada uno de ellos. Variables enteras Las variables enteras contienen los ya familiares niimeros enteros (es decir, sin decimales), Estas son una de las variables que més utilizaré en sus programas, y a las computadoras se les facta su uso. Debido a esta facilidad, deberin ser su primera opcién cuando necesite trabajar con nimeros. La tabla 3.1 muestra diversos tipos de variables enteras, cada una diseftada para contener niimeros de distintos tamafios y que usan diversas cantidades de memoria. La cantidad de memoria usada se mide en bytes. (Un byte contiene ocho bits, que es una forma elegante de decir que cada byte tiene ocho unos © ceros, © una combinacisn de ellos.) Aunque no hace dafo usar una variable diseflada para contener valores mayores de tos necesarios, sf se desperdiciaria memoria. Ademds, podria provocar que su programs se jecutara a menor velocidad dade que tendria que controlar mayores secciones. de memoria, incluso cuando tal memoria nunca se use, ‘Tamia 3.1 Tipos de variables enteras ‘Tipo de Tamafio Rango Comentarios dato (bytes) Byte 1 00255 Muy pequeiio, y a diferencia de los tipos de datos centeros, el Byte no admite mimeros negativos. Esto se debe a que Byte representa el valor que el equipo al- ‘macena en cada byie en la memoria. Para almacenar ndmeros negativos, el equipo usa parte de cuda byte ‘pura almacenar la parte “negativa". Esto-es itil cuando se lleva un controle nimeros pequefios que nunca seria ncgativos, como los dias de un mes, o Jos meses de un aio. Short 2 32,768 a ‘Una variable entera pequetta y dtl, Puede usar un Snort 32,767 ‘cuando no necesite todo et range de mimeros de un ‘Integer. Poe ¢jemplo, si escribe un programa que cuente la cantidad de empleados de una eripresa que s6lo tiene mil de-etlos. (comin) 7: 3 v4 Lecci6n 3 Tasia 3.1 Continuacién Tipo de Tamaho — Rango Comentarios dato (bytes) Integer 4 2,147,483,648 Variable entera estiindar. En la mayor parte, Integer es 4 2,147,483,647 el tipo de variable mds sigil de wsas, dado que exige a la computadora la menor eantidad de irabajo, Un uso de ‘una variate de este tipa seria ilevar ia cuenta de la-can- tidad de-ovejas en Nucva Zelanda (aproximadamente 47,394,000 en 1997). Loog 8 =9,223,372,036, tipo de wariable adecuaco para esas ocasiones en 854,775,808 ‘que trabaja-con nimeras may grandes (es decir, de 9,223,372,036, 9 trillones a +9 tillones, « £9 x 10!, para quienes 854,775,807 Jes imerese). Un Long seria dtl si contara ta cantidad de estrellas en el universe (el cual es um némero cercano 2 107), Numeros con decimales Existe una gran diversidad de procesamiento de datos que se realiza sin decimales. Pero mis céloulos —especialmente en ingenieria, finanzas y ciencias— necesitan el manejo-de valores decimales. La tabla 3.2 describe los das tipas de variables decimales primordiales. La deci- sién para usar uno u otro dependers del grado de exactitud que necesite, en lugar del tamaio de los valores, dado que ambos poeden contener nimerns erandes. En caso de que no recuerde la notacién cientifica, el superindice del U0 es la cantidad de veces que necesita multiplicar (si es positivo) o divide (si es negativa) el 10. Por edo, 10F es el niimero 10 multiplicado 6 veces, 0 1,000,000; y 10 es 10 dividido 6 veces entre 10, « 0.000001. TaBia 3.2 _Tipos de variables con decimales Tipo de — Tamafo— Rango Comentarios dato (bytes) Single 4 3.402823 x 10 No se preovupe mucho por el amatio de estos 81401298 x 10 ——_aimmeros en el rangu, El tipo Single puede en ndmeros negatives: _comtener ndmeras muy grandes a pequefios. 1.401298 x 10-4 Lo importante en ua Single es la exsctinud. 3.402823 10" El nombre BingLe denota que este tipo de en ndmeros positives. variable ex para niimeros de punto flotante de precisién sencilla. En vérminos sencillos signi- fica: “es boeno para manejar cifras que tengan ‘siete ndmeros importantes”. Observe cada nkimero del rango. Cada uno de ellos tiene an Tasia 3.2 Continuacion Primeros pasos para programar en Tipade Tamano Ranga Comentarios dato (bytes) nimero antes de! devisnal, y seis que le siguen, dems del exponente (el mrimero sabre el 10), Ast pues, aunque el Single es bueno para almacenar lato ndimeros grandes como pequetios, noes tan ‘exacto- como fos eros, y posta provocar errores ‘de redondeo si hace muchos cilculos von mime ras muy grandes © pequetios. El tipo Single se- "a tl en un programa donde se necesitara poca cexactitud. Double § 1.797693 134 Double es una variable le “punto flotante de 86231 x 10% a dfoble precision”, asi pues, contiene ef doble 4. 94065658 de tximeros significativos que el Single, © 15 41247 < 10 ‘espacios decimales Uiilice wn tipo Double en mkimeros negatives: cuando:realice calculos con nimeros grandes, 4940656458 18 cuande quiera evitar errores de redondea 41247 x 10-8 a sqoe puedan ocurtir con el Single, come en 1797693134. cleulos de ingenieria 0 en aplicaciones 86232 x Len cientificas, “_tvlmeros positives. Texto y caracteres Los niimeros estin bien si necesita contener cantidades o valores de tiempo, pero en alguin momento también necesitard usar palabras en la programacién, Visual Basic .NET proporcio- ‘na variables para almacenar cadenas: Char y String. Char se usa para almacenar s6lo un ca- ricter (de allf su nombre), mientras que String puede contener texto de mayor longitud. La tabla 3.3 describe con mayor detalle los dos tipos de datos. Tasta 3.3 Tipos de variables de cadena Tipode Tamafio Rango ‘Comentarios dato (bytes) Char 2 Un cariecicr “Adecuado para conener un cardeter. String +2 hasta dos: ce una String para almacenar la novela por cada ‘mil millones de que siempre quise escribir. Si asume cinco scaricter—caracteres, saracteres en promedio por palabra, ¥ 250 pala bbras por pagina, unt sola variable String podria contener 1.7 millones de piiginas de texto. 7 S vs Leccién 3 {Por qué cada cardcter en un Char y en un String ocupa dos bytes? Despuds de todo, hay 27 letras en él abecedaria (30 si agregamos las letrits compuestas CH, LL y RR), ademés de Jos miimeros y simbolos; es seguro que no necesitaremos das bytes (0 65,535 posibles caracte- tes). En realidad no, si todos los idiomas usaran los mismos caracteres. =n) Ello fue to que definié el popular conjunto de-caracteres ANSI (y el ASCII). En ANSI un byte: equivalia a un candcter, y cada equipo que usara este eddigo siempre presentaba los mismos caracteres de la misma posicién en Ia lista. Asi pues, el valor ANSI 65 siempre era la letra “A”, y el simbolo “@" tenia el valor 64, Peru si queria hacer lo mismo on todos los otros simbolos, necesitaha mis earacteres. Para solucionarlo, se desarroll6 un nuevo conjunto de caracteres Hamatlo Unicode. Con Unicode cada candcter se representa con das bytes. Esto permite almacenar todos kas c2- racleres de! conjunto ANSI, y los usadas ex los idiomas ruso, griego, japonés y thai, para las mateméticas, etcétera. En Unicade, 65 atin representa a la letra “A”, pero BBW) es el cardcter de (2) caricier hiragana para “No” se representa con el némero 12398, Visual Basic NET usa valores Unicode en todos los caracteres, por Io que Ghar usa dos bytes, y cada carfcter en un String agrega dos bytes de espacio adicional de almacenamiemo. Otros tipos de variables simples Intentar organizar las cosas gencralmente tiene sus bemoles, Siempre existe algo que se rehii- ssa a ser integraclo en una categoria (s6lo imagine lo que pasé:l primer 2odlogo que traté de clasificar el ornitorrince). Del mismo modo, hay algunas variables que no encajan de manera adecuada en las categor‘as anteriores. En Visual Basic NET se presentan das casos: Boolean y Date, Estas se describen con mayor detalle-en la tabla 3.4. Tipo de Tamanho Rango ‘Comentarias dato (bytes) ‘ookean 2 True oFaise Si sdlo contiene wn True @ False, 2por qué ocu- [pados bytes? Visual Basic ha usaeio tradicional- ‘mente el 0 y ~1 part False y True. Estos dos ‘valores requiieren dos bytes. pate 5 Ide enero de La variable Date puede comener Ia mayoria de 100 al 31/de dic las fechas que quiera (a menos que usted sex Je 9999) ‘un ihistoriador © gedlogo). También respeta las elas de las focus (comme agregar un dae los athos bisiestos), de modo que si suma 1 un -valor de fecha del “28 de febrero det 2000", ob ‘ended “29 de febwero del 2000"; pero si hace lo ‘propio con "28 de febrera del 2002", abendr “t de marzo de} 2002". Su verdaders limitaciéa se conira en su tamafo, Primeros pasos para pragramar en Visual Basic .NET Podrla usar otro tipo de dato para slmacenar fechas, como un string 9 un Integer que representara la cantidad de fechas después de cierta fecha, pero ‘para qué? Ya conocemos los problemas que pueden ocurrir can ello, come las largamente discutidas con la llegada de! afio 2000, Declaracién de variables Ahora que conoce los tipos disponibles de variables, je6mo las creard en sus programas? La forma mas sencilla es declarindolas, y ello se hace con la palabra clave Dim (abreviacién de “Dimensidin”), seguido del nombre de la variable, la palabra clave As y el tipo de variable. ‘Luce miis 0 menos como se muestra a continuacién: Dim intUntunero AS Integer Esto generaria una variable intunNumero, que ocuparia dos bytes y que podria contener un mimero de hasta +/- 2 millardos. Las siguientes son algunas otras posibles declaraciones de variables: Din strNombre As String Din dbiPreduceionLocalBruta As Double Din bolAprendido As Boolean Una nueva caracteristica en Visual Basic NET es la de dar un valor a la variable cuando la crea, Tan s6lo asigne un valor a la nueva variable en la misma linea que la instruccién Dim: Din dteFechaDelaConstitucion As Date = Dim ingPoblacioniungial As Long = seaeeeouen Observe que no usé acentos en el nombre de la variable, Aunque pueden usarse, es posible qUe SU USO no Sea. del todo compatible cuando cl NET Framework trascienda a otras platafor- mas, Por ello, evitaré el uso de acentos y caracteres como la fa to largo de este libro en el b 5, 1917 nombre de las variables € i ificadores diversos, no asi en los textos, Ya veremes otras formas de declarar variables al llegar al tenia del mbita, Matrices La facultad de una variable de contener algo es itil, y esencial, en la programacién. Pero po- dria necesitar almacenar varios elementos relacionados, Por ejemplo, si escribiera un progea- ma para jugar ajedrez, el blero necesitarfa representarse como una coleccién de clementos relacionados, Puede usar matrices (también conocidas como arreglos) para generar variables (que almacenen en conjunto a todos los elementos relacionados. En el programa de ajedrez, es posible que almacene el tablero como matriz de posiciones, cada una con el tipo de pieza que haya, en su caso, ahi. Sino usara una matrix, tendria que usar 64 variables por separado. Tal vez también necesite Hevar una fista de cadenas: por ejemplo, una lista de los nombres de los estudiantes de un salén de clases, Siempre que necesite almacenar una lista de elementos, es casi segura que usard una matriz, tel ps Leccion 3 Como con la declaracién de variables sencillas, para declarar una matriz utilizaré la palabra clave Din, Pero hay algunas diferencias al declarar variables sencillas y matrices, dado-que las Gitimas son colecciones de variables. El listado 3.1 muestra tres formas posibles para de- clarar matrices. Listapo 3.1. Declacacion de matrices elaracién sencilis Din intValores(3) As Inte; Dia dteFechas() As Date Din T As Integer For f= 1103 intValores(I-1) = 1 Next Wem eune 8 | Cambio del tanafo de una matriz existente 3 AeOin dteFechas(3) i * Liens la Lista de fechas 41 dteFechas{®)=#02/05/1917# ° Firma de la carta eagna mexica 12 dteFeches(1)=#6/28/19824 ' Wartin Luther King Jr. entrega “Tengo un sueio* 13 dteFechas(2}=#7/20/19694 ' El Apolo 11 aluniza 14 dteFechas(3)=#2/14/19464 ' @ presenta al pOblica La ENIAC 18 ‘ Oeclara 1a matriz y establece los valores iniciales 16 Din strWeses() As String = {°En 17 *Uu1", "Ago", "Sep" "Oct ta utiliza Las matrices 19 Console.WriteLine(*"} 20 Console.WiriteLine(*El segundo valor en intValores a tercera fecha en dteFecha 22 Console.WeiteLine("El undécina mes del ano = (8) }*, intVakores(1}) © {B}", dteFechas{2)) 1» steweses(18)) En el primer ejemplo, intValores se declara como matriz con tres elementos, del O al 2 (0, 1, 2). Cada elemento de Ia matriz es un Integer. La parte que podria sonar confusa es la forma en que hard referencia a cada miembro de In matriz. Esto se muestra en el bucle For. . .Next de las lineas 5 a la 7 (en la siguiente Jeccién analizaremos este bucle, Gbserve que los tres miembros de la matriz esiin numerados a partir del 0 y hasta el 2. Por ello, ¢l segundo miembro de la matriz est en la posiciéia 1_y no en In 2 ‘Cabe destacar que las computadoras, a diferencia de las personas, prefieren contar a partie de cero. Es mejor dejar las razones generales en los nichos de Us pequetias mentes de silicén, pero debemos estar concientes de eito, e5- pecialmente con las matrices.

You might also like