Está en la página 1de 262
PROGRAMA NACIONAL DE INFORMATICA PP Microsoft” Visual Studio 2005 BSazaaraagagG DESARROLLO DE APLICACIONES NET PARA WINDOWS MANUAL DEL PARTICIPANTE ~*~ SENAN Parte Tabla de Contenido Capitulo Framework .NET Framework .NET... Objetivo General Objetivos Especi Temas Framework NET - Marco de Trabajo NET ‘Arquitectura NET Framework. Comandos .. Compilacién y creacién de ensamblados NET .. Ensamblado y desensamblado de cédigo intermedio Programando Aplicaciones sencillas sin herramientas visuales. Estructuras en un programa .NET. Aplicaciones con cuadros de mensaje... Aplicaciones Windows con formulatios. AMEXOS oo Preguntas de repaso. Capitulo 2: Visual Studio.NET Visual Studio .NET.. Objetivo General: Objetivos Especificos: Temas Consideraciones para le instalacién Familia Visual Studio 2005 .. Requerimientos del Sistema... Instalacién de Visual Studio 2005 Soluciones, proyectos y elementos Explorador de Soluciones 0 Contenedores: soluciones y proyectos... Plantillas de proyectos é Plantillas por tipo de proyecto. Estructura de carpetas y archivos de la Solucién. Carpetas del Proyecto ... Tipos de archivos comunes... Entomo integrado de desarrollo (IDE) . Ventanas y herramientas Uso de las opciones de ayuda Revisi6n de una aplicaci6n en VB.NET... Programa Nacional de Informatica 3 Desarrollador de Aplicaciones NET SENATI Gufas de colocacién de objetos. IntelliSense. Pistas de informacién, Correccién Sintéctica de eédigo Regiones de cédigo. Preguntas de repas Capitulo 3: Revisién de Objetos Basicos Revisién de objetos bisicos Objetivo General: Objetivos Especifico ‘Temas: Propiedades, Métodos y Eventos. Controles: CONTROL... Formulario: FORM Ftiqueta: LABEL Caja de Texto: TEXTBOX ... Botén de Comandos: BUTTON. Cuadro de Grupo: GROUPBOX.. Casillas de Verificacién: CHECKBOX Botones de Opcién: RADIOBUTTON. Ejercicios de Aplicacién relacionados... Preguntas de repas Capitulo 4: Eventos Eventos Objetivo General: Objetivos Especificos: pe Temas: nrnmnnnenmnnnsnnn snntmnnneniminnnnnnnnerenmni Eventos. 136 Control de eventos Handles.. Caracterfsticas del control de eventos. Asociacién de miltiples eventos de objetos a e6digo... Objeto ejecutor del procedimiento: sender Caracteristicas del objeto sender. 137 Manejo del objeto sender en ejecucién de eventos... Manejador de eventos: ¢ Caracteristicas del manejador de eventos Aplicaciones del manejo de eventos Cédigo asociado a la presisn de teclas, Cancelar la presi6n de una tecla. Control sobre el cierre de la ventana. Preguntas de repaso.. 4 Programa Nacional de Informatica a SEnaAn parte Capitulo 5: Listas Listas... Objetivo General. Objetivos Especifico 147 Temas 147 Listas Estructura... Indice y coleccién de elementos Propiedades y métodos bisicos. Adici6n de elementos, Seleccién.. Conteo de elementos Borrar todos los element0..ne non Eliminar por indice y por elemento : ModificaciGn de elementos. 159 Buscar elementos Validacién de acciones en la Algoritmos aplicados a listas Ordenamiento ascendente descendente: Alfabético, numeric. Operaciones de manejo y desplazamiento en la lista con teclas. 168 Listas multicolumna... Listas multiseleccién Preguntas de repaso.. Capitulo 6: Coleccién de Objetos ATT Coleccién de Objetos Objetivo General... sel TT Objetivos Especificos: sol TT Temas 177 Colecciones de Objetos... 178 Objetos contenedores.. son TB Contenedores de controles son TB indice de Objetos 184 Referencia a Objetos en un contenedor sol 85 Recorrido de objetos de un contenedor. 188 For Each ... in ... Next 188 IF typeof ... is... then ... End If on 1 Preguntas de repaso.. 194 Programa Nacional de Informatica 5 Desarrollador de Aplicaciones NET SENATI : Introduccién al trabajo con formularios miltiples Capitulo Introducci6n al trabajo con formularios méiltiples.. Objetivo General: Objetivos Especificos: Temas: Introduccién al trabajo con formularios miltiples. Eventos asociados a formularios Orden de eventos en Windows Forms Eventos Comunes... Instancias de la Clase Formulario. Disefiando miiltiples formularios. Clase Application... é Creacién de objetos formulario, Llamadas a formularios..... Formularios modales. Formularios no modales. Cerrar y ocultar formulario Ocuitar formularios. Cerrar formulario Preguntas de repas Capitulo Variables y Arreglos Objetivo General: Objetivos Especifico Tema Clases y Médulos Clase (Class)... ‘Médulo (Module) Diferencias entre Clases y Médulos Ambito de variables y objeto Especificar Ambito Arreglos vectoriales Arreglos multidimensionales Declaracién, asignacién y lectura de elementos... Declaracién de Arreglos Asignaci6n de datos al Arreglos... Lectura de elementos del arreglo : re 247 ArrayList evn svnnnnnnnnninininnnnnnnnnnnnnns® SS Preguntas de repaso. 237 6 Programa Nacional de Informatica erin Framework .NET 1 Objetivo General: Reconocer la importancia y caracteristicas del Framework, como base y marco de trabajo en la creacién de aplicaciones NET. Objetivos Especificos: 1. Revisar la Arquitectura del Framework NET como marco de trabajo de la tecnologia NET. 2. Emplear los comandos Framework NET para la compilacién, desensamblado y reensamblado de aplicaciones. Introducir a Visual Studio NET como herramienta de desarrollo. Revisar las estructuras de programacién en NET Revisar algoritmos de programacién empleando Visual Basic NET Programar aplicaciones sencillas de consola de comandos. Emplear cuadros de mensaje para le entrada y salida de datos 8, Identificar las caracteristicas orientadas a objetos en .NI Temas: 1, Framework NET ~ Marco de trabajo NET 2. Comandos Framework .NET 3. Programando Aplicaciones sencillas sin herramientas visuales. Programa Nacional de Informatica 7 Desarrollador de Aplicaciones NET ~ N. . Framework .NET — Marco de Trabajo NET Microsoft .NET Framework es un conjunto de rutinas, librerias y componentes necesarios para las nuevas aplicaciones que utilicen la tecnologia NET. El "framework" 0 marco de trabajo, constituye la base de la plataforma .Net y denota la infraestructura sobre la cual se retinen un conjunto de lenguajes, herramientas y servicios que simplifican el desarrollo de aplicaciones en entorno de ejecucién distribuido. Arquitectura .NET Framework La nueva tecnologia de Microsoft ofrece soluciones a los problemas de programacién actuales, como son la administracién de cédigo 0 la programacién para Internet. Para aprovechar al méximo las caracteristicas de .Net es necesario entender la arquitectura basica en la que esta implementada esta tecnologia y asi beneficiarse de todas las caracteristicas que ofrece esta nueva plataforma. El Framework de .Net es una infraestructura sobre la que se reine todo un conjunto de lenguajes y servicios que simplifican enormemente el desarrollo de aplicaciones. Mediante esta herramienta se offece un entorno de ejecucién altamente distribuido, que permite crear aplicaciones robustas y escalables. Los principales componentes del marco de trabajo son: + Lenguajes de compilacién ‘+ Biblioteca de clases de Net * CLR (Common Language Runtime) Arquitectura de .Net Framework a FP aig ete aed I iblotea de a! mawork — se i 8 Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET Lenguajes de compilacién La norma que define las reglas que debe seguir un lenguaje de programacién para ser considerado compatible con el marco de trabajo NET es la ECMA-335, ISO/IEC 23271. Debido a la publicacién de la norma para la infraestructura comin de lenguajes, el desarrollo de lenguajes se facilita, por lo que el marco de trabajo NET soporta ya mas de 20 lenguajes de programacién y ¢s posible desarrollar cualquiera de los tipos de aplicaciones soportados en la plataforma con cualquiera de ellos, lo que elimina las diferencias que existian entre lo que era posible hacer con uno u otro lenguaje. Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual Basic, C++, J#, Pascal, Delphi, Fortran, Cobol. NET, Ada, entre otros. Biblioteca de clases de .Net La implementacién de la biblioteca de clase cumple también con la norma, y define un conjunto funcional minimo que debe implementarse para que el marco de trabajo sea soportado por un sistema operativo. Aunque Microsoft implementé esta norma para su sistema operativo Windows, la publicacién de la norma abre la posibilidad de que sea implementada para cualquier otro sistema operative existente o futuro, permitiendo que las aplicaciones corran sobre la plataforma independientemente del sistema operativo para el cual haya sido implementada. El Proyecto Mono pretende realizar la implementacién de la norma para. varios sistemas operativos adicionales bajo el marco de cédigo abierto, Linux por ejemplo. Biblioteca de clases de .NET Framework 2 Programa Nacional de Informatica 9 ~*~ Desarrollador de Aplicaciones .NET SENATI Cuando se esté programando una aplicacién muchas veces se necesitan realizar acciones como manipulacién de archivos, acceso a datos, conocer el estado del sistema, implementar seguridad, etc. El Framework organiza toda la funcionalidad del sistema operativo en un espacio de nombres jerérquico de forma que a la hora de programar resulta bastante sencillo encontrar lo que se necesita. Para ello, el Framework posee un sistema de tipos universal, denominado Common Type System (CTS). Este sistema permite que el programador pueda interactuar los tipos que se incluyen en el propio Framework (biblioteca de clases de Net) con los creados por él mismo (clases). De esta forma se aprovechan las ventajas propias de la programacién orientada a objetos, como la herencia de clases predefinidas para crear nuevas clases, 0 el polimorfismo de clases para modificar o ampliar funcionalidades de clases ya existentes. La biblioteca de clases de .Net Framework ineluye, entre otros, tres componentes clave: ‘+ Windows Forms para desarrollar interfaces de usuario. + ADO.NET para conectar las aplicaciones a bases de datos. ‘¢ ASP.NET para construir aplicaciones y servicios Web. La forma de organizar la biblioteca de clases de .Net dentro del cédigo es a través de los espacios de nombres (namespaces), donde cada clase esta organizada en espacios de nombres segin su funcionalidad. Por ejemplo, para manejar ficheros se utiliza el espacio de nombres System.IO y si lo que se quiere es obtener informacion de una fuente de datos se utilizaré el espacio de nombres System.Data. La principal ventaja de los espacios de nombres de .Net es que de esta forma se tiene toda Ia bliblioteca de clases de .Net centralizada bajo el mismo espacio de nombres (System). Ademas, desde cualquier lenguaje se usa la misma sintaxis de invocacién, ya que a todos los lenguajes se aplica la misma biblioteca de clases. CLR (Common Language Runtime) Se encarga de ejecutar el eédigo de tos lenguajes del .NET Framework. Este constituye uno de los pilares de la tecnologia .NET. Antes, los lenguajes de codificacién o bien eran interpretados o bien eran compilados a binario. Con la entrada de JAVA en el mercado de las tecnologias, surge el concepto de VM o Maquina Virtual ya que de esta manera, el lenguaje era compilado a un lenguaje intermedio (IL) el cual podia ser ejecutado en toda maquina con la VM instalada, Microsoft adopta esta idea en NET creando CLR. La diferencia fundamental con respecto a Java es que .NET no se limita a un tinico lenguaje. EICLR es el verdadero niicleo del Framework de .Net, ya que es el entoro de ejecucién en el que se cargan las aplicaciones desarrolladas en los distintos Ienguajes, ampliando el conjunto de servicios que ofrece el sistema operativo estindar Win32. 10 Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET La herramienta de desarrollo compila el cédigo fuente de cualquiera de los Ienguajes soportados por .Net en un mismo cédigo, denominado cédigo intermedio (MSIL, Microsoft Intermediate Lenguaje). Para generar dicho cédigo el compilador se basa en el Common Language Specification (CLS) que determina las reglas necesarias para crear cédigo MSIL compatible con el CLR. De esta forma, indistintamente de Ia herramienta de desarrollo utilizada y del Ienguaje elegido, el cédigo generado es siempre el mismo, ya que el MSIL es el inico lenguaje que entiende directamente el CLR. Este cédigo es transparente al desarrollo de la aplicacién ya que lo genera automiticamente el compilador. Sin embargo, el cédigo generado en MSIL no es cédigo maquina y por tanto no puede ejecutarse directamente. Se necesita un segundo paso en el que una herramienta denominada compilador JIT (Just-In-Time) genera el eédigo méquina real que se ejecuta en la plataforma que tenga la computadora, De esta forma se consigue con .Net cierta independencia de la plataforma, ya que cada plataforma puede tener su compilador JIT y crear su propio cédigo méquina « partir del cédigo MSIL. La compilacién JIT la realiza el CLR a medida que se invocan los métodos en el programa y, el cédigo ejecutable obtenido, se almacena en la memoria caché de la computadora, siendo recompilado sélo cuando se produce algin cambio en el cédigo fuente Comandos Revisaremos un conjunto de comandos del Framework .NET, que nos permitirén crear aplicaciones en esta tecnologia, con tan solo un editor de texto como el Edit © el Bloc de Notas, sin la necesidad de contar con herramientas visuales como Visual Studio o alguna version Express. Aprovecharemos Ia transparencia y compatibilidad de esta tecnologia, y comprenderemos que la programacién en .NET esta basada en estindares en los cuales todo lo trabajado en una herramienta visual, se traduce en comandos organizados que deseriben desde el entorno hasta el comportamiento de los objetos en archivos de texto plano, Compilacién y creacién de ensamblados .NET Ensamblados Uno de los mayores problemas de las aplicaciones antes de .NET es que en muchos casos tienen que tratar con diferentes archivos binarios (DLL's), elementos de registro, conectividad abierta a bases de datos (ODBC), ete. Para solucionarlo el Framework de .Net maneja un nuevo concepto denominado ensamblado. Los ensamblados son ficheros con forma de EXE 0 DLL que Programa Nacional de Informatica uw ~*~ Desarrollador de Aplicaciones .NET SENATI contienen toda la funcionalidad de la aplicacién de forma encapsulada, Por tanto la solucién al problema puede ser tan facil como copiar todos los ensamblados en el directorio de la aplicacién. Con los ensamblados ya no es necesario registrar los componentes de la aplicacién, Esto se debe a que los ensamblados almacenan dentro de si mismos toda Ia informacién necesaria en lo que se denomina el manifiesto del ensamblado. El manifiesto recoge todos los métodos y propiedades en forma de ‘meta-datos junto con otra informacién descriptiva, como permisos, dependencias, ete Para gestionar el uso que hacen Ia aplicaciones de los ensamblados .Net utiliza la Namada caché global de ensamblados (GAC, Global Assembly Cache). Asi, .Net Framework puede albergar en el GAC los ensamblados que puedan ser usados por varias aplicaciones ¢ incluso distintas versiones de un mismo ensamblado, algo que no era posible con el anterior modelo COM. Compilacién de un ensamblado En .NET se puede considerar miltiples lenguajes para programar, todos con la misma efectividad y rapidez, ya que sea cual fuere el leguaje elegido, finalmente serin Hevados a MSIL o IL, y a partir de alli se generar el ensamblado .NET, empleando un compilador. En este caso, consideraremos los dos lenguajes bandera de Microsoft NET para tomarlos como ejemplo. Luego, los comandos a emplear seran: + VBC: Compilador de cédigo Visual Basic en ensamblados NET © CSC: Compilador de cédigo C# en ensamblados NET Compilar un programa NET con comands Paso Tomaremos como ejemplo este programa en Visual Basic (VB.NET) que nos permite mostrar un mensaje “hola mundo” en ta consola de comandos (CMD). Digita este eddigo en el bloc de notas y guérdalo en una carpeta. Por ejemplo: C:ADEMONET, con el nombre EJMI.VB Imports System Module ejml Sub main() Console.Writeline ("Hola mundo") End Sub End Module 2 Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET Considera que la extensién debe ser .VB y no -TXT como Ia asigna el bloc de notas. Para esto, antes de grabar definir el tipo “Todos los archivos”. Asi: Nombve: —[EIMI.VBI Tow Todos los archivos Codticacin: [ANSI Paso 2: Ubica la ruta en la que tengas instalado el Framework, y considera la version mayor disponible en tu sistema, solo en caso de disponer de la v3.0.xxxx, elige la ¥2.0.xxxx, no olvides que lo que queremos hacer es ubicar la ruta de comandos del framework, es decir donde estin VBC.EXE y CSC.EXE: ‘dive Edin Yor Evortos Heremientas A Qos QP Powrmin (BS camas FA rect | CawmDOWs)Mezosat.NETFranenerk Toreas de archivo y carpeta.* 9 copter retre sone @ Fow ste et0 ©) conrone ctr @ rte eet ented tir apo ces a crrieo et Programa Nacional de Informatica B ~ Desarrollador de Aplicaciones .NET SENATI Paso 3 Luego, ejecuta la consola de comandos: Be Bey CE | Sermo Tear) (Goer) (Seana Paso Escribe los comandos DOS indicados, estos te permitirin crear un archivo NET.BAT que te servira para configurar Framework: de acceso a los comandos del Si no esta creado el archivo NET.BAT (Primera vez) mC ise eee Gato CNS Caso CLS tc tag eos Ic: \DEMONET>COPY CON NET.BAT (NGO TR NL Coa ai eos On aaL ° Sete CC CRC Tass) Porat Res Ears PereeCee REN ag [years cong Bee meet 3 eer aee Tec Ne aes DALE AUR CHUL Na aes Ran ag ear ae EN SR ee ica) Sn Peet El simbolo 12 lo obtendris presionando la tecla [F6] y ENTER. 4 Programa Nacional de Informatica Capitulo 1: Framework NET Si ya esta creado el archive NET-BAT. Solo ejecuta estos comandos y obvia los anteriores: p Pra cE ome ec ean rear sa \Documents and Settings\jfalconi\Escritoriodcd\ Ic:\>CD DEMONET Nya :NDEMONET>PATH CG: NHINDOWS\s ys tem32i Cz SHINDOHS: C. Tata ete tg SMES Cirle No archivo NET.BAT y no requiere Paso 5. Realiza la compilacién y ejecucién del programa. Para ello continia la ejecucién de los siguientes comandos: EGE AT) Et a a te Neer see rT ee Ry Re Wicrowefl Corporation. Reservades' todos’ los derecho IC: \DEMONET>DIR aCe CRC Ree ay) ei esta aes acest) Pee CR OREN) epee BCL forsee Beye pubis Bey Fry Sit tee a Sirs 'Y°S. 146.000.8896 bytes Tibres Ic: \DEMONET>EUM1. Zoe aONLr Ly GENO eae NOTA: Los pasos 2, 3 y 4 se emplean si solo tienes instalado el Framework .NET y no el Visual Studio 200x 0 cuentas con una version Express 2005, Estos pasos pueden ser obviados si tienes instalado el Visual Studio 200X, porque en estos casos se cuenta con una herramienta “Simbolo del Sistema SDK” que te Programa Nacional de Informatica 15 Desarrollador de Aplicaciones .NET ene JATI permite obtener la consola con el acceso a los comandos. Esta opcién se encuentra ubicada donde se muestra: Qo nine [if cmc cin Bonn Actividad 1. Compila y ejecuta un programa Objetivo Familiarizarse con el proceso de compilacién y ejecucién con comandos del Framework NET. Procedimiento: 1, El mismo “hola mundo” en C# NET (CS.NET) seria como sigue: using System; class Hola { public static void Main() { Console.WriteLine("Hola mundo") ; } Considera que C# diferencia las maylisculas de las minisculas, sin embargo para Visual Basic esta diferencia es indistinta. 2. Considerando los pasos explicados anteriormente, compila y ejecuta este programa, Debes tener en cuenta que en lugar de usar VBC emplearis el csc. 16 Programa Nacional de Informatica ~~ SENATI Capitulo 1: Framework NET Ensamblado y desensamblado de codigo intermedio Lenguaje Intermedio IL MSIL Microsoft Intermedial language, es el lenguaje intermedio al que compilan las apliaciones (Asemmblies) NET. Este lenguaje intermedio es interpretado por el CRL en tiempo de ejecucién. Desensamblado, modificacién y reensamblado de MSIL. En NET es posible desensamblar un archivo assembly NET (EXE, DLL) a su. codificacién IL y reensamblarlo. Para ello emplearemos una herramienta que Visual Studio incluye (No versiones Express): * ILDASM: — Desensamblador de assembly NET a MSIL. (Incluida en Visual Studio, no en versiones Express, ni en le Framework). * ILASM —— Reensamblador de MSIL a assembly. (Herramienta Framework). NOT. En caso de no tener Visual Studio 200x, copiar los archivos siguientes a la carpeta de comandos del Framework 0 a la carpeta de de los archivos VB: Ss ‘archivo Edn Yer Eavortos Herramientas Ayuda a Ore ~ O- B| Powane Beran resin 9 Wocp Anos Faken NETIDASH ae dasm exe Tareas de archivo y carpeta ® bledor de Microsoft © crear nueva carpet : @ Protea esta cupeta en wed Maomecaty Para obtener estos archivos de algtin equipo con Visual Studio 2005 instalado, ubicarlos en a ruta: C:sArchivos de programa\Microsot Vieval Studio BISDKW2.01Bin Informacion i Pi analizar el cédigo intermedio (MSIL) que el Assembly o una clase en particular Es generd, Pero eso no es todo, ademés te puede generar el cédigo fuente original, en una variedad de lenguaj Programa Nacional de Informatica v7 ~ Desarrollador de Aplicaciones .NET SENATI 18 Desensanthlado de un As mbly Paso 1: Ubica un assembly EXE 0 DLL y luego ejecuta el comando ILDASM seguido del nombre del archivo, como se indica: IC: DEMONET>ILDASM EJM1.EXE ENON apd ere) Paso 2: Elegir la opcién Archivo del meni y luego volcar Paso 3 Activa las opciones de volcado como se muestra a continuacién: Codtacén © ANSI @ UTFS © Unicode TF Volos eta do clases TF Valea etadticas IF Mostar bara indcadora de progeso IF Wales encbezact IF Volearcécgo IF Valores de eimboto token) F Bytes wales Nieto de ines I Lineae de eéigo fuente I Expand ty/eatch TF Voleat etainfomacin Programa Nacional de Informatica ~~ SENATI Capitulo 1: Framework NET Paso 4: Indicar ruta y nombre donde se voleara del IL y guardar: Paso 5: Cerrar el ILDASM, para liberar el archivo, Paso 6: Comprobar la generacién del archivo IL en la carpeta sefialada: ito reccin [9 cApEMONET Tareas de archivo y carpet © cies neevacarets = mROFESION (c) Q Mesicametos g mec ie GQ meses dered ner.oar Programa Nacional de Informatica 19 Desarrollador de Aplicaciones .NET ~ N. ‘7 Modificacién de IL desen: Paso 7. Abrir el archivo EJML.IL con un procesador de texto plano, con el bloc de Notas o el Edit, luego buscar la palabra “MUNDO”. As lado Gy Atrr proyecto... tito Abr achive... comer Paso 4: Elige la plantilla de proyecto Aplicacién de Consola, y colécale un nombre a tu proyecto. El nombre que le pongas te permitiré identificarlo; luego persona el bot6n de comandos Aceptar. 24 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET meses (Slate. pte Proje pa war pkanin dela de nares, Paso 5. Se mostraré una ficha que te define 1a estructura elemental a considerar en tu programa, en esta puedes programar completindola: Modulet.vb |” Pina dein | vedo Module Moduler Sub Maing) End Sub End Module Paso 6: Una vez digitado el cédigo, lo podemos poner en ejecucion empleando la tecla [F5] 0 con la opcién Iniciar depuracién de la barra de herramientas: pts a a vec nae deer acn] Paso 7: Guarda tu proyecto. Puedes emplear la herramienta Guardar todo de la barra de herramientas Estandar: Programa Nacional de Informatica 25 ~*~ Desarrollador de Aplicaciones NET SENATI " GModule Modulei Por defecto se toma el nombre colocado en el paso 4, aunque puede ser cambiado por otto: =n eae Ceasers ad Ser gsDFALCOMM deers So Ponts mtr esa | seUCKCIN Eien raters pala hn Puedes cambiar la ruta en la cual grabaras tu proyecto, para esto puedes elegir el botén Examinar. Por defecto se encuentra la ruta: Mis documentos\Visual Studio 2005\Projects NOTA: En caso de errores, podras encontrar un panel que te dara pistas, y te guiaré en la solucién de los mismos. }@ 1 Seesperaba ei fin de ‘Module vb + 19 ‘APLICACION 1 fern k Actividad 3. Codifica y ejecuta aplicaciones de consola Objetivo Familiarizarse con la creacién de proyectos de aplicaciones de consola en Visual Studio 200x 0 Visual Basic Express. Procedimiento: 1. Empleando Visual Studio 200x o Visual Basic Express, crea un proyecto de consola con el siguiente cédigo. Module Wodalel Sub main() Console.WriteLine("Trabajando con .NET y punto") Console. Readhine () End Sub End Module 2. Bjeciitalo, teniendo en cuenta las pautas dadas al respecto. 26 Programa Nacional de Informatica Capitulo 1: Framework NET Informacion ‘adicional Esta vez no estamos empleando Imports debido a que la herramienta ya tiene las referencias base configuradas de manera predeterminada, Console.ReadLine() permite solicitar por teclado un dato al usuario. Aunque en este caso lo estamos empleando solo para retener la consola de comandos, ya que en una ejecucién directa del compilado, no hay una pausa automatic Estructuras Algoritmicas en Visual Basic NET A continuacién mostraré los elementos y métodos mas cominmente usados al programar, pero un mayor detalle podré ser encontrado en los anexos, correspondientes a este capitulo. Tipos de Datos Simplificando, los tipos de datos mas usados son: Char | Caracter “@ ow ~ String | Cadena detexto | “Bien hecho” | “jorfalmat@gmail.com” | “100pre™ Byte | Entero (0 255) 0 128 255 peae | Emtero corto ° 700 -50 Integer | ero 12100 2 «1610 Tae Entero largo | 97067634 SEN -27000 Single Real “2 075 os Double | ree” | 04size2 “724212 2115421 Date | Fechayhora | 02/0307 2:30pm 11/12/08, 830 Boolean | Légico Trae False el ate et aa raiser | Cosi Programa Nacional de Informatica 2D ~*~ Desarrollador de Aplicaciones .NET SENATI De Debemos tener en cuenta que las constantes y variables, segin donde sean declaradas, tienen un nivel de aleance (dmbito). ‘* Médulo: Las variables pablicas del médulo tienen un aleance de todo el proyecto. ‘* Espacio de Nombres: Para las clases del archivo en el cual son declaradas. ‘* Clase: Para los métodos (Procedimientos y funciones) que involuera la clase. ‘* Métodos: Para las funciones y procedimientos donde se declaran jaracién de canstantes y variable: Las instrucciones mis empleadas para la declaracién de variables son: Const Permite declarar constantes, es decir representaciones con valor fijo no variable. Ejms: Const pi As Single = 3.14159 Const autor As String = "JE" Dim Es utilizada en el nivel de médulo, clase, estructura, procedimiento 0 bloque para declarar y asignar espacio de almacenamiento para variables, Ejms: Dim x as Integer Dim m,n as Object Dim r as string, t as boolean Dim arreglo(7) as String Dim matriz(3,4) as Int32 Dim p as Integer = 10 Dim Nombre as String = “Jorge” En los dos tiltimos ejemplos se puede observar la asignacién de valores iniciales. Static Indica que una o varias variables declaradas son estiticas. Las variables estaticas permanecen y conservan los valores mas recientes después de que el procedimiento en el que se declaran ha finalizado. Ejms: Static d as Intl6é Static r, t as double Private Tienen acceso de tipo privado. Sélo son accesibles desde dentro del contexto de su declaracién. Puede declarar variables privadas en una clase, un médulo o una estructura, pero no en el nivel de espacio de nombres o de archivo, ni dentro de un procedimiento. Ejms: Private k as Date Private mas string, Contar as Integer 28 Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET Public Tienen acceso piiblico. No hay restricciones para obtener acceso a las variables plblicas. Puede utilizar Public solamente en el nivel de médulo, espacio de nombres o archivo. Esto es, puede declarar variables piblicas en un archivo de cédigo fuente o dentro de un médulo, una clase o una estructura, pero no dentro de un procedimiento. Ejms: Public x as Integer Public v1, v2 as Intl6 Public Telf as Long, ¥ as Short Conversién de Datos Son muchas las funciones y métodos que permiten la conversién de datos, revisaremos las més importantes: Ctype Permite la conversién del contenido de una variable de un tipo de dato a otro. Ejms: Dim cadena As String, caracter As Char Dim entero As Integer, real As Double cadena = CType(entero, String) real = CType(cadena, Double) caracter = Clype (cadena, Char) Val Retoma la parte numérica de una cadena u objeto a integer o double. Ejms: Dim cadena As String, caracter As Char Dim entero As Integer, real As Double entero = Val (caracter) real = Val (cadena) Str Devuelve a String el valor nimero de una variable. Ejms: Dim cadena As String, caracter As Char Dim entero As Integer, real As Double cadena = Str (entero) cadena = Str (real) Convert Convierte un tipo de datos base en otro tipo de datos base Ejn Dim cadena As String, caracter As Char Dim entero As Integer, real As Double Dim fecha As Date Programa Nacional de Informatica 29 ~*~ Desarrollador de Aplicaciones NET SENATI Informacién adicion fecha = Convert .ToDateTime (cadena) real = Convert .ToInt32 (entero) cadena = Convert .ToString (caracter) Método .ToString Retorna la representacién de cadena del valor del objeto al cual se le aplica, Ejms: Dim cadena As String, caracter As Char Dim entero As Integer, real As Double Dim objeto As Object, fecha As Date cadena = entero.Tostring cadena = objeto. ToString cadena = fecha.ToString cadena = (entero + real) .ToString Operadores Los operadores son aquellos que permiten realizar célculos con los operandos (pueden ser datos, variables 0 constantes), Operadores aritméticos y de concatenacién Son los siguientes: © Adicié + atb © Sustraccién - a-b * Multiplicacién: = * at © Divisién real / alb © Division entera —\ a\b ‘© Residuo entero: mod amodb © Potenciacién: a arb © Concatenacion = & s&t Podemos abreviar algo de escritura en los siguientes en los siguientes casos: Enlugarde usar: X=X+a S-sat Podemos usar; X= S&et Esto se amplia a los demas operadores antes mencionados.. Operadores relacionales Los operadores relacionales comparan valores entre si. Los operadores de comparacién son =, <>, <, >, <= y >=. Todos los operadores relacionales dan como resultado un valor Boolean. Los operadores relacionales tienen el siguiente significado general: * El operador = comprueba si dos operandos son iguales, ‘© El operador <> comprueba si dos operandos no son iguales. 30 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET ‘© El operador < comprueba si el primer operando es menor al segundo operando. + El operador > comprueba si el primer operando es mayor que el segundo operando. ‘+ El operador <= comprueba si el primer operando es menor o igual que el segundo operando. ‘* El operador >= comprueba si el primer operando es mayor o igual que el segundo operando. Operadores logicos Los prineipales son: © Conjuncién: And pAndq © Disyuncién: Or pAndq © Negacion: Not Not p Estructuras Secuenciales La estructura secuencial es aquella en la que una accién (instruceién) sigue a otra en secuencia, Informacién Para realizar comentarios en el cédigo Visual Basic puedes emplear la comilla Aiicional spt: un Puede agregar o eliminar simbolos de comentario de un bloque de cédigo seleccionando dos mas lineas de cédigo y eligiendo los botones Seleceién con comentarios = y Seleccién sin comentarios. = del meni Edicién de la barra de herramientas, en Visual Studio 0 VB Express. Actividad 4. Codificar estructuras secuenciales Objetivo Usando estructuras secuenciales, emplear los tipos de datos, declaraciones de variables, conversiones de tipos y operadores. Procedimiento: Coditfica y ejecuta cada uno de los eercicios planteados: 1. Solicita el nombre del usuario y luego, muestra un saludo con su nombre: Module Modulel ‘Sub Main() Dim x As String Console.WriteLine("Ingresa tu nonbre:") x = Console.Readbine() Console.WriteLine("Hola, " & x) Console.Read() End Sub End Module Programa Nacional de Informatica Et Desarrollador de Aplicaciones .NET ~ N. ‘7 Peer eta ee - (21 rE a ren Red 4) 2. Solicita 2 ntimeros y muestra la suma de ellos: Module Modulel Sub Main () Dim N1, N2, SUMA As Single Console.Writeline("Ingresa un primer nimero:*) Console.Writebine("Ingresa un segundo nimero:") N2 = Console.ReadLine () SUMA = Ni + N2 Console.WriteLine("La sua Console. tiriteLine (SUMA) onsole.Read () End Sub End Module ae Cr teal POTS ae ela ea van) ee oe 3. Calcula el drea del circulo solicitando como dato el radio: Module Modulel Sub Main() Const pi As Double = 3.14159 Dim AREA, RADIO As Single Console.WriteLine("Ingresa el radio del circulo: RADIO = Console. ReadLine() AREA = pi * RADIO * 2 Console.Writebine ("El 4rea del circulo es: Console.WriteLine (AREA) Console.Read() End Sub End Module 3 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET PR ee eres ae 4, Reparte equitativamente una cantidad de CDs entre un grupo de alumnos, guarda los restantes. Ayuda a resolver, cuanto le toca a cada uno y cuantos sobran: Module Modulel Sub Main() Dim CDs, Alum, Reparto, Sobra As Integer nsole.WriteLine("Ingresa cuantos alumnos hay: Alum = Console-ReadLine() Console.WriteLine("Ingresa CDs = Console. ReadLine() Reparto = Alum \ CDs Sobra = Alum Mod CDs Console.WriteLine "te to " & Reparto.ToString & "CDs a cada alum Console.WriteLine("sobraron para quardar " & Str(Scora) & "CDs") Console.Read() End Sub End Module Ene n iat ear ae ET eo Ree Ly) Seen test ae Exstructuras Condicionales ST (IF) IF ... THEN ... END IF Las estructuras condicionales simples permiten la “Tomas de decisiones”. Estas tienen la siguiente forma: Programa Nacional de Informatica 33 ~*~ Desarrollador de Aplicaciones .NET SENATI Sintaxis; IF Condicién Then ‘Tareas a realizar si la Condicién es Verdadera End IF Ejm: Module Modulei Sub Main() Dim Edad As Integer Console.WriteLine("Ingresa tu edad:") Edad = Console.Readl.ine () If Edad >= 18 Then Console, WriteLine ("Eres mayor de edad") End If Console.Readliine() End Sub End Module baa a ee La) Ingresa tu edad: 19 (eo Cuando solo se eecutard una linea de instruccién, puede escribirse el comando IF en una sola linea, sin requerir End IF, como se muestra: Ié Edad >= 18 Then Console,WriteLine ("Eres mayor de edad") F ... THEN ... ELSE ... END IF Las estructuras condicionales dobles permiten elegir entre dos opciones 0 altemnativas posibles en funcién del cumplimiento 0 no de una determinada condicién, Se representa de la siguiente forma: No st TAREAS A REALIZAR SILA TAREAS A REALIZAR SILA CONDICION ES FALSA CONDICION ES VERDADERA 34 Programa Nacional de Informatica SENATI capi Framework .NET Sintaxis: IF Condicién Then Tareas a realizar si la Condicién es Verdadera Else Tareas a realizar si la Condicién es Falsa End IF Ejm: Module Modulei Sub Main() Dim Nota As Single Console.WriteLine("Ingresa una Not: Nota = Console.Readl.ine () Tf Nota >= 10.5 Then Console. WriteLine ("aprobado") Else Console. WriteLine ("Desaprobado") End If Console.ReadLiine() End Sub dd Module = E:\DemoNet\Falconi\Ejm... BEE oa Chem ENTaro)=t-[o[o) Some Des aprobado IF ...THEN ... ELSEIF ... THEN ... ELSE ... END IF Permiten anidar las estructuras simples. Como se muestra: Programa Nacional de Informatica 35 Desarrollador de Aplicaciones .NET ~si_ [Tarensaneamzar = < >— Sitaconoicion €S Ne ‘VEROADERA si_[TaREASAREALZAR VEROADERA Sintaxis: IF Condicién] Then ‘Tareas a realizar si la Condicién1 es Verdadera Elself Consicién2 Then “Tareas a realizar si la Condicién2 es Verdadera “y la Condisiént es falsa Else ‘Tareas a realizar si las condiciones I y 2 son falsas End IF Ejm: Module Modulel Sub Main() Dim Nota As Single Console.WriteLine("Ingresa una Nota:") Nota = Console-ReadLine() If Nota <= 10.5 Then Console.WriteLine ("Mal") ElseIf Nota <= 15 Then Console.WriteLine ("Regular") Els. Console.WriteLine ("Bien") End If Console.ReadLiine() End Sub End Module Ce at preresa Cima est [qq 36 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET IEE ls rg | (Te ET Lal = E:\DemoNet\Falconi... BEE) Eee E la 18 et Estructura Candicional Miiltiple SELECT CASE .., END SELECT Dependiendo de los valores que toma una variable pueden tomarse deferentes decisiones. La estructura representativa es como se muestra: Tre Sintaxis Select Case Variable “ase Opcién 1 “Tareas si la variable cumple con la opeién 1 Case Opeién 2 “Tareas si la variable cumple con la opeién 2 Case Opcién 3 “Tareas sila variable cumple con la opeién 3 Case Opcién N “Tareas sila variable cumple con la opeién N Case Else “Tareas si la variable no cumple con ninguna opcién End Select Programa Nacional de Informatica 7 ~ Desarrollador de Aplicaciones .NET SENATI 38 Ejm: Module Modulel Sub Main () Dim P As Intl6 Dim M As String Console.WriteLine("Ingresa puntuacién (del 0 al 10):") P = Console.ReadLine() Select Case P Case 0 M = "Sin puntos" Case 1, 2 M = "Puntuaci6n baja" Case 3 To 7 M = "Puntuacién media" Case 8, 10 M = "Puntuaci6n alta" Case Else M= End Select Console. WriteLine (1) Console.ReadLiine() End Sub "El puntaje no esta dentro del rango" eae ees ed ngresa la puntuacion (de i ny Gitar ey fngresa Ta puntuacion (del @ al 10) Fl puntaje no esta dentro del rango Estructuras Repetitivas por pasos Se Ilaman estructuras repetitivas 0 ciclicas a aquellas en cuya solucién es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especitfica de veces, En el caso de las estructuras repetitivas por pasos, la cantidad de interacciones ya esta definida por el incremento en una variable FOR... TO... NEXT En esta estructura se repiten un grupo de tareas. Inicialmente una variable toma un valor inicial el cual se incrementa por cada repeticién de uno en uno, hasta llegar al valor final. La estructura es como sigue: Programa Nacional de Informatica ~~ SENATI capi Framework .NET ’ Tareas Sintaxis: For Variable—Valorinicial to ValorFinal ‘El valor de Variable se incrementa hasta ValorFinal Next ‘Cuando la Variable es igual a ValorFinal terminan las repeticiones Ejm: Module Module Sub Main() Dim X As Int16 Console.WriteLine("Contando del 1 al 5:*) For X= 10 5 Console.WriteLine (X) Next Console.ReadLiine() End Sub End Module FOR ... TO ... STEP ... NEXT Es una variante de la estructura anterior, esta permite controlar el incremento 0 decremento de la variable. Programa Nacional de Informatica 39 ~ Desarrollador de Aplicaciones .NET SENATI 40 ‘Desde Var Valorie! hasta VaorFinal paso? Sintaxis For Variable—ValorInicial to ValorFinal Step Paso ‘Al valor de Variable se le incrementa el Paso Next Cuando la Variable es igual a ValorFinal terminan las repeticiones Ejm: Module Wodalel Sub Main() Dim X As Int16 Consol shine ("Numeros pares decrecientes:") For X = 10 To 2 Step -2 Console.Writeline (X) Next Console.ReadLine () End Sub End Module Tre Tale ete Ve Pares decrecientes: Estructuras Repetitivas por condiciéa En estas estructuras la repeticién esta sujeta a el cumplimiento de una condicion, que normalmente debe variar dentro del bucle (zona de repeticién). DO... LOOP WHILE Esta estructura se repite de una a més veces, mientras la condicién sca verdadera. Como se muestra en el diagrama: Programa Nacional de Informatica Framework .NET Sintaxis Do ‘Se ingresa al bucle sin aun verificar la condicién Loop While Condicién ‘Cuando la condicién sea falsa, deja de repetirse Ejm: Module Modulel Sub Main() Dim X As Intl6 Do Console.triteLine("Ingresa un nimero mayor a X = Console.ReadLine() Loop While x < 2 onsole.WriteLine("Al cuadrado: " & (x * 2).ToString) Console. End Sub End Module Arrest ‘| ea Chea eee Mle ia cod py Tr a ad CSUR [ar\- [Ea DO WHILE ... LOOP Esta estructura se repite de cero a mas veces, mientras la condicién sea verdadera. Como se muestra en el diagrama: Programa Nacional de Informatica al Desarrollador de Aplicaciones .NET Tareas Sintaxis: Do While Condicién ‘Se ingresa al bucle solo si Condicién es verdadera Loop ‘Cuando la condicién sea falsa, se sale del bucle Ejm: Module Modulel Sub Main() Dim X As Int16 Console.WriteLine("Ingresa un nimero X = Console. ReadLine() Do While (X Mod 3) © 0 <1 Loop Console.WriteLine ("21 m Console.Readiine () End Sub End Module tiplo de 3 préximo: " & X.ToString) Ca ue az eels re (Ras C Ce a So 1rd ORES tT. St ee a2 Programa Nacional de Informatica ~~ Framework .NET Informacin While, significa mientras, es decir repetir mientras se cumple la condicién. Si ‘adicional_quetemos repetir hasta que se cumpla la condicién podemos negar la condicién empleando Not o utilizando en lugar de While su equivalente negado Until BE Si obviamos el While o el Until, el bucle se repite sin fin, a la espera de una = — opcién de salida forz Salida’ EXIT Permite abandonar un bucle o procedimiento de manera forzosa. Puede emplearse en bucles FOR, DO, o procedimientos SUB o funciones FUNCTION. fin del progra Normalmente se antepone al EXIT alguna condicional, con un IF 0 SELECT CASE. Ejm: Module Modulel Sub Main() Dim I, r As Inter Console.WriteLine ("Tienes 3 intentos, :Cuanto es For I=1To3 Console. WriteLine ("r R = Console. ReadLine() If x = 35 Then Console.WriteLine ("Bien en” & I.Testring * Exit For End If Next. Console.ReadLine() End Sub 3 _intentos, dCuanto es 7 x 5? [=| Ejm: Module Modulel Sub Main() Dim 8, N As Integer Console.WiriteLine("Ingresa nimeros para sumar") Console.WriteLine("el nimero 0 para terminar*) Programa Nacional de Informatica a ~ Desarrollador de Aplicaciones .NET SENATI Do N = Console. ReadLine() S4=N I £N = 0 Then Exit Do Loop Console.WriteLine("La suma es: " § S.Tostring) Console.ReadLine() End Sub End Module file:/C: Documents and Settings/JFALCONL.. PAE) Ingresa numeros para sumar [-| ie LeU) ler a Tad END Permite dar fin a la ejecucién del programa. Ejm: Module Modulel Sub Main() Dim i As Integer, Clave As String = "123" Console.WriteLine("Intenta 1a clave 0 escribe SALIR") Do Console.WriteLine("Ingresa la clave:") Clave = Console.ReadLine () Té Clave = "123" Then Console.WriteLine ("Cla ElseIf Clave = "SALIR" Then correcta") Console.WriteLine("Exror...") d Ie End Sul End Module 4 Programa Nacional de Informatica SENATI capi Framework .NET Tntenta la clave o escribe SALIR Coe ERSEN rar Error... ee CS eNrs ive} Eel as) Orla ee eee Net Aplicaciones con cuadros de mensaje A manera de introducirnos al trabajo con herramientas para aplicaciones Windows, trabajaremos programas en Visual Basic empleando cuadros de ‘mensaje para la entrada y salida de datos. Emplearemos las siguientes funciones Visual Basic: MsgBox Muestra un mensaje en un cuadro de didlogo, espera a que el usuario haga clic en un botén y devuelve un entero que indica el botén utilizado. intaxis (simple): MsgBox(Mensaje) Sintaxis (completo): Respuesta = MsgBox(Mensaje, Estilo, Titulo ) Mensaje: Requerido. Expresion de tipo String que se muestra como mensaje en el cuadro de didlogo. La longitud maxima es de aproximadamente 1024 caracteres, segtin el ancho de los caracteres utilizados. Si va a tener mis de una linea, éstas pueden separarse mediante un caricter de retomo de caro (Chr(13)), para esto concatenarlo al mensaje. Estilo Opcional. Expresién numérica que corresponde a la suma de los valores que especifican el mimero y tipo de botones que se han de mostrar, el estilo de icono que se va a usar, la identificacién del botén predeterminado y la modalidad del cuadro de mensaje. Si s el valor predeterminado sera cero. Titulo: Opcional. Expresién de tipo String que se muestra en la barra de titulo del cuadro de dilogo. Si se omite, en la barra de titulo aparecera el nombre de la aplicacién. Programa Nacional de Informatica 45 Desarrollador de Aplicaciones NET o Respuesta: Opcional. Es un valor numérico que puede ser recogido por una variable para obtener la respuesta del usuario al cuadro de mensajes. Ejm: Module Modulel ‘Sub Main() MagBox ("Mensaje") End Sub End Module ae OEEIE Mensafe =< El titulo que se muestra corresponde al nombre de la aplicacién. Para colocar un titulo personalizado empleamos el tercer argumento, podemos obviar el segundo argumento. Si reemplazamos esta linea por: MsgBox ("Hensaje", , "Tétulo") Para variar el estilo, empleamos el segundo argumento con un valor numérico, Reemplazar como se muestra: MsgBox "Mensaje", 64, “Titulo”) 46 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET En este ejemplo, el nimero 64 permite mostrar el icono AA. Visual Basie para facilitar el trabajo eon el MsgBox incluye constantes internas con equivalentes numéricos. El mismo ejemplo pero con constantes, es como sigue: MsgBox ("Mensaje", MsqBoxStyle. Information, "Titulo") Estas constantes, son nimeros que pueden ser sumados para lograr una combinacién de estilos del MsgBox. Por ejemplo: MagBox ("Mensaje", Hegiowtyle OKtancel + Megaoxstyle Exclamation, “Titulo”) A continuacién mostraré una tabla con las posibles combinaciones mas usadas para el estilo del MsgBox: Enumeracion Valor Deseripeion OKOnly 0 Muestra sdlo el botén Aceptar. OKCancet 1 Muesira Tos botones Aceptar y Cancelar. ‘AbortRetrylgnore ‘Muestra los botones Anular, Reintentar y Omiitir. YesNoCancel 3___ Muestra los botones Si, No y Cancela YesNo 4___ Muestra los botones Si y No. RetryCancel 3 Muestra los botones Reintentar y Caneelar, Critical 16 Muestra el icono Mensaje critico. Question 32 Muestra el icono Consulta de advertencia. 48 Muestra el icono Mensaje de advertenci 64 Mucstra cl icono Mensaje de informacion, DefaultButtonl 0 Elprimer bot6n es el predeterminado. DefaultButton2 256 El segundo bot6n es el predeterminado. DefaultButton3 312___ Eltercer boton es el predeterminado. Programa Nacional de Informatica a7 Desarrollador de Aplicaciones .NET ~ N. + ‘ApplicationModal 0 Aplicacion modal: el usuario debe responder al cuadro de mensaje antes de continuar trabajando en la aplicacién actual. SystemModal 4096 Sistema modal: se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje, MsgBoxSetForeground 65536 Especifica la ventana del cuadro de ‘mensaje como ventana de primer plano. MsgBoxRight 524288 Texto alineado a la derecha. Para recibir la respuesta del usuario, podemos tomar el valor en una vs entera, como se muestra: Module Modulel ‘Sub Main() Dim Rta As Integer Rta = MsgBox ("Mensa je", MsgBoxStyle.OKCancel, "Titulo") End Sub End Module Dependiendo del botén elegido por el usuario, la respuesta puede tomar diferentes valores, como se indica en la siguiente tabla: Constante Valor ORE EEE Caneel 2 Abort 3 Retry ean pigecre eeu Yes__ 6 Ne Podriamos emplear directamente un IF para identificar que opcién eligié el usuario y segin esto tomar acciones. Como se muestra: Module Modulel Sub Main() Dim Rta As Integer Do If MsgBox ("2Salir?", MsqBoxStyle.YesNo) = MsgBoxResult Yes Then End End If Loop End Sub End Module 48 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET EjmConsola5 InputBox Muestra un mensaje en un cuadro de didlogo, espera a que el usuario escriba un texto o haga clic en un botén y devuelve una cadena con el contenido del cuadro de texto. Sintaxis (Simple): Respuesta = InputBox(Mensaje) Sintaxis (Completa): Respuesta = InputBox(Mensaje, Titulo, RstaDefecto) Mensaje: Requerido. Expresién de tipo String que se muestra como mensaje en el cuadro de didlogo. La longitud maxima es de aproximadamente 1024 caracteres, segin el ancho de los caracteres utilizados, Titulo: Opcional. Expresiin de tipo String que se muestra en la barra de titulo del cuadro de diilogo. Si se omite, en la barra de titulo aparecera el nombre de la aplicacién. RstaDefecto. Opcional. Expresién de tipo String que se muestra en el cuadto de texto como respuesta predeterminada en caso de que no se suministre otra entrada, Si se mite, el cuadro de texto se mostrar vacio, Respuesta: Variable que recibira el dato ingresado por el usuario. Ejm: Module Modulel Sub Main() Dim Dato As String Dato = InputBox("Mensaje", "Titulo", "Demo") End Sub End Module Programa Nacional de Informatica 40 Desarrollador de Aplicaciones .NET ~ N. ‘7 Si el usuario presiona el botén Aceptar, la variable Dato toma el valor ingresado (“Demo” por defecto). Si el usuario presiona el botén Cancelar Dato toma el valor “" (Vacio o cadena nula). Actividad 4. Ejercicios de Aplicacion Objetivo Resolver un conjunto de ejercicios, en los cuales aplicaremos cuadros de mensaje para la entrada (InputBox) y Salida (MsgBox) de datos. Recordar las estructuras algoritmicas ya vistas. Procedimiento: 1, Solicitar e! nombre del usuario y luego, brindarle un saludo. Module Modulel Sub Main() Dim N As String NN = InputBox("Ingresa tu nombre", "Datos") MsgBox("Hola, "6 N, , “Respuesta") End Sub End Module Sed Hola, Jorge (eel 50 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET 2. Solicitar el ingreso de un nimero entero, y mostrar el cuadrado del mismo, Module Modulel ‘Sub Main() Dim x As Double x = InputBox("Ingresa un numero", ”Cuadrado") xm 2 x= x2 MsgBox(x, , "El cuadrado es:") End Sub End Module rs Inggesa un reso ® aaa 3. Ingresar 2 nimeros y mostrar la suma de ellos. Module Modulel ‘Sub Main() Dim x, y, © As Integer x = InputBox("Ingresa un nimero") y = InputBox ("Ingresa otro numero") r=x+y MsgBox(r, , "La suma es:") End Sub End Module em Programa Nacional de Informatica st ~*~ Desarrollador de Aplicaciones NET SENATI demos 4, Generar la tabla de multiplicar del 1 al 12, del nimero ingresado por el usuario. Module Modulel Sub Main() Dim x, d As Integer, m As String d = InputBox("Ingresa Numero", "Tabla Multiplicar") For x = 1 To 12 m & Str(x) 6 "x" & Str(d@) _ & "=" e Str(x * d) & Chr(13) Next, MsgBox(m, , "Tabla del " & d.ToString) End Sub End Module ene Ingesa Numer 52 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET Tabla dol 9 12x 9m 108 5. Solicitar el ingreso de una clave de acceso, teniendo como maximo 3 intentos para acceder. Module Module Sub Main() Dim m As String, X As Integer = 0 Do 3 Then MsgBox ("solo 3 intentos") Exit Sub End If m = InputBox("Ingresa clave") Xe 1 Loop While m <> "NET" MsgBox ("Bienvenido al sistema") End Sub End Module If xX oe Ered Programa Nacional de Informatica 53 ~*~ Desarrollador de Aplicaciones NET SENATI Si se ingresa la clave NET eu 6. Ingresar 10 niimeros, luego indicar cual es el mayor, menor y la suma de todos. Module Modulel ‘Sub Main() Dim x, d, men, may, sum As Integer Dim Rta As String For x = 1 To 10 d= InputBox ("dato") Tf x = 1 Then may = men = sum = d Else I£ d > may Then may = d If d < men Then men sum + d End If Next Rta = "Mayor: " & Str(may) & Chr(13) _ & "Menor " & Str(men) & Chr (13) _ @ "Suma" & Str (sum) MsgBox (Rta, MsoBoxStyle. Information, "Respuesta: End Sub 1 a End Module Ingresando los niimeros del 0 al 9 en desorden obtuvimos la siguiente respuesta: Respuesta; _[X] 54 Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET 7. Ingresar una cantidad de dinero y entregar un desdoblamiento del mismo en billetes y monedas vigentes en soles. Module Module Sub Main() Dim a, m, x As Integer Dim x As String = "" a = InputBox ("Cantidad") For x = 0 To 7 Select Case x case 0 m= 200 case 1 m= 100 case 2 m= 50 case 3 m= 20 case 4 m= 10 case 5 m=5 case 6 m=2 case 7 m=1 End Select Do While a >= m am F G= Str(m) & Chr (13) Loop Next MsgBox (e) End Sub End Module Programa Nacional de Informatica 55 Desarrollador de Aplicaciones .NET ~ N. ‘7 8. Ingresa a, by ¢, y obtén las soluciones reales de una ecuacién cuadritica: gob tAae a. Emplea la siguiente ecuacién: 2a b. Ten en cuenta que solo hay solucién real sib? — dac > 0. c. Considera ademas que: Vx = x” Module Modulel Sub Main() Dim x1, x2, d, a, by c As Double a = InputBox ("a") b = InputBox("b") ¢ = InputBox ("c") d= (b*2)- (4*a*c) If d <0 Then MsqBox("Sin solucién real") Exit Sub End If x1 = (b+ (4 *0.5)) / (2 * a) x2 = (-b- (47 0.5)) / (2 * a) MsgBox(x1, , "Sol 1") MsgBox (x2, , “Sol 2") End Sub End Module Para a=1, b=5 y c=6 obtuvimos: 56 Programa Nacional de Informatica Aplicaciones Windows con formularios Las aplicaciones de consola, son las més sencillas respecto a su estructura, pero esto no significa que estén limitadas solo a la ventana CMD. Si no mas bien, aprovecharemos su sencillez, para introducir caracteristicas del Framework importantes, en el trabajo con aplicaciones Windows. Conceptos Bésicos de programacién orientada a objetos * Clase Conjunto de elementos con caracteristicas similares o comunes. © Objeto Es una instancia de una clase, es decir es un elemento particular de esta clase. + Propiedades Es una caracteristica o atributo del objeto. * Método Realiza alguna operacién con las propiedades del objeto. + Evento Caracteristica que permite que el objeto responda a un estimulo, © Encapsulamiento Niveles de proteccién (ocultar informacién) entre diferentes clases. + Herencia Permite tomar caracteristicas de una clase padre o base y reutilizarlas en tuna nueva clase. ‘* Polimorfismo Permite que los objetos reaccionen de manera diferente ante estimulos diferentes, Programa Nacional de Informatica 57 ~*~ Desarrollador de Aplicaciones NET SENATI Programacién Orientada a Objetos en .NET El Framework NET, como se menciono al principio de este capitulo, cuenta con una biblioteca 0 libreria de clases. Esto quiere decir que al programar, nos referiremos a esta biblioteca y heredaremos las clases base, las cuales particularizaremos segiin las necesidades de nuestro proyecto, Las referencias por defecto en el proyecto en Visual Studio, se pueden encontrar en el Explorador de soluciones, My Project; luego doble clic y Referencias: z EE 2 ‘51 ConsoleApplication eal 19 Mode: eens fehve ier Wr Fopco rear Gsprat Gabe Herataran Vrs Conca And Priv 42 33, (Cree nrs —] Crs eee rg re dana aml ctartetanatsettarect assed dias nl cbecobarne eesti Sean Rest Ceoeteretee tert aner psec: denon: meta: imo vee orem [Espen calectere (oye calctrs coer (asjem os [sper dente [Ficersnbsescstnt Podemos agregar referencias, empleando la opcién 58 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET Actividad 5. Creando una sencilla aplicacién Windows Objetivo Famitiarizarse con las referencias al FrameWork desde los proyectos NET y comprender el trabajo con sus clases y objetos. Procedimiento: 1. Crear un nuevo proyecto de aplicacién de consola. 2. Agregarle a este proyecto la referencia a Spstem. Windows. Forms. ee eee ey NET [COM | Proyectos | Examiner | Reciento Nombre de comp...“ _Versiin Motor en... Ruta de acceso System Runtime Serial... 2.0.0.0 ¥2.0.50727 _C:\WINDOWS\Mic Syston Security 2.0.00 — ¥2.080727 C:\WINDOWS\Mic System ServiceProcess 2.0.0.0 ¥2.0.50727_C:\WINDOWS\Mic System.Transactions 2.0.0.0 ¥2.0.50727_C:\WINDOWS\ic System.Web 2.0.00 — ¥2.0.50727 C:\WINDOWS\Wic SystemWebMobile 2.0.0.0 ¥2.0.50727_C:\WINDOWS\Mic System.Web RegularEx... 2.0.0.0 ¥2.0.50727_C:\WINDOWSWWic 2.0.00 ¥2.0:50727_ C:\WINDOWS\Mic 20.00 ¥2.050727 C:\WINDOWS\Wic 7.0:3300.0 vi.0.3705 _€:\VS2005\Comrr 7.0,3300.0 v1.0.3705 _C:\Archivos de pr ¥ > 3. Codifica como se muestra: Imports System.Windows.Forms: Module Modulel Class Formulario Inherits Form End Class Sub Main() Dim Forml As New Formulario Form].Mext = "Ejemplo 1" Form .ShowDialog () End Sub End Module Programa Nacional de Informatica 59 ~*~ Desarrollador de Aplicaciones .NET SENATI Imports System. Windows.Forms Complementa la referencia a la libreria del Framework con el name space ‘System.Windows.Forms que permite emplear clases para formularios Windows. Module Module Module da inicio al médulo principal o clase maestra. Class Formulario Permite crear una clase Hamadada Formulario Inherits Form Hereda la clase Form del framework para esta clase. End Class Da fin a la declaracién de la clase. ‘Sub Maing) a inicio al procedimiento maestro o principal de nuestro programa. Dim Forml As New Formulario Crear a partir de la clase Formulario un objeto Formt (Instancia). Form1.Text = "Ejemplo 1" Se asigna un valor a la propiedad Text del objeto Form! Form1.ShowDialog), Se llama a un método del objeto Form1. El método ShoDialog() permite mostrar el formulario Fornt End Sub Marea el fin del procedimiento abierto, en este caso Sub main() End Module Marea el fin del médulo principal, y por tanto, del programa maestro. NOTA: En caso Visual Studio intente mostrar la interfase en vista de disefio, debemos, en este caso recurrir a la opcién Ver cédigo sefialando previamente Modulel.vb. |#Repbradr de. glovigsres de 60 Programa Nacional de Informatica SENATI Capitulo 1: Framework NET Anexos Tipos de Datos Boolean Boolean En funcion de a plataforin Tru o False de implementacson a L TADS NG Char Char Bytes 10. 65535 (sin sign) (earicter individual Date DateTime Boyes ‘1500300 (medianoche) del | de enero d& (0001 11:59:59 pam. del 31 de diciembre 669999. Desimal Decimal Tobyies ate 79.228,162.514.264.337.593,543.950.3 35 (+/-7.9.. £428) ' sin separador decimal; Oa +/- 7,9228162514264337593543950335 ‘con 28 posiciones a la derecha del decimal; el nlmero distinto de cero mis pequedo esti £,0000000000000000000000000001, (/-1E-28) "| Double Double B bytes =1,79769313486231570E+308 a (punto 4,94065645841246544E-324 ' para los flotante de valores negativos; precision 4.94065645841246544E-324 a doble) 1,797693 1348623 1570E+308 * para los. valores positivos Tnteger Tat? Fbytes “DIET ARB.648 a 2.147 483.647 (con signo) Long (entero Int B bytes “DDS 37 036.854. 775.808 & largo) 9.223,372.036.854.775 807 (9,2..E18 ‘Object ‘Object 4 bytes en plataforma de 32 Cualquier tipo puede slmacenarse en (clase) bits una variable de tipo Object 8 bytes en plataforma de 64 bits SBy ‘SByte 1 =128 a 127 (con signo) Short entero Intl6 bytes “32.768 a 32.767 (con signo) corto Single (punto Single Fbytes “340282355138 a -1,401298E-45 flotante de para los valores negativos; precision 1,401298E-45 a 3,4028235E*38 " para simple) ‘os valores positivos: String. String En funcién dela plataforma 0.4 2.000 millones de caracteres (longitd (clase) de implementacién Unicode aprox. variable) SEEN PEROT TTETCT TET ST ee Ulnteger __Uint32 Toytes (044.294.967.295 (Sin Signo) ULong, Ulnt6s Sbytes ‘Oa 18.446.744.073.709.551.615 1,8..E-+19 1 (sin signo) Programa Nacional de Informatica OL Desarrollador de Aplicaciones .NET ~ N. + User-___(hereda de En funcion dela platafonma — Cada miembro de la estructura tiene un Defined ueTyp de implementacién_intervalo de valores determinado por su (estructura) 2 tipo de datos y es independiente de los intervals de valores correspondientes los demis miembros, En Ta notacion cientifica, "E™ hace referencia a una potencia de 10. Por lo tanto, 3,50E+2 significa 3.56 x 10° 0 356, y 3,56E-2 significa 3.56 / 10° 0 0,0356. Conversién de Datos ‘Nombre Tipo de dela datos Intervalo de valores del argumento expression. funcién devuelto CBool Boolean Cualquier expresién numérica, Char o String valida, CByte Byte 0.4255 (sin signo: las partes fraccionarias se redondean.! CChar Char _Cualquier expresién Char o String valida; slo se coavierte el primer eardeter 4e String; el valor puede estar comprendido entre 0 y 65535 (sin signo). CDate Date Cualquier representacion vilida de fecha y hora Db Double de -1,79769313486231570F-+308 a ~4,940656458412465448-324 para valores nnegativos; de 4,94065645841246544E-324 4. 1,79769313486231570E+308, para valores positives CDec Decimal 4/-79.228. 162.514.264.337 593.543.950.335 para nimeros a partir de cero, &s decir, nimeros sin decimales. Para niimeros con 28 posiciones decimales, el imtervalo es +/-7,9228162514264337593543950335, El. menor nimero posible distinto de cero es 0,000000000000000000000000001 (=/-1E-28), Cnt Integer de -2.147.483.648 a 2.147.483,647; las pares fraccionaria se redondean.! Lng — Long do. -9.223,372.036.854.775.808 @ 9.223,372.036.854.775.807;, las partes faccionarias se redondean." CObj Object Cualquier expresin vélda, CSByte SByte de -128 a 127; as partes fraccionarias se redondean.! CShort Short de 32.768 a 32.767; las partes faccionaris se redondean! CSng String De -3,4028235+38 a -1.401298E-4 para valores negatives; de 1 401298E-45 113,402823E38 para valores postivos. CStr String Los valores devueltos para CStr depenuen del argumento expression. Vea Valores devueltos para la funcién CStr. CUInt —Ulnteger de 0 2 4.294.967. 295 (si CULng ULong de 0 a 18:446.744.073,709.551.615 (sin signo); las partes fraccionarias se redondean.’ igno); las parts fraccionarias se redondean CUShort UShort de 0 65.535 (sin signo); las parts fraccionarias se redondean.! * Las pares fiaccionarias pun estar sues aun po especial de redondeo denosina redonden buncari, Vea "Comentarios" pra obtener mis informacion, @ Programa Nacional de Informatica, SENATI Capitulo 1: Framework NET Preguntas de repaso 1. {Qué ventajas existen en la tecnologia NET al emplear un marco de trabajo? 2. Cuales son los comandos Framework que hemos visto y para que sirven, {Crees ti que Visual Studio los emplea? 3, {Qué es una clase? {Qué relacién tiene esta con los objetos? {Qué son las propiedades y métodos? 4. {Qué tipos de datos emplearias para almacenar: Nombres Precios Edades Telefonos E-mails Fecha de Naci Hora de entrega reso se jiento ® 5. Programar en Visual Basic NET lo necesario para resolver los siguientes problemas: a, Ingresar un nimero del 1 al 100 ¢ identificar si es par o impar. En ‘caso el dato no se encuentre dentro del rango reintentar en su ingreso, b. Ingresar 2 némeros y obtener la suma, resta, multiplicacién y divisién de los mismos. Considerar la respuesta “Div0” para divisiones entre 0. c. Ingresar 3 notas y obtén el promedio, considerando que la iiltima nota tiene peso 2. Indicar ademés si esta aprobado o desaprobado, segtin el promedio calculado. 4. El usuario ingresara su nombre y luego recibira un saludo, que depende de la hora del sistema, Ejm: Usuario: Silvia Giorgio Hora: 8am. Spm Saludo: | “Buenos dias, Nota: Para obtener la hora del sistema en formato de 24h, emplea: hora = System.DateTime.Now. Hour La variable hora debe ser de tipo entero. €. Solicita el ingreso de 3 nimeros, luego, muéstralos ordenados de ‘mayor a menor, Programa Nacional de Informatica @ Desarrolador de Aplicaciones NET ~ N. . 6. Completa el siguiente esquema en la compilacién de eédigo: vBc cs (ASE) Temporal vec ILASM csc ILDASM. (ASE) csc ILDASM ILASM, co Programa Nacional de Informatica Capitulo Objetivo General: Reconocer los elementos utilizados en la creacién de una Solucién, asf como la modalidad de trabajo al codificar un programa. Objetivos Especificos: 1 10. Temas: Reconocer la gama de opciones que ofrece la familia Visual Studio 2005. Identificar las consideraciones a tener en cuenta en la instalaci6n. Conocer las Soluciones, proyectos y sus elementos. Emplear diferentes plantillas de proyectos en una solucién, Revisar la estructura de archivos y carpetas de una solucién, Conover las bondades del IDE de Visual Studio 2005. Identificar las partes del IDE. Obtener ayuda oportuna y apropiada. Emplear apropiadamente las herramientas de revisi6n, Usar y crear regiones de cédigo. Reconocer la importancia del e6digo generado por el dis Consideraciones para le instalacién de Visual Studio NET Soluciones, proyectos, elementos Plantillas de proyecto. Estructura de carpetas y archivos de la Solucién. Entorno integrado de desarrollo (IDE) Revisi6n de una aplicaci6n en VB.NET. Programa Nacional de Informatica 65 Desarrollador de Aplicaciones Visual Studio .NET Visual Studio NET es un conjunto completo de herramientas de desarrollo para la construccién de aplicaciones Web ASP, servicios Web XML, aplicaciones para escritorio (Windows) y aplicaciones méviles. alo tUCIORseiM Visual Basic NET, Visual C++ NET, Visual C# NET y Visual J# NET utiizan el mismo entomo de desarrotio integrado (IDE), que les permite compartir herramientas y facilita la creacién de soluciones en varios lenguajes. Asimismo, dichos lenguajes aprovechan las funciones de .NET Framework, que oftece acceso a tecnologias clave para simplificar el desarrollo de aplicaciones Windows, Web ASP y servicios Web XML. Informacién ‘adicional I Los servicios Web XML permiten intercambiar datos en forma de mensajes XML entre sistemas heterogéneos. El XML (Extensible Markup Language) se encuentra en formato de texto y contiene datos estructurados. Consideraciones para le instalacién Se deben cumplir un conjunto de requerimientos para la instalacién de Visual Studio, las cuales estén en funcién de la versién de la que dispongamos. Existen a la fecha versiones .NET 2002, 2003 y 2005; dentro de las cuales, segtin sus alcances de empleo se manejan distribuciones diferentes. Para el caso analizaremos los requerimientos de la familia de distribuciones de la versin 2005 de Visual Studio NET y Express. 66 Programa Nacional de Informatica SENATI Capitulo It: Visual Studio NET Familia Visual Studio 2005 Visual Studio 2005 cuenta con diversas distribuciones, segtin los requerimientos para el desarrollo de software con tecnologia NET: (Nitersort Visual Stuciozos UT Syoesen) iierecoie " PFO Visual Stuclicnzcs Professional Zeitton Misueibsitteliesioos Staged edivon, Visual Studio 2005 -Team System Herramientas para el ciclo de vida de desarrollo de software; productivas, integradas y extensibles que ayudan a los equipos a mejorar la comunic: colaboracién a lo largo de todo el proceso de desarrollo. Visual Studio 2005 - Professional Herramientas de desarrollo profesionales para programadores individuales 0 pequefios equipos de trabajo, que desarrollan aplicaciones Web, méviles, Windows o basadas en Office. Programa Nacional de Informatica 7 ~*~ Desarrollador de Aplicaciones NET SENATI Visual Studio 2005 Standard Herramientas de desarrollo sencillas, féciles de aprender y de usar, indicadas para iniciarse en la programacién y dirigidas a aficionados, estudiantes y aprendices que quieren comenzar a crear aplicaciones para Windows y Web. Visual Studio 2005 - Versiones Express Versiones compactas ¢ individuales, con lenguaje tinico y orientadas a un entomno de desarrollo Windows o Web, de distribucién gratuita, a la fecha. Se incluyen las herramientas basicas para iniciar el aprendizaje de Visual Studio NET. Requerimientos del Sistema Las mfnimas opciones recomendadas se detallan en la tabla siguiente: Requerimiento Detalle Frecuencia de 1.0 Ghz a més. eee: (No se soporta procesadores Intel Itanium TA64) RAM! 256Mb, preferible $12Mb a més, Disco Duro” 3Gb. de espacio libre. Pantalla’ Resolucién de 800x600 cD/pvp* Para la instalacion Windows 2000 Professional o Server (SP4) Sistema Operative | Windows XP Professional, Home Edition (SP2) Windows 2003 Server (SPI) "BI rendimiento no serd el Gptimo si se utiliza la configuracién minima del sistema. Al aumentar la memoria RAM del equipo, mejora el rendimiento, especialmente cuando se ejecutan varias aplicaciones, se trabaja en proyectos grandes 0 se desarrollan aplicaciones para empresas. * Cuando se inicia el instalador de Visual Studio 2005, la _ubicacién predeterminada de la instalacién es la unidad del sistema, que es la unidad que lo inicia. Sin embargo, se puede instalar la aplicacién en cualquier unidad. Independientemente de la ubicacién de la aplicacién, el proceso de instalacién instala algunos archivos en Ia unidad del sistema. Los 3Gb recomendados estén sujetos a las opciones elegidas en la instalacién y a la unidad. Los cuales son aproximados pero pueden variar segtin las opciones personalizadas, especialmente sise incluye la ayuda MSDN. A mayor resolucién de pantalla mejor distribucién de ments y paneles dentro del entorno de programacién. * Segiin el soporte de distribucién disponible en CDs 0 DVD. 68 Programa Nacional de Informatica, ~~ Capitulo 11: Visual Stu Instalacion de Visual Studio 2005 Una vez cumplidos Jos requerimientos minimos, debemos tener el software instalador, podemos encontrar versiones Express libres en el site de Microsoft. Iutp:/imséin.microsoft.com/vstutiolexpress/ Few Deveomint For waar Devopmet hitp://wwww.microsoft.com/spanish/msdn/sstudio/express/default.mspx 1 ~ Crsimnnosertcnronaneaymasntiainene: — ¥) 4) x 2 © Bl [Bomenme —_Cmunatome. x] | 8° 8 3 he Qt eee Sn bape aes VaolsnOmioriS Tw spa eee | wet ras aceneneee Serer | tnfomacn Jngortante Cored ot iowal web pcwctoper 2009, Visual Basic 2005 Express Eton Programa Nacional de Informatica ~*~ Desarrollador de Aplicaciones NET SENATI Iniciando la Instalacién de Visual Studio 2005 Inicia la instalacién luego de insertar el CD / DVD, o luego de la ejecucién del ‘Autorun.exe: Para versiones Express, como Vis como se muestra: = La casilla de verificacién es si queremos notificar a Microsoft respecto al acontecer de la instalacién, no es necesario marcarlo, Presionar Siguiente. ee (aera ee) Se muestran los términos del contrato de instalaci6n, debemos Aceptarlos con la casilla de verificacién y luego presionar el bot6n Siguiente, Programa Nacional de Informatica SENATI Capitulo It: Visual Studio NET Nero te eae | En esta pantalla definimos la ubicacién de los archivos, la cual se puede cambiar con el botén Examinar. Ademds se muestra un listado de los productos que se instalarén los cuales varfan dependiendo de los elementos presentes en tu equipo. Finalmente presionar el bot6n Instalar. Para versiones de Visual Studio 2005 no Express, se mostraré una ventana de bienvenida como sigue: NERS te[fep00 En esta ventana se muestran los pasos generales de la instalacién completa, Iniciar la instalacién con clic en el link Instalar Visual Studio 2005. 2, MSDN es la documentacién de Visual Studio, que podra instalarse luego de instalar el software. 3. Buisqueda de actualizaciones, para mejorar el producto con mejoras recientes. Debe disponerse de Intemet para buscar estas mejoras. Programa Nacional de Informatica a ~*~ Desarrollador de Aplicaciones NET SENATI Visual Studio2005 ‘tetas pratt a tet compan Sian a Pitore moras alee — ios | fois | emo Se debe seleccionar que tantas funciones se instalaran en el equipo: 1. Predeterminada, instala lo necesario casi para cualquier usuari 2. Completa, instala todas las funciones disponibles en la instalacién, 3. Personalizada permite elegir las funciones més a detalle a continuacién: Aqui se selecciona las funciones ha instalar, recordar instalar lo necesario: 1. Elegir las herramientas de lenguaje ha emplear. 2. NET Framework SDK (Software Development Kit) incluye herramientas para escribir, generar, probar e implementar aplicaciones .NET Framework. R Programa Nacional de Informatica Capitulo 11: Visual Stu 3. Dotfuscator Community, ayuda a proteger programas frente a ingenierfa inversa, al tiempo que hace que sean més pequefios y més eficientes. Crystal Reports es la herramienta de elaboracién de informes. SQL Server 2005 Express es una versi6n reducida para gestién de bases de datos SQL Server 2005, instalarlo de preferencia si no se cuenta con un gestor de Bases de datos SQL Server. ws Informacion Miva instalacién con el bot6n Instalar ‘adicional Se pueden agregar o eliminar funciones de Ia instalacién de Visual Studio, en cualquier momento luego de culminada la instalaci6n. Para esto solo es necesario Ee invocar nuevamente a los archivos instaladores e indicar las funciones ha afladir 0 eliminar. Se inicia la instalacién, listéndose los componentes que se instalarén de manera progresiva: En caso sea necesario se solicitaré el reinicio del equipo. Considerar que luego del reinicio se tenga acceso a los archivos de instalaci6n. Finalmente, Iuego de unos 40 2 90 minutos segtin tas funciones instaladas y ta velocidad del equipo se obtiene Ta conformidad de la instalacién. Programa Nacional de Informatica B ~*~ Desarrollador de Aplicaciones NET SENATI Visual Studio 2005 Y 2. usa as artuaizaionss Service Bienes po graticar lo funciona Sptma de Visual $Steme oprata” Conse este wes de Wedows Upeste un wen medawagdatecam para Shtener as ectusicacures ms ecentes, Anno, puede Sena ocuatrecanes par Hae 200, ‘ations Hey Winona Scr 2003 + Por asians vunesbliadoe do segues cl eauion, vaya ergot RasalineSasuty MESA nckiye una nerfs arcs do inea or eamandor qos pong resis eaierbedtes ca tn sstemas oa Windows, MBSA Si se dispone de la documentacién y ayuda MSDN es momento de instalarla, Tener en cuenta que dependiendo de la distribucién de Visual Studio 2005, algunas ventanas pueden ser diferentes, pero la idea central es la misma, Soluciones, proyectos y elementos Para administrar con eficacia los elementos (como referencias, conexiones de datos, carpetas y archivos) necesarios para llevar a cabo la labor de programacién, Visual Studio NET ofrece dos contenedores: soluciones y proyectos. Para ver y administrar estos contenedores y sus elementos asociados se proporciona una interfaz, el Explorador de soluciones, que forma parte del entorno de desarrollo integrado (IDE). Explorador de Soluciones El Explorador de soluciones le permite ver elementos y realizar tareas de administracién de elementos en una solucién 0 en un proyecto. También le permite utilizar los editores de Visual Studio para trabajar en archivos fuera del contexto de una solucién 0 proyecto. Una tinica solucién y sus proyectos se muestran mediante una presentacién Jjerdrquica, que proporciona informacién actualizada sobre el estado de la solucién, los proyectos y los elementos, Esto le permitiré trabajar en varios proyectos al mismo tiempo. 74 Programa Nacional de Informatica SENATI Capitulo II: Visual Studio .NET 3 4 "al My Project Forma. 1) Module.vb ‘©Jexplorador de soluciones liglorigenes ce datne Contenedores: soluciones y proyectos Las soluciones y los proyectos contienen elementos en forma de referencias, conexiones de datos, carpetas y archivos necesarios para crear la aplicacién. Un contenedor de tipo solucién puede contener varios proyectos y un contenedor de tipo proyecto normalmente contiene varios elementos. En la siguiente gréfica se representa como una solucién puede contener varios proyectos y de diferentes tipos (Windows, Web, méviles, etc.) y a su vez. estos contener diversos elementos: SOLUCION Programa Nacional de Informatica 5 ~*~ Desarrollador de Aplicaciones NET SENATI El uso de estos contenedores le permite beneficiarse del entomo de desarrollo integrado de varias formas’ Puede administrar la configuracién de la solucién en su totalidad 0 dividida en proyectos individuales. Puede utilizar el Explorador de soluciones para controlar los detalles de la administracién de archivos al mismo tiempo que se centra en los elementos que constituyen la labor de programacién, Puede agregar elementos tiles a varios proyectos de la solucién o a la solucién sin tener que hacer referencia a dichos elementos en cada proyecto. Puede trabajar en diversos archivos, independientes de soluciones 0 proyectos. Plantillas de proyectos Las plantillas de proyecto permiten crear los archivos, las referencias, el marco de trabajo de cédigo, los valores de propiedades y las tareas iniciales apropiados para el proyecto seleccionado. En Visual Studio 2005 podemos encontrar los siguientes tipos de proyectos: 2a Windows: occa rocier 29 Songer 2009 vinden cE bese de cntes es over eng Ear ous Instalacién e implementacién tase Seenabadnd eatines devil its Seatin el lenguaje de programacién elegido (Visual Basic, C#, Visual C++, J#), este ser tomado como raiz. Para elegir otros lenguajes desplegar la opcién con este nombre, En la Versi6n 2005 de Visual Studio, se ha separado los proyectos Web en la opcidn Nuevo Sitio Web: sechio [Edtar er Proyecto Generar EG] mero prove cute 76 Programa Nacional de Informatica SENATI Capitulo II: Visual Studio .NET Plantillas por tipo de proyecto Tipo de Plantilla Descripcién Proyecto Aplicacién para Windows | Proyecto para crear una aplicacién con una interfaz de usuario de Windows Biblioteca de clases Proyecto para crear una biblioteca de clases de VB (dll). Aplicacién de consola | Proyecto para crear una aplicacién de linea de comandos Biblioteca de Controles de | Proyecto para crear controles que se van g Windows utilizar en aplicaciones para Windows. = Biblioteca de Controles | Proyecto para crear controles que se van Web a utilizar en aplicaciones Web. Servicio de Windows Proyecto para crear servicios de Windows. Proyecto Vacfo Proyecto vacfo para crear una aplicacién local. Aplicacién de Crystal | Proyecto para crear una aplicacién de VB Report con una interfaz de usuario de Windows ¥y un ejemplo de Crystal Report Aplicacién de dispositive | Proyecto para crear una aplicacién de formularios de = .NET — Compact Framework 2.0* Biblioteca de Clases Proyecto para crear una biblioteca de clases (dll) de NET Compact Framework 2.0* Biblioteca de controles _| Proyecto para crear controles de NET Compact Framework 2.0* ‘Smart Device Aplicacién de consola Proyecto para crear una aplicacién no grifica NET Compact Framework 2.0* Proyecto vacio Proyecto vacfo para crear una aplicacién de NET Compact Framework 2.0 (Pocket PC, Smartphone 2003, Windows CE 5.0) Programa Nacional de Informatica 7 Desarrollador de Aplicaciones NET ~ N. + B , | Proyectode SQL Server | Proyecto para la creacién de las clases 28 que se van a utilizar en SQL Server 23 Starter Kit de mi coleccién | Aplicacién de ejemplo para realizar un Z| depoticutas seguimiento de la coleccisn de peliculas. . Incluye cédigo fuente y tutoriales. g é Starter Kit de protector de | Ejemplo del protector de pantalla. pantalla Proyecto de instalacién | Crea un proyecto de Windows Installer al que se pueden agregar archivos Proyecto de programa de | Crea un proyecto Web de Windows instalacin Wel installer al que se pueden agregar dacién Web Installer al ed & archivos, 2 Z Proyecto de médulo de|Crea un proyecto de médulo de 5 | combinacién combinacién Windows Installer al que se = pueden agregar archivos | Asistente para proyectos | Crea un proyecto de Windows Installer 3 de instalacion. con ayuda de un asistente. z Proyecto CAB Crea un proyecto CAB al que se pueden agregar archivos Proyecto CAB de Smart | Cree un proyecto CAB para implementar Device Pocket PC, Smartphone y otras aplicaciones basadas en Windows CE g J | Proyecto de base de datos | Crea un nuevo proyecto de base de datos 383 que permite 1a manipulacién directa de 3 ae objetos y datos g oa 26 avs | Complemento de Visual | Crea un complemento que se puede 2 Studio cargar en un host basado en Visual Studio & | Complemento compartido | Crea un complemento que se puede a cargar en varios hosts 2g 5 Solucién en blanco Crea una solucién vaefa que no contenga B28 ectos. 3538 He 33% & 78 Programa Nacional de Informatica, ~~ SENATI Capitulo It: Visual Studio NET Sitio Web ASP.NET Sitio Web ASP.NET en blanco Servicio Web ASP.NET _ | Sitio Web para crear servicios Web XML % [star Ker de sitio Web| tater Kit para crear un sitio Web z personal personal % | Sitio Web vacfo Sitio Web vacfo Sitio Web de ASP .NET | Un sitio Web ASP NET con un ejemplo de Crystal Reports de Crystal Reports Las planillas que indican (1.0) son basadas en Compact Framework 1.0 Disponible por separado en el meni Archivo/Nuevo sitio Web. Actividad 1. Crear una solucién con miltiples proyectos Objetivo Comprender, aplicar y crear soluciones como contenedores de proyectos en NET. Revisar y aplicar diferentes plantillas de proyectos en NET Procedimiento: 1, Meni Archivo y Nuevo proyecto: seve [tar Ver _Heramereat Verna (Sime woreda. py ‘COHN "D) Meo sto Web, 2. En Tipos de proyecto, Otros tipos de proyectos, Soluciones de Visual Studio. Elegit Solucién en Blanco, colocat la ubicacién con Examinar y luego el nombre de la Solucién, y Aceptar, como se muestra: Programa Nacional de Informatica 79 Desarrollador de Aplicaciones 3. Enel Explorador de soluciones, Clic derecho a la solucién en blanco: shicone SE: EB) emerto exstente. (La Nueva carpet de soluciones 5. Crear algtin archivo a ser contenido en la soluciGn. En este caso Archivo de Texto colocarle un nombre y Aceptar. artes Planta instal de Vil Sx 8 @a 8 & @ inate Pham. Hootion NeworRL Exe AeWOIST Hohe [2 @ B cide Prado Ce da a Ca cd i 80 Programa Nacional de Informatica SENATI Capitulo II: Visual Studio .NET 6. Opcionalmente escribir alguna nota y guardar. NotasSolucon.t* Pégns deco | Esta es una solucién creada como ejemplo 7. Agregar nuevos proyectos a la solucién: P. Nuevoproyedto... Proyecto exstente... Combe nombre Nuevo stio Web. ‘io Web existente... 8, Agregar un nuevo proyecto Aplicacién para Windows, opcionalmente cambiar el nombre y luego Aceptar. ‘A continuacién se muestra el Explorador de Soluciones luego de esta operacién. Observe que se agrega de manera jerérquica dentro de la Solucién como rafz. Ademés los proyectos por defecto insertan una interfase por defecto, en este caso Forml. Programa Nacional de Informatica 81 ~*~ Desarrollador de Aplicaciones NET SENATI c z =X 2) 3 EL {gl Soluce solder (1 proyecto) = ty Soblty tems By netassotxiom tt © Gl WindowsAppicationt Gu ty Proce Sem ]leoredor d.iglOroenes do 9. Nuevamente, agregar un nuevo proyecto a Ia solucién: Esta vez una Aplicacién de dispositive, Smart Device, Pocket PC. Opcionalmente cambiar el nombre y Aceptar. rt: Planta ital de Wl So Bees me A tkgoca de sbotca de Alcan de Moyecovao conser, Neo 2 Fm A lean do blade apkcain do Pye aco Srostins Gaeta.) CO) El Explorardor de soluciones resultante se muestra a continuaci6n: a & [al Sohn MSckicon’ (2 proyectos) (© i Sohtin tems B) notassotcon.te Gi DeviceAepleationt Ge My Protec om = Gl WindowsApplicationt Ga My Proc Brom.vb Yer da. lglOvinenes de. Programa Nacional de Informatica @ ~~ SENATI Capitulo 11: Visual Studio NET 10. Agregar un proyecto Web. En el Explorador de soluciones, clic derecho a la soluci6n, Agregar, Nuevo sitio Web como se muestra: SORE, ae Sain Rene Volver generar sean 2: Bl devestepeatent 5 a My Prope ee anne Ling shin (Gl Windowsapoicationt cal — xen dt ote EB rome Cdn de greasindel oye | ae , = ela de soaines il servo etek : = Estate proyectos de ie. Proyecto exerts. deri Brnlaate dae) 8 [ieee ee 1. Elegir Sitio Web ASP.NET, luego Aceptar: Agregar nuevo sitio Web rts: Ponti stladas de Visual Stuiho aanaanraa e SenaioWeh State kde StoWeb So Web de PNET Stowe vot SPN [seta ce ncn | Cltcomers and Sathgsdnnsain Ws daentsiiia | (Brana. [nates Finalmente, a continuacién se muestra la solucién terminada, Observe el nivel Jjerdrquico de la solucién, sus proyectos y elementos contenidos. Programa Nacional de Informatica 3 Desarrollador de Aplicaciones NET ~ N. . “) Selien Motion’ (2 proyectos) SG Sektion tems 1) Notasslucen tat DP Ch.tWebstert ‘app Data |B web.config @ Di Deveeteptationt Sad My Projet i rormt.vo © Bl WindowsAppicationt Ea My Project El Formt.vo (Flecpradcr de cokcones |iglovoenes de datos Estructura de carpetas y archivos de la Solucién Carpetas del Proyecto Podemos estructurar nuestra solucién, con uno 0 varios proyectos. En cada proyecto, tendremos un conjunto de carpetas que categorizan los archivos segtin su naturaleza y empleo de los mismos. ‘A continuacién se muestra un proyecto de aplicacién Windows: WindowsApplicationl, en el observaremos caracteristicas similares con los proyectos en Visual Studio 2005. © © WindowsApplicationt @bin @ debug G Release My Project oa © Debug © Tempre 3 @ Release © Tempre * Los archivos de las interfases se encuentran en la carpeta del proyecto WindowsApplication! ‘+ Los archivos clave de la produccién del proyecto se encuentran ubicados en la carpeta My Project. * La carpeta bin contiene los _compilaciones del proyecto es decir frecuentemente los EXE 0 DLL ademas de algunos archivos de configuracién para el funcionamiento de los mismos. a4 Programa Nacional de Informatica SENATI Capitulo II: Visual Studio .NET ‘© La carpeta bin en la versién 2005 de Visual Studio se ha dividido en dos. Debug y Release. + Debug, contiene las compilaciones de prueba que se van realizando en el proyecto en el transcurso de su produccién. ‘+ Release, contiene ta compilacién final, més “limpia” que la Debug. Esta tiene la finalidad de ser parte del entregable del proyecto. * La carpeta Obj contiene un conjunto de temporales generados para la compilacién tanto de la versién Debug como la Relase. Tipos de archivos comunes Tipo de ts Nombre Deseripeién sin Microsoft Visual Studio | Archivo que engloba la solucién y Solution enlaza sus diferentes proyectos. suo ‘Visual Studio Solution User | Archivo de opciones de usuario Options para la solucién = Nbprop Visual Basic Project file | Archivo del proyecto Visual Basic 2005. CNET Managed Resources File ‘Archivo para el manejo de recursos del proyecto. ND Visual Basic Source file | Archivo de cddigo fuente Visual Basic 2005.* *Designer.vb [NET Managed Resources | Archivo de codificacién Visual File Basic para el disefio de la imterfase, xml XML Document Archivo de lenguaje de marcas extensible. Guarda de manera estructurada data para el proyecto, * pdb ‘Archivo PDB Archivo que guarda informacién para la depuracién del proyecto. all Extensidn de la aplicacién | Archivo de librerfa de enlace dindmico ensamblado con NET FrameWork.** exe ‘Aplicacién Archivo ejecutable ensamblado con .NET FrameWork."*" = Segiin el lenguaje de programacion elegido. Ejm: VB (Visual Basic), CS (CH) ©* Aparentan ser EXE 0 DLL esténdar, pero no lo son requieren el FrameWork .NET para steefecuetin. Programa Nacional de Informatica 85 ~*~ Desarrollador de Aplicaciones NET SENATI Entorno integrado de desarrollo (IDE) Microsoft Visual Studio NET presenta el mismo entorno integrado de desarrollo (IDE) para todos los lenguajes. El IDE se disefié para ayudar a construir soluciones con més rapidez, las ventanas y las herramientas presentan menos distracciones y son ficilmente accesibles desde cualquiera de los lenguajes del sistema de desarrollo Visual Studio. A continuaci6n se muestra el IDE de Visual Studio 2005 Professional, en un proyecto Windows SS Prepiedades, Sra Informacién adicional ‘Se pueden colocar las diferentes ventanas incluidas en el IDE en dos modos A+) diferentes, empleando el icono del desarmador ubicado a la la del botdn ft cerrar. Modo fijo fill o modo ocultar autométicamente (ple; be) Ventanas y herramientas A continuaciGn veremos las ventanas mas usadas y las opciones més importantes dentro del IDE de Visual Studio 2005: ot Cuadro de herramientas ae El Cuadro de herramientas muestra los iconos de los elementos que puede agregar a los proyectos Visual Studio. Este esté disponible en el menti Ver, con el atajo Ctrl + Alt + X 0 en la barra de herramientas estandar. Este muestra las herramientas agrupadas segtin su tipo 0 uso. 86 Programa Nacional de Informatica Propiedades Utilice esta ventana para ver y cambiar las propiedades y eventos en tiempo de diseio de los objetos seleccionados que estén localizados en editores y disefiadores. También puede utilizar la ventana Propiedades para editar y ver las propiedades de los archivos, proyectos y soluciones. Esta ventana esti disponible desde el mens Ver, presionando F4 o en la barra de herramientas esténdar et Propiedades muestra el nombre del objeto y permite listar sus propiedades por categorias 0 por orden alfabético con los botones, aly Ademis de permitir mostrar las propiedades 0 eventos del objeto seleccionado. ql Explorador de Soluciones El Explorador de soluciones proporciona una vista organizada de los proyectos y sus archivos, asf como acceso répido a los comandos relativos a ellos. Tiene una barra de herramientas asociada que cambia segtin los elementos seleccionados. Esta ventana esta disponible desde el menti Ver, presionando Ctrl + Alt + Lo en Ja barra de herramientas estndar, ae Propiedades (Activa las propiedades del elemento seleccionado), mostrar todos los archivos (muestra los archivos y carpetas que por defecto no estén visibles) y actualizar (refresca la vista). AA4 Ver cédigo (muestra el cédigo asociado al objeto selecionado), ver disefiador (anvestra el diseio del objeto) y ver diagrama de clases (muestra el objeto dentro del diagrama de clases). El Explorador de servidores Muestra las conexiones de bases de datos bajo el nodo Conexiones de datos. Una ver. establecida una conexién, puede disefiar programas para abrir conexiones y recuperar y manipular los datos proporcionados, o bien, tener acceso directamente alos datos, Atajo: Ctrl + Alt+ S. Lista de errores Permite listar los errores, advertencias y mensajes, los mismos que pueden filtrarse con los botones de esta ventana. Con un clic en la referencia se puede detectar la ubicacién del elemento que la esta generando, Atajo: Ctrl + W, luego Cul +E, Programa Nacional de Informatica a7 Desarrollador de Aplicaciones NET ~ N. . Uso de las opciones de ayuda Se puede tener acceso a la documentacién a partir de dos origenes diferentes: la Ayuda localmente instalada y la Ayuda en linea. La primera depende de las opciones de instalacién del producto y la segunda de la conexién a Internet. La Ayuda local hace referencia a los archivos de Ia Ayuda instalados en el equipo durante Ia instalacién o a los que obtiene acceso a través de discos CD 0 DVD. Este contenido es una instanténea estitica de la documentacién del producto en el ‘momento en que se publics la documentacién, La Ayuda en Iinea esté formada por tres origenes predeterminados: MSDN Online, mensajes del foro (denominados Preguntas) y Comunidad de Codezone. Estos orfgenes estén disponibles en los resultados de la Ayuda que se obtiene al resionar FI y durante la busqueda, pero no estén integrados en las ventanas indice o Contenido. Configuracién de la Ayuda La siguiente ventana se muestra cuando empleamos Ia ayuda por primera vez. En. ella debemos elegir cuales serdn las fuentes de documentacién de la ayuda: La ayuda instalada y/o la informacién de la Web. Peo Nts lens Puede consuitar Ia ayuda dasde MSDN y desde sos Web de otros Fabricartes as como su "rstalacién local de ayuda, El contenido en lines induye las times actualzacones dela (@Conterdo | 3 fice []Favortos dels Ayuda 90 Programa Nacional de Informatica SENATI Capitulo It: Visual Studio NET Indice, permite la busqueda en los temas del indice, pudiendo filtrar resultados segiin el lenguaje de programacién: Favoritos de la Ayuda, muestra un conjunto de vinculos guardadas como favoritos dentro de la ayuda. 23 HX Ee Temas de Ayuda 1 bangiedos dela ayoe « zm » (core rc rors dea ase Para agregar elementos a Favoritos, clic derecho sobre la pagina con el contenido, de ayuda y luego elegir la opci6n: Ayuda dindmica, muestra las opciones de ayuda en una ventana en el IDE: [avude Sriis EX! Cie Q,0ica nde ul a) a if Srepdades (pleads dda | Programa Nacional de Informatica o1 Desarrollador de Aplicaciones NET ~ N. ‘7 Revisién de una aplicaci6n en VB.NET. Visual Studio 2005 cuenta con opciones que hacen mis sencilla la programacién, a continuacién mostraremos algunas de estas: Guias de colocacion de objetos Las gufas son lineas que se muestran en el momento de la colocacién 0 redimensiGn de objetos en el disefio de la interfase formulario, Estas permiten que coloquemos de manera alineada y con el tamaiio apropiado un objeto con otros ya presentes. A continuacién se muestra un ejemplo en el cual se coloca el botén Saludo considerando la posicién de la etiqueta y del botén Salir: IntelliSense Permite autocompletar realizando una busqueda en listas que muestran las posibles opciones que completarfan la expresiGn. Esta caracteristica ya estaba presente en versiones anteriores de Visual Studio. A continuacién un ejemplo en el cual se busca completar al TextBox! con una propiedad o método: TextBoxt.| a 2 Acceptstab F neceecblebescrnien SF bector * AnpendTent F satoconpletecustonsource 3 Astoconeletetode 3 Aitoconeletesaurce Fake SF orders » comin Todo Cuando se encuentra la opcién apropiada se presiona punto, espacio, coma, 0 sea cual sea el cardeter que continué a la expresi6n. 92 Programa Nacional de Informatica SENATI Capitulo It: Visual Studio NET Se puede mostrar desde el inicio de la Iinea las opciones del IntellSense, presionando la combinacién de teclas Alt + > de esta forma se pueden ubicar el nombre de los objetos, propiedades o métodos en la lista, como se muestra en el ejemplo, luego de presionar la combinacién de teclas recomendada: ed oP TebleLayoutPanetGronstie a i TableayeutRanstyeColection “4 TableLayoutstyle “i$ TableLayoutstyleCollection, a ‘Textbox of TextBoxt $ Testchanged iP TextFormatrags Ag TextRenderer ¥ comin Todo Se muestran dos fichas, Comiin que contiene los elementos més usados, y Todo que contiene todas las posibilidades a considerar. Pistas de informacion Estas permiten que tengamos informacién mientras escribimos, referente a una funcién 0 método, indicdndonos que argumentos tiene, su valor de retorno y en ciertos casos algunos detalles adicionales. El ejemplo muestra el caso para la funcién MsgBox: nagbox ‘(Prompt As Object, [Buttons As Microsoft. VisualBasic MsgBoxStyle = Microsoft, VisualBask. above Aplestetoda, [Tele As bl = Nothing) As cost tsesbase MegboResik rome: Srunpacsnetro reer Exc dtp Shing ase musa cone nen ene cmt de Chg, Lap nisin de bang es oponmatanete de 10% carecre, epecens al acho dries cwatrs uta, rong tee ns Ge anc, pusen spare a oces mere carécter de retorno de carro (Chr(13)), un carécter de avance de linea (Chr(10)) 0 una combinacién de _retorno de carro y avance de lines (Chr(13) & Chr(10)) entre cada linea. Se da el caso en que en ciertas funciones y métodos, la pista muestra una numeracién, Esta indica que existe una sobrecarga del método 0 funcién; Io que significa que puede emplearse de diferente manera, segin los argumentos de entrada, Por ejemplo: TextBoxt.setect i Ze Select activa el conte TextBoxt select t [Eade Zp Select (atort As Integer, length As Irepe) Istart:Posiién dl primer carScter doa seleciin de texto actual dentro de cuado de texto. Programa Nacional de Informatica 93 Desarrollador de Aplicaciones NET ~ N. ‘7 Correccion Sintactica de codigo La revisién de la sintaxis del e6digo en Visual Studio 2005, se adapta al lenguaje de programacién elegido y se manifiesta de varias formas: Correccion En el siguiente ejemplo se muestra un error en Ia escritura del tipo de dato, luego, se muestra una etiqueta inteligente que permite la correccién considerando un tipo de dato apropiado: Dim nombre As Senalizacién de advertencias Las advertencias se muestran subrayadas de color verde, cabe indicar que estas no generan error, pero si nos sefialan un mal uso. Por ejemplo el siguiente caso muestra una declaracién de una variable que aun no ha sido usada: Private Sub Buttont_Click( Dim nonbre as string End Sub Note el subrayado verde en nombre, este dejara de mostrarse cuando se utilice la variable y no se haga una reservacién de memoria para la misma en vano. Si se sefiala con el puntero de rat6n esta palabra se mostrar: [Faabie local an ulcer: once Senalizacién de errores sintdcticos Los errores sintécticos se marcan con un subrayado azul, y nos indican un error. Estos si deben ser resueltos, de lo contrario el programa no podré compilarse ni ejecutarse. El siguiente ejemplo muestra un error de sintaxis, el mismo que al ser sefialado muestra el porque: fox. om] Regiones de cédigo En la edicién de cédigo, cuando se tiene un programa extenso preferentemente, se quiere ocultar ciertos segmentos y mostrar otros, para facilitar la visualizacién 4 Programa Nacional de Informatica SENATI Capitulo II: Visual Studio .NET de Io importante; Iuego, es en este caso en el que se considera contraer o expandir determinadas regiones de cédigo. En el siguiente ejemplo se muestra como se contrae la clase Formulario, con un clic en el simbolo -, y luego se expande con el simbolo +: Public Class Form Hy Private suo Butte End Sub End Class ke Cisse Formi Regiones #Region Pueden crearse, regiones definidas empleando #Region, con la siguiente sintaxis: ‘Region “Nombre de la Regin” “Lineas de eéidigo de ta region #End Region En el siguiente caso, se muestra una regi6n definida por el programador. De forma similar esta puede ser contrafda y desplegada como indica el ejemplo: Public Class Form Region "Botones” Private Sub Buttont_Click( End Sub Private Sub Button2_Click( End Sub | Wend Region End Clase Regién contrafda: E Public Class Formi Lena ciass Programa Nacional de Informatica 95 ~*~ Desarrollador de Aplicaciones NET SENATI Notese que en este ejemplo la regién involucra a varios procedimientos, lo importante es no interrumpir el cierre de alguno de ellos. Cédigo generado por el disetador El disefiador de Visual Studio 2005, es un generador de cédigo, es decir por cada objeto se generan un conjunto de lineas de programa que describen el disefio creado. En este c6digo se instancia y se definen propiedades de objetos a partir del FrameWork .NET. Versiones de Visual Studio anteriores a las .NET (2002, 2003, 2005) no contaban con esta caracterfstica, por el contrario generaban archivos binarios del disefo. En la versién 2005 de Visual Studio el e6digo generado en el disefio no esta en el archivo de cédigo del programador .vb; sino que este se almacena en un archivo aparte, con extensi6n .Designer.vb. Para mostrar el c6digo generado en el disefio de un formulario, debemos mostrar todos los archivos. Para esto empleamos el botén Mostrar todos los archivos del Explorador de soluciones, como se muestra: Rersorador.. [gliooes Luego, debes hacer doble clic al archivo .Designer.vb asociado al formularis ‘WindowsApplication! Ga Wy Project a References “bn 5 obj Bl Fommt.vb Deeee Rlersorader..[ggloviooes Finalmente, se muestra el archivo que contiene el eédigo generado. Debemos considerar no hacer cambios arbitrarios a este archivo, ya que estos. podrian afectar de manera critica al disefio de nuestra interfase. 96 Programa Nacional de Informatica ~~ SENATI Capitulo It: Visual Studio NET repaecta tattoo ee oe mone LS Glee ‘eerceaovecriana nas Deopme (yet aurpieg Ae totees} Stomaom EE stopooing tnahion sonpovenee ifsc hing Taek i= ‘ras epostatnoeiny | aa oom euteio po oh bisehaee oe tinaoes Forme [roms wets ' ‘elute empsehea io Boron Conpncheoar Yennesner ail Actividad 2. Crear y revisar una aplicacién VB.NET Objetivo Emplear las gufas de colocacién de objetos, Intellsense, pistas de Tinformacién correccién sintéctica y regiones de cédigo en una aplicacién Visual Basic 2005. Procedimiento: 1, Crear un nuevo proyecto de Aplicacién para Windows en VB y diseftar el siguiente formulario, notar las gufas de colocacién al insertar los objetos: 2. Doble clic en el botén Aceptar (Button!) para codificarlo. 3. Bscribir la siguiente Ifnea de cédigo dentro del procedimiento, emplear luego la correcci6n sintéctica para corregir el tipo de dato a String: Programa Nacional de Informatica 7 Desarrollador de Aplicaciones NET SENATI Dim Nom As sting 4, Al pasar a la siguiente Iinea con Enter, notar el subrayado en la variable Nom. Escribir la siguiente linea de cédigo. Emplea el IntellSense luego del Me. (Me representa a la clase actual, para el caso Form!) Nom = Me. TextBoxl Text 5. Al pasar a la siguiente Ifnea notar que el subrayado en la variable Nom, ya no esta (porque la variable ya fue usada). Escribir luego el cédigo siguiente, Notar la pista de informacién (del MsgBox). MsgBox("Hola, " & Nom, , "Saludando...") 6. Luego presionar Enter para ir a la linea siguiente, Presionar la combinacién de teclas Alt + > y escribir la siguiente linea de eédigo, empleando el IntellSense: ‘Textboxl Clear () 7. Con la combinacién de teclas Ctrl + Tab regresar a la vista de diseiio. Doble elie al bot6n Salir (Button2). 8. Codificar luego la salida con: End 9. Luego, contraer y ampliar los procedimientos con el signo — y + respectivamente, Luego del Public Class Form! escribir la siguiente linea de e6digo. Notar el subrayado azul luego de su escritura, revisar el por qué, Region "Programa" 11. El error se genero por falta de cierre del #Region. Cerrarlo una linea antes del End Class, con el siguiente cédigo: Hind Region 12, Contraer y ampliar la regién “Programa” 13, Revisar el c6digo generado por disefio del formulario. 98 Programa Nacional de Informatica, SENATI Capitulo It: Visual Studio NET Preguntas de repaso 1. {Qué es el Visual Studio .net y que ventajas podrfamos obtener con su empleo en la programacién? 2, Dentro de la familia de Visual Studio 2005, para programar con Visual Basic {Cual serfa es la distribucién mas completa y cual la mas ligera? 3. @EIMSDN que permite, cuando es instalado en el equipo? 4, Una solucién puede contener diferentes proyectos? 5. {Qué proyectos pueden estar contenidos en una solucién? {Qué plantillas recuerdas? 6. {Qué contienen los archivos * Designer. VB? 7. ¢Para que nos sirve la ventana de propiedades? 8, Busca ayuda de los siguientes temas: a. Lo nuevo de Visual Studio 2005 b. Tipos de proyectos. ¢. Cédigo generado por el diseiador 4. Ayuda sobre la ayuda. 9. Identifica las partes de la siguiente ventana: 2 ere Senn See ror Programa Nacional de Informatica 99 ~*~ Desarrollador de Aplicaciones NET SENATI 10. Realiza el siguiente procedimiento: Crea una aplicacién Windows de poca importancia. ‘Muestra el cédigo generado de tu formulario. ‘Comenta la segunda Ifnea de tu e6digo generado. Regresa al disefio con Ctrl + TAB 0 con un clic a la ficha de disefio del formulario. ce. Observaris la siguiente ventana: {Qué significado tiene? ao oe £. Restablece tu aplicacién quitando el comentario que colocaste en el aso c 100 Programa Nacional de Informatica ne Capitulo Objetivo General: Utilizar los objetos del entorno de desarrollo .NET y crear aplicaciones sencillas para comprender su funcionamiento, Objetivos Especificos: 1 Temas: Comprender el papel de las propiedades, métodos y eventos en los objetos, Revisar las propiedades, métodos y eventos de los objetos basicos para la construccién de aplicaciones visuales con Visual Basic NET. Programar aplicaciones empleando los objetos biisicos. Formulario: FORM. Btiqueta: LABEL, Caja de Texto: TEXTBOX Botén de Comandos: BUTTON Cuadro de Grupo: GROUPBOX Casillas de Verificacién: CHECK Botones de Opcidn: RADIOBUTTON Ejercicios de Aplicacién relacionados. Programa Nacional de Informatica 101 Desarrollador de Aplicaciones NET ~ N. ‘7 Propiedades, Métodos y Eventos Todos los objetos, incluidos los formularios y controles, tienen sus propias propiedades, métodos y eventos. Las propiedades pueden considerarse como los atributos de un objeto, los métodos como sus acciones y los eventos como sus respuestas. Un objeto cualquiera como por ejemplo un globo, también tiene propiedades, métodos y eventos. Las propiedades de un globo incluyen atributos visibles como su alto, didmetro y color. Otras propiedades describen su estado (inflado 0 desinflado) 0 atributos que no se ven, como su edad. Todos los globos tienen estas propiedades, aunque sus valores pueden diferir de un globo a otro. Un globo también tiene métodos o acciones conocidas que puede realizar. Tiene tun método para inflarse (Ilenarlo con aire o helio), un método para desinflarse (expulsar su contenido) y un método para elevarse (soltarlo). Asimismo, todos los globos pueden tener estos métodos. Los globos también tienen respuestas a ciertos eventos externos. Por ejemplo, un globo responde al evento de ser pinchado desinfléndose o al evento de ser soltado L = Propiedade: Evento: Métodos: * Globo.color * Globo_pinchazo() | * Globo.desinflar() * Globo.inflado * Globo.explotar() * Globo.diametro * Globo.Redimensién(tamaiio) Si tuvigramos que programar un globo, por ejemplo considerarfamos: Propiedades iniciales: Evento y métodos: Globo.color = Blanco ‘Sub Globo_pinchazo() Globo inflado = Verdadero Globo.Explotar() Globo.diametro = 10 Globo.Desinflar) Globo. Redimensién(0) End Sub 102 Programa Nacional de Informatica ~~ SENATI Capitulo IIT: Revisiin de Objetos basicos Controles: CONTROL Son una clase que seré tomada como base para los controles de representacién visual, que revisaremos a continuacién. Las propiedades, métodos y eventos de esta clase, permitirén explicar las mismas de las clases derivadas, Propiedades (Control) AccessibiltyObject Descripcion Obtiene AccessibieObject asignado al control. AccessibleDefaultActionDescription Obtiene o establece la descripcion de la accién predeterminada del control que las aplicaciones liente de accesiblidad utiizan, Obtiene 0 establece la descripcion del control que iscoanterneedcetebeaial las aplicaciones cliente de accesibilidad utilizan, Obtiene o establece el nombre del control que las Cpereeeeenets aplicaciones cliente de accesibilidad utilizan. ‘Obtiene o establece la funci6n accesible del AccessibleRole ies Obtiene 0 establece un valor que indica si el AllowDrop Control puede aceptar los datos que el usuario arrastra al mismo. Obtiene o establece los bordes del contenedor al ee que esta enlazado un control y determina como se cambia el tamario de un control con su elemento primario. AutoScrollOfiset Obtiene o establece a dénde se desplaza este control en ScroliControlintoView. Reemplazado. Obtiene o establece un valor que AutoSize indica si el control cambia automaticamente de tamafo en funcién de su contenido. BackColor Obtiene 0 establece el color de fondo del control. Backgroundimage ‘Obtiene 0 estabiece la imagen de fondo que se ‘muestra on ol control BackgroundimageLayout Obtiene 0 establece ol diserio de Ta imagen de fondo tal como se define en la enumeracién ImageLayout. BindingContext Obtiene o establece BindingContext del control Obtione fa distancia, en pixeles, que existe entre Bottom el borde inferior del control y el borde superior del Area cliente de su contenedor. Obtiene 0 estabiece el tamario y fa ubicacién del Bounds Control incluyendo sus elementos no cliente, en pixeles, con respecto al control primario. Sues bf un valor que incase contol puede Obtione un valor que indica si el control se puede ceeeeas seleccionar cas Obtiene o establece un valor que indica sil control ha capturado el mouse (ratén}, CausesValidation Obtione 0 estabiece un valor que indica si el Control hace que se realice una validacién de todos los controles que requieren validacién ‘cuando reciben el foco. Programa Nacional de Informatica 303 ~*~ Desarrollador de Aplicaciones NET SENATI Propiedades (Control) Descripcién CheckForillegalCrossThreadCalls ClientRectangle ‘Obtiene o establece un valor que indica si se dotectaran las llamadas en ol subproceso equivacado que tiene acceso a la propiedad Handle de un control. Obtiene el rectangulo que representa el area lente del control Obtiene 0 establece el alto y el ancho del area Clientsize cliente del control CObtiene el nombre de la compariia o del creador ‘CompanyName de la aplicacién que contiene el control. eae Obtiene IContainer que contiene Component.(Se hhereda de Component). ContainsFocus (Obliene un valor que indica siel control, o uno de sus controles secundatios, tiene el foco de entrada en la actualidad ContextMenu. CObtiene o establece el mend contextual asociado al control ContextMenuStrip Obtione 0 estabiece el ContextMenuStrip asociado a este control CObtiane la coleccién de controles que contiene el oie oa oa a are naa — So be aoa Bees Soe Oyen Sele eran ge rena lee au es Disposing Control esta en el proceso de eliminacién. sox See ee dana te cies roamed) foco de entrada. POGESGE ‘Obtiene 0 estabiece e! color de primer plano del oa a enlazado el control. Liemsttthinhei uno 0 mas controles secundarios. 104 Programa Nacional de Informatica SENATI Capitulo IIT: Revisiin de Objetos basicos Propiedades (Control) Descripcién Obtiene 0 establece el modo de Editor de ‘métodos de entrada (IME) dol control Obtione un valor que indica si el lamador debe llamar a un método de invocacién cuando realiza InvokeRequired llamadas a métodos del control porque e! llamador se encuentra en un subproceso distinto al del control donde se cred. Obtiene 0 establece un valor que indica si el ImeMode IsAccessiblo Control es visible para las aplicaciones de accesiblidad IsDisposed Oatene un valor queria si el contol se ha eauinceaies btiene un valor que reas ef contol ne un iaManaieal atone in valor que indica si el control esta CObliene una instancla almacenada en caché del motor de disefio del control. Obtiene o establece la distancia, en pixeles, que Lett existe entre el borde izquierdo del control y el borde izquierdo del area cliente de su contenedor. ‘Obliene 0 establece las coordenadas de la ‘esquina superior izquierda del control en relacién LayoutEngine bseael Coon la esquina superior izquierda de su contenedor. Margin Obtiene o establece el espacio entre los controles. Obtione 0 establece ol tamafio que os ol limite superior que GetPreferredSize puede espectficar. Obtiene o establece el tamafio que es el limite MaximumSize budeestietd inferior que GetPreterredSize puede especiticar. Obtiene un valor que indica cual de las tecias Moditierkeys modificadoras (MAYUS, CTRL y ALT) esté presionada, ‘Obliene un valor que indica cual de los botones Liaeatacisaha del mouse esta presionado. Obtiene la posicién del cursor del mouse en petra coence ‘coordenadas de pantalla. Name ‘Obliene o establece el nombre del control Padding Obliene 0 establece el relleno dentro del control Puen Oatieneoestabiece el conenedor principal de pmiaeee CObliene el tamafio de un rea rectangular en la que cabe el control CObtiene el nombre de producto del ensamblado ieee ue contiene el contro. payee Obtione fa versién del engamblado que contiene al control CObtiene un valor que indica si el control esta volviendo a crear su identificador en la actualidad. Obtiene o establece la region de ventana asociada al control Obtiene la distancia, en pixeles, que existe entre Right el borde derecho del control y el borde izquierdo del érea cliente de su contenedor. RecreatingHandle Region Programa Nacional de Informatica 105 ~*~ Desarrollador de Aplicaciones NET SENATI Propiedades ipcién (Control) peewee ble oelatlace un var que nde los Slomortos dl conve se avoan pra ame RightToLeft configuraciones regionales utilizando fuentes de Serocha a qurge Roonplara. Obiene oeaabloce aaa a Lead control. Size atone 6 stale Talo yt archo dt cont ae Date o estate ol odon da aula de Seon au eetonador Gators oexteloce un valor que rica a @ TabStop ries pun lfoco tobe conbel meant ici Fa = oteneo establoe ol objeto ave conene datos 7 sobre el control. Tax See oentioce aon anol al cota Oates estaiece distant on pele ue Top xsl ene el bore super dl con el Sue suve‘ordel teseherts de so contenedor atone ol contel pial avo reo: secundaria onmgin aro cantl do ormolaos Windows TopLevelContro! Forms. Normalmente, se trata del Form mas Exo a quo ot cnn gone Sofeno o etebloce in var que aca s 92 UseWaiCuroe Gla elousor do seprs pas leant actualy tadoa os sntalcn Shounen, Opt oealsioce on var que rca ase oo muestra el control. Wi Ontone oestsee al anc del cei Ena propiodad admit a foosiucura do NET WindowTarget Framewerty no se dbo Wer dreamer a part dt oodge, Métodos rij men Descripcion Sobrecargado, Ceci un delogado do omma Bogintnvoke Sorrento sl ocbpronese donde ge Go ionticadorsubyente do conta BingToFron Colca conto a prince del orden Z. ‘Bane un valor quo india sie contol especicads ws Contain un control secundario del control. ‘biga sae se crow leon nll ol Wenicador een eat) y los controles secundarios. CreteGrapics real Graphs para el conta Crea un ote que coer teda a nvoracion : flora racosora pare gona’ cr pron vneado para CreateObjRet comunicarse con un objeto remoto. (Se hereda de Frey etobjon fe Sobrecrgaco ser ods Tos vores vlads por Control 106 Programa Nacional de Informatica SENATI Capitulo IIT: Revisiin de Objetos basicos Métodos: (conta) Descripcion DoDragDrop Inicia una operacion de arrastrar y colar. DrawToBitmap Pormit la ropresontaciin del mapa do bits espocficado. Fecupera el valor devueto por la operacién asincrénica raion: representada por la |AsyncResult que se pasa. ‘Equele ‘Sobrecargado. Determina si dos instancias de Object a ‘son iguales. (Se hereda de Object). FindForm Recupera el formularo en el que se encuentra el contol Focus Establece el foco de entrada en el contol are ocupera el conil que contin al identficador FromChildHandie opens Pease Dewoive el conte! acualmente asociado al Gentficador espociicado, GetChilgAtPoint Sobrecargado. Recupera el control secundario en una ubicacion especificada. Devuelve el siguiente ContainerControl (en sentido GetContainerContro! ascendente) de la cadena de controles principales del ‘control Sirve como funcion hash para un tipo conereto. eons GetHashCode es apropiado para su utiizacién en algoritmos de hash y en estructuras de datos como las tablas hash. (Se hereda de Object). GellifetimeService Fecupera el objeto de servicio de duracion actual qué ccontrola la directiva de duracién de esta instancia. (Se hereda de MarshalByRefObject) Recupera el siguiente control, hacia delante o hacia GetNextContro! airas, en el orden de tabulacién de controles secundatios ecupera el tamafo de un area reciangular en la que Geterecace) puede caber un control. ‘Obtiene el objeto Type de la instancia actual (Se hereda core de Object. Hide ‘cuita el control al usuario, InitiaizeLifetimeService ‘Obtiene un objeto de servicio de duracion para controlar la directiva de duraci6n de esta instancia. (Se hereda de MarshalBiyRefObject ‘Sobrecargado. Invalida una regién especifica del control eee vy hace que se envie un mensaje de dibujo al contro. ‘Sobrecargado. Ejecuta un delegado en el subproceso Invoke ‘que posee e'! identificador de ventana subyacente del ‘control. Determina sila tecla BLOG MAYUS, BLOG NUM o enviar BLOQ DESPL esta en vigor. Determina si el cardcter especificado es una tedla de 'sMnemonic ‘acceso asignada al control en la cadena especificada ‘Sobrecargado. Obliga al control a aplicar la légica de fener disefio a los controles secundarios. Calcula la ubicacién del punto especificado de la ome leeen pantalla, en coordenadas de cliente. Paniaae Caloula la ubicacion del punto especiticado de cliente en coordenadas de pantalla Programa Nacional de Informatica 107 ~*~ Desarrollador de Aplicaciones NET SENATI Métodos. (Control) Descripcién PreProcessControiMessage Preprocesa los mensajes de teclado o de entrada en el bucie de mensajes antes de enviarlos. ProProcossMessage Preprocesa los mensajes de teclado o de entrada en el bucle de mensajes antes de enviarlos. RectangleToClient Calula el tamaro y la ubicacién del rectangulo de pantalla especificado, en coordenadas de cliente, Calcula el tamafo y la ubicacion del rectangulo de cliente RectangleToScreen especiicado, en coordenadas de pantalla Determina si las inslancias de Object especlicads son RelerenceEquals Ja misma instancia. (Se hereda de Object). ‘blige al contre a invaidar eu area cientey, acto Refresh Sequido, biga a que wola a covjarse ol contraly sus contoles scundatos, ResetText Restablece el valor predeterminado de la propiedad Text. ResumeLayout Sobrecargado, Reanuda la tgica de csefo habitual ae Sobrecargado. Ajusta la escala del contol y de todos los contoles secundaros. Select ‘Sobrecargado. Activa un control. SelectNextContro! Activa el siguiente control. SendToBack Envia el conto al final del orden Z SetBounds Sobrecargado, Estblece ls lites del conto Show Muestra el contol al svar, SuspendLayout Suspende temporalmente la l6gica de dsefo dl contol Dewuelve un objeto String que contiene el nombre del Tosting objeto Component. en caso de que exist Este metodo no debe reemplazarse. (Se hereda de Component). ie Hace quo el contol welva a aula las regiones no Valdas on su area de cmt, Eventos ra (Control) el AufoSzaChanged Este evento no 6s rlevante para esla ase Pesceiacieness Se produce cvando cambja el valor de Ta propiedad BackColor. 108 Programa Nacional de Informatica SENATI Capitulo IIT: Revisiin de Objetos basicos Eventos (Contre Descripci6n anEP Se prodice evardo cambia el valor dela BackgroundimageChanged propiedad Backgroundimage. BackoroundimageLayoutChanged_| $2 Feduce ovandecambia la propiedad Sec mIoTGe Se produce evardo cambia a valor de Ta propiedad BindingContext CausesValidationChanged ‘Se produce cuando cambia el valor de la propiedad CausesValidation, ChangeuICues ‘Se produce cuando cambian las guias de la interfaz de usuario para el foc0 0 el teciado. Glick ‘Se produce cuando se hace clic en el control ClientsizeChanged ‘Se produce cuando cambia el valor de la propiedad ClientSize. ‘Se produce cuando cambia el valor de la ContextMenuChanged probioded ContotMenu ‘Se produce cuando cambia el valor de la ContextMenuStripChanged propiedad ContoxtMenuStis, ControlAdded ‘Se produce cuando se agrega un nuevo control a Control.ControiCollection. ControlRemoved ‘Se produce cuando se quita un control de Control.ControlCollection. ‘Se produce cuando cambia ol valor do la peer propiedad Cursor. ‘Agrega un controlador de eventos para escuchar Disposed el evento Disposed en el componente,(Se hereda de Component). pose Se pie ane cane aor ea BoBC Se praduce cuando Se have debe cc en el Se produce cuando termina una operacion de peace: arrastrary colocar. Se produce cuando se arrasira un objeto dentro eee Ge los limites del conto. Se produce cuando se arrasira un objeto Tuera de pita los limites del contro. Se produce cuando se arrasira un objeto sobre peers los limites del control. ares ‘Se produce cuando cambia el valor dela Ele eenere propiedad Enabled. Enter ‘Se produce cuando $6 entra en el control ‘Se produce cuando cambia el valor de la iialitieaes propiedad Font. ‘Se produce cuando cambia el valor dela ForeColorChanged propiedad ForeCobe GiveFeedback ‘Se produce durante una operacion de arrastre. GotFocus ‘Se produce cuando el contrl recibe el foc. aaceend Se produce cuando seer un iertfcador para Se produce cuando el identificador del control Lerche esta en proceso de eliminacion. HobpRequeated Se produce cuando el usuario seta ayuda para ImeModeChanged Se produce cuando ha cambiado la propiedad ImeMode. Programa Nacional de Informatica 109 ~*~ Desarrollador de Aplicaciones NET SENATI Eventos ipcién (Control) Pesce a ‘Se produce cuando es necesario voWer a dibujar Heol un control. ‘So produce cuando se presiona una tocla KeyDown mientras e| control tiene el foco. a ‘Se produce cuando se presiona una tecla KeyPress mientras el control tiene el foco. an Se produce cuando se suelia una Tecla mientras oy el control ene e foco, ie Se produce cuando un corirol debe volver a colocar sus contoles secundarios. Se produce cuando el foco de entrada deja el soa contro Se produce Guando cambia el valor de a LocationChanged ees LosiFoous Se produce cuando el conirl pierde al foc. MarginChanged ‘Se produce cuando cambia el margen del contol eceoeael Se produce cuando contol ere a capt del ach ‘So produce Guando 60 hace Gis en el control con el mouse. MouseDoubleClick ‘Se produce cuando se hace dobie clic en el Control con ol mouse. ‘Se produce cuando el puntero del mouse (ratén) MouseDown se encuentra sobre el control y se presiona un botén del mouse. ‘Se produce cuando él puntero del mouse entra en MouseEnter Sonar ‘Se produce cuando él puniero del mouse se sta peta sobre el control Tie Se praduce cuando purer del mouse dja ‘Se produce cuando el punter del mouse se Meueeniere mueve sobre el control ‘Se produce cuando el puntero del mouse se MouseUp encuentra sobre el control y se suelta un botén del mouse. ‘Se produce cuando la rueda del mouse se mueve potee tee mientras el control tiene el foco. Move: ‘Se produce cuando se muave el Control PaddingChanged ‘Se produce cuando cambia ol relleno del contol Paint Se produce cuando weive a dibujarse el control. ParaniGhangod Se produce cuando cambia el valor de la propiedad Parent. PreviewKeyDown ‘Se produce antes que el evento KeyDown cuando se presiona una tecla mientras el foco esté en este control. QueryAecessibiliyHolp ‘Se produce cuando AccessibleObject proporciona ayuda para aplicaciones de accesibilidad, ‘Se produce durante una operacion de arrastrar y colocar, y permite al origen de arrastre determinar eee sila operacién de arrastrar y colocer tiene que cancelarse. RoglonChanged ‘Se produce cuando cambia el valor dela propiedad Region. 110 Programa Nacional de Informatica SENATI Capitulo IIT: Revisién de Objetos basicos Eventos ‘ipcién (Control) peers : So pode Sande se cambis eat da Resize coo ‘Se produce cuando cambia el valor de la RightToLetGhanged Se produ arc So reduce aad cama a vaar dea SzeChenged Se produe i Siyahanged Se recure cuando combina wala da anal ae eee Serer saa alc cobrs Se prodace cand cama valor da teen propiedad TabIndex ‘Se produce cuando cambia el valor de la TabstopChanged poten Tapsiee Se duce cost cambiaavalordeTa assem propiedad Text Ss produce cuando raza a valacn da Validated Se oe Vaiatng So pode cad al cone seas valiant So poco susrdo combs ol valor doa veieCranged propiedad Visible. Formulario: FORM Los formularios Windows son Ia base para la construceién de las interfases para las aplicaciones de escritorio, siendo estos contenedores de objetos tales como: Etiquetas, Cuadros de texto, botones de comando, casillas de verificacién, botones de opcidn, listas, entre muchos otros. Puesto que los formularios son la unidad bisica de una aplicacién, es importante realizar algunas consideraciones sobre su funcién y su disefio. Un formulario es, en tiltima instancia, una hoja en blanco que el desarrollador rellena con controles, para crear una interfaz de usuario, y con cédigo, para procesar los datos. Para ese fin, Visual Studio proporciona un entorno de desarrollo integrado que ayuda a escribir el e6digo, asf como un completo conjunto de controles escrito con NET Framework. La funcionalidad de estos controles se complementa con el cédigo escrito por el desarrollador, lo que permite desarrollar facil y répidamente las soluciones deseadas. Considerar que un formulario es una clase, es decir una plantilla a tomar de muestra para la creacién de objetos particulares provenientes de esta. De allf que en la codificacién que hacemos notamos las palabra Class, como se muestra en el la ventana de eédigo: Programa Nacional de Informatica iil ~*~ Desarrollador de Aplicaciones NET SENATI Public Class Forma Lena ciase Propiedades om Descripcion Obiiene o estaloce of Botén dl ormulari que se prButton activa cuando el usuario presiona la tecla ENTRAR. AeveForm Obtiene el formulari activo actual para esta aplicacin Rasch Obiene la ventana MOI (ntertaz de mitples documentos) secundaria activa actual. Allow Transparency Obtiene o establece un valor que indica si se puede alustar la opacidad del formularo. Obiiene o establece un valor que indica si el formulario AutoScale alusta su tamajio y el de sus controles al alto de la, fuente que utiiza. Abscdesamsaine Obiiene o establece el tamaiio base para el ajuste ‘AutoScaleDimensions automatico del tamaiio del formulario, CObtiene o establece las dimensiones alas que S2 disefié el control.(Se hereda de ContainerContro). CObiiene o establece el modo de escala automatica dal inuesoate Mode. control.(Se hereda de ContainerControl) a Reemplazado. Obtiene o establece un valor que indica AutoScroll sien el formulario se permite el desplazamiento automético. AutoSerollMargin AutoScrollMinSize Obtione 0 establece ol tamafio del margon de desplazamiento automatico.(Se hereda de ScrollableContro) Obtione 0 establece el tamafio minimo del desplazamiento automatico.(Se hereda de ScrollableContro). AutoScrollPosition ‘Obtione 0 establoce la ubicacién de la posicion do desplazamiento automdtico.(Se hereda de ScrollableContro) Obiiene 0 establece él modo por el que el formulario lasurtsaattaa cambia automaticamente de tamafo BindingContext (Se hereda de ContainerContro) Obtiene o establece el control de batén que se actvard Canesten ‘cuando el usuario presione la tecia ESC. Obtiene o establece un valor que indica sise muestra ControlBox un cuadro de control en la barra de titulo del formulario. CurrentAutoScaleDimensions CObtiene las dimensiones en tiempo de ejecucion actuales de la pantalla (Se hereda de ContainerControl Obiiene o establece él tamaiio y la posicion del eee {formulario en el escritorio de Windows. (Obiiene o establece la posicién del formulario en el Desktop gcaton esctitorio de Windows. i CObtiene o establece el resultado de cuadro de dialogo Peete! para ol formularo. ‘Obiione a configuracion de relleno de acople para DockPadding todos los bordes del control.(Se hereda de ScrollableContro) FormBorderStyi ‘Obtiene o establece 6l estilo del borde del formulari. 112 Programa Nacional de Informatica, SENATI Capitulo IIT: Revisiin de Objetos basicos Propiedades (Form) Descripcion HelpButton Obtiene 0 establece un valor que indica si se muestra tun bot6n de ayuda en el cuadro de titulo del formulario. Obtiene las caracteristicas asociadas a la barra de HorizontalScroll 57) And K @ 8 And K © 13 Then Handles 3. Bjecutar, escribir un ntimero y presionar ENTER: Luego intenta con un dato no numérico. (3 144 Programa Nacional de Informatica SENATI Capitulo IV: Eventos Control sobre el cierre de la ventana Es ttil en ciertos casos controlar la accién del cierre de una ventana, para evitar por ejemplo una salida accidental, 0 para confirmar la misma. Para esto trabajamos con el evento FormClosing: en VS2005. (Closing en VS2002 0 VS2003). ¥ (Formt eventos) Y | ¥ FormClosing ¥ Para cancelar el cierre de la ventana se emplea: EEN | 2 cpa once Accson tiene 0 establece un valor que indica si se debe cancelar el evento. e.Cancel = | B False a e.Cancel = True Actividad 4. Crear una aplicacién con salida controlada Objetivo Aplicar y comprender el uso del manejo de eventos considerando el parmetro ¢ para controlar la salida de la aplicaci6n, Procedimiento: 1. Crear la siguiente interfa 2. Codificar: Programa Nacional de Informatica 45 ~*~ Desarrollador de Aplicaciones NET SENATI Public Class Form Private Sub Forml_FormClosing(ByVal sender As Object, ByVal € As System.Windows.Forms.FornClosingventArgs) Handles Me.FornClosing If MsgBox("zSalir?", MsgBoxStyle.YesNo, "Ejemplo Salir") = MsgBoxResult .No Then e.Cancel = True End If End Sub Private Sub Buttonl_Click(ByWal sender As System.Object, ByVal e As System.fventArgs) Handles Button1.Click Me.Close() End Sub End Class 3, Bjecutar, notar que al presionar el botén salir o al hacer clic en la X (Cerrar) en la ventana, se muestra un cuadro de didlogo solicitando la confirmacién de la accién: eruaey Elegir No, indica que se cancelard la accién de cierre del usuario, y Si, indica que la ventana continuaré su cierre. En los capitulos sucesivos se mostrarén otras aplicaciones que requieren la revisidn de nuevos temas. 146 Programa Nacional de Informatica SENATI Capitulo IV: Eventos Preguntas de repaso 1. Que funcién cumplen: © handles: © sender: ve 2. Crear una aplicacién para el célculo de promedios considerando: Pls P2 PP+EP+2.EF aca a 4 PP. Crear una interfase como se muestra: oes Considerar: ‘La validacién de datos numéricos en los cuadros de texto, ademis Ja presién de un Enter debe permitit el acceso del siguiente dato. Un Enter en el dltimo dato Tleva el foco al bot6n Calcutar. * La salida debe ser controlada, tanto con el bot6n salir como con el bot6n cerrar (X) de la ventana, + El bot6n Limpiar, borra los datos de los cuadros de texto y coloca cl foco en el primer dato a ingresar. * El promedio debe mostrarse redondeado a un decimal 3. Crear una aplicacién para el conteo de vehiculos en un estacionamiento. Considerar: Automéviles particulares, Taxis, Combis, Buses y Vehfculos Programa Nacional de Informatica 447 Desarrallador de Aplicaciones Crear la siguiente interfase: eee eet Considerar: ‘+ La salida debe ser controlada, tanto con el botén salir como con el bot6n cerrar (X) de la ventana. + Un solo procedimiento para el manejo de todos los botones de ‘comandos empleados para el conteo. * Reiniciar Conteo leva a cero a todos los contadores .y a la summa total ‘+ El total se calcula considerando la siguiente tabla: Vehiculo Tarifa ‘Automévil particular 51.350 Taxi S/.3.00 Combi 7.4.00 Buses S/.6.00 Vehiculos menores S/.2.00 Se recomienda para el almacenamiento de las diferentes tarifas la propiedad TAG de cada bot6n segtin el tipo de vehiculo, para facilitar el Informacion céleulo. ‘adicional La propiedad TAG permite almacenar valores au forma el funcionamiento del objeto.. iares y no afecta de ninguna 148 Programa Nacional de Informatica Listas Capitulo 5 Objetivo General: Conocer y emplear el objeto Lista, sus propiedades, métodos, eventos y sus diversas aplicaciones, Objetivos Especificos: 1 Temas: eben Conocer la estructura de una lista para comprender su comportamiento, Conocer y aplicar el uso de Tas propiedades, métodos y eventos de las, listas: ListBox y ComboBox Conover los criterios de validacién a considerar en las listas. Aplicar algoritmos propios para el trabajo con los datos de una lista. Comprender el manejo de listas multicolumna y multiseleccién, Estructura. Propiedades y métodos bisicos. Validacién de acciones en la lista Algoritmos aplicados a lista. Listas multicolumna. Listas multiseleccién. Programa Nacional de Informatica 449 ~*~ Desarrollador de Aplicaciones NET SENATI Listas En este capftulo revisaremos el control ListBox y ComboBox como base para la comprensién del funcionamiento y comportamiento de las listas. Estos controles Windows son bastante empleados en la programacién de aplicaciones y en estos me voy a centrar, tratando de explicar aquellas caracterfsticas mas destacadas de este tipo de controles. En Visual Basic NET, las listas han cambiado ligeramente su manejo respecto de versiones anteriores de Visual Basic (6.0 y anteriores), Estructura Las diferentes listas se encargan de contener elementos (items), lo que requiere que nos podamos referimos individualmente a cada uno. Para esto la lista se organiza considerando indices para cada uno de los elementos de la coleccién contenida. Indice y coleccién de elementos El indice es una numeraci6n correlativa que inicia en 0 (cero) y que se asocia a cada uno de los elementos (items) de la coleccién de una lista, segtin el orden que ocupan en esta, A continuacién, como ejemplo se muestra un un ListBox con 6 datos: Para este caso los datos en la lista se organizan como se muestra a continuacién: Indice item Hoge sia — Gigi Carmen wars uss Lista Luego, por ejemplo podemos referimos al tercer elemento con el indice (index) 2 0 sino hay elementos duplicados por el Item Giorgio. 150 Programa Nacional de Informatica SENATI Capitulo V: Listas Propiedades y métodos basicos ListBox A continuacién se muestran las propiedades, métodos y eventos del ListBox, excluyendo las herencias provenientes de la clase control: TeBoxt | [Eo ListBox Propiedades (ListBox) Descripcion Reemplazado. Obliene o esiablece el dsefo de la imagen de fondo para _un ListBox tal como se define en la BackgroundimageLayout | enumeracién ImageLayout Obliene 0 establece el tipo de borde que se dbuja BorderStyle alrededor de ListBox. ‘Obtiene o establece el ancho de las columnas de un control ColumnWidth ListBox de varias colunnas. ‘Obtiene [Container que contiene Component.(Se hereda de Container Component) ‘Obtiene el ancho de las fichas enire los elementos del CustomTabOfsets ListBox. Obtione 0 establece el origen de datos de este objeto DataSource ListControl,(Se hereda de ListContro). Obtione o establoce ia propiedad que se va a mostrar para DispiayMember este ListControl.(Se hereda de ListControl). DrawMode ‘Obtione 0 establece ol modo de dibujo del control. Obtiene 0 establece [FormatProvider que proporciona el ‘comportamiento de formato personalizado. (Se hereda de Formatinfo ListContro)). ‘Obtione 0 establece los caracteres especificadores de formato que indican cémo se va a mostrar un valor(Se FormatString hhereda de ListContro)) ‘Obtiene 0 establece un valor que indica si el formato se aplica a la propiedad DisplayMember del ListControl Se FormattingEnabled hereda de ListContro)) ‘Obtiene o establece el ancho por el que puede desplazarse HorizontalExtent la barra de desplazamiento horizontal de un control ListBox. Obiiane o establece un valor que indica si se muestra una HorizontalScrolibar barra de desplazamiento horizontal en el control. ‘Obtiene o establece un valor que indica si el control debe cambiar de tamafio para evitar que se muesire s6io una IntegralHeight parte de los elementos. temHeight Obliane o establece el alto de un elemento de ListBox. ems Obtione ios elementos dol control Listfox. ‘Obtione 0 establoco un valor que indica si ol control ListBox Mutticolumn. admite varias columnas. Padding Esta propiedad no es relevante para esta clase. ‘Obtiene el allo combinado de todos los elementos del PreferredHeight ‘control ListBox. Reemplazado, Obliene o establece un valor que indica si el texto que muestra el control aparece de derecha a RightToLeft izquierda. Programa Nacional de Informatica 151 Desarrollador de Aplicaciones NET SENATI Propiedades (ListBox) Descripeién ‘Obtiene 0 establece un valor que indica si la barra de ScrollAlwaysVisiblo

También podría gustarte