thy

5,346 views

Published on

yhty

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,346
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
114
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

thy

  1. 1. Microsoft Visual Basic .NET Gerson Aley Centro de Educación
  2. 2. IIntroducciónntroducción Este libro describe el entorno de programación de Visual Basic .NET, su filosofía de programación y otros aspectos relevantes para el eficiente uso de esta poderosa herramienta, presentando sus conceptos y características, para explicar cómo aplicarlos sistemáticamente, considerando su finalidad y funcionamiento; además, el presente libro provee a los usuarios los conocimientos básicos e intermedios, para que desarrollen sus propias aplicaciones, adoptando una metodología de trabajo que permita que puedan convertirse en expertos en la utilización de esta innovadora herramienta. Este libro está dirigido a usuarios, estudiantes, técnicos, profesionales de la ingeniería, entre otros, que deseen aprender a utilizar Visual Basic .NET, para desarrollar aplicaciones a nivel básico e intermedio rápidamente. Los temas tratados están organizados considerando una secuencia lógica que facilite el aprendizaje, siguiendo una metodología basada en la realización de laboratorios y prácticas dirigidas. Cada módulo incluye ejemplos y laboratorios que explican en detalle su contenido. Se recomienda ejecutarlos en el computador para que el participante experimente por si mismo y se familiarice con esta herramienta, para que obtenga la destreza y el dominio completo de la misma. Al finalizar la lectura de esta guía, el usuario deberá estar familiarizado con los conceptos básicos para el desarrollo de aplicaciones y programas.
  3. 3. ConvencionesConvenciones A continuación se describen las notaciones empleadas en los formatos de los diferentes elementos del presente libro: Los controles y/o objetos, así como los términos a los que se hacen referencia en este libro, en los puntos tratados, ejemplos y laboratorios, son presentados en estilo Negrita, con el propósito de diferenciarlos de otros elementos a los que también se hace referencia en dicha guía. Tal es el caso de TxtNombre, cmdBuscar, entre otros. Los propiedades, eventos, métodos de objetos y/o controles, y códigos y/o sentencias de programa, que aparecen en los temas tratados, ejemplos y laboratorios, son visualizados en estilo Cursiva, permitiendo una mejor comprensión de los mismos en el presente libro, facilitando el proceso de aprendizaje del participante. Tal es el caso de cmdBuscar_Click, Text, Dim a As Integer, entre otros. Las teclas que se deben pulsar simultáneamente, se escriben separadas del signo de suma (+), aparecen en estilo Negrita, como por ejemplo, Ctrl+H, Ctrl+C. Se utilizan los nombres del teclado en español: Mayús = Shift Suprimir = Delete Retroceder = BackSpace Las teclas utilizadas para moverse en el entorno de trabajo son denominadas Teclas de Direccionamiento ó Desplazamiento, incluyen las teclas de flecha arriba, abajo, derecha e izquierda; cuando se explica una función que puede realizarse pulsando un botón o seleccionando un icono, junto al título del párrafo se colocará el dibujo de este símbolo.
  4. 4. Módulo 1Módulo 1 Conceptos y Fundamentos Visual Studio .NET es un conjunto de programas destinado a la creación de aplicaciones de escritorio y Web de empresa para trabajo en equipo. Además, ofrece una gama de herramientas de desarrollo que está fundamentada en componentes y otras tecnologías de Visual Studio cuyo objeto es, simplificar el diseño, desarrollo e implementación en equipo de soluciones para empresas. Visual Studio .NET está conformado por los siguientes lenguajes de programación: Visual Basic .NET, Visual C++ .NET y Visual C# .NET, que utilizan el mismo entorno de desarrollo integrado (IDE); esto les permite compartir herramientas, facilitando la creación de soluciones en varios lenguajes, aprovechando las funciones de .NET Framework, basada en tecnologías claves que simplifican el desarrollo de aplicaciones Web ASP y servicios Web XML.
  5. 5. Módulo 1 – Conceptos y Fundamentos 5 VISUAL BASIC .NET Visual Basic .NET usa una jerarquía de clases que están incluidas en el .NET Framework, por tanto, conocer el .NET Framework ayudará a conocer al propio Visual Basic .NET, conociendo su forma de uso y su manera de hacer las cosas, aunque en el fondo esto sea lo mismo, resaltando que el aspecto sintáctico es diferente para cada uno de los lenguajes basados en .NET Framework. Visual Basic .NET ofrece numerosas características nuevas y mejoradas, tales como la herencia, interfaces y sobrecarga, miembros compartidos, constructores, delegados y varios tipos de datos nuevos, que lo convierten en un eficaz lenguaje de programación orientado a objetos. Visual Basic, ahora permite crear aplicaciones multiproceso y escalables utilizando subprocesamiento múltiple explícito (capacidad de asignar tareas individuales a procesos independientes). Además, Visual Basic .NET incluye el control estructurado de excepciones, atributos personalizados y compatibilidad con CLS (Common Language Specification, Especificación de lenguajes comunes). CLS es un conjunto de reglas que estandariza los tipos de datos y el modo en que se exponen e interoperan los objetos. Visual Basic .NET agrega varias características que aprovechan las ventajas de CLS. Cualquier lenguaje compatible con CLS puede utilizar las clases, los objetos y los componentes que se crean en Visual Basic .NET, lo cual permite que se pueda tener acceso a las clases, los componentes y los objetos desde otros lenguajes de programación compatibles con CLS sin tener en cuenta diferencias específicas del lenguaje como los tipos de datos. Las características de CLS que utilizan los programas de Visual Basic .NET son los ensamblados, espacios de nombres y atributos. CARACTERÍSTICAS A continuación se presentan las características básicas de Visual Basic .NET, siendo éstas las siguientes: •Herencia.- Visual Basic .NET admite el concepto de herencia, puesto que permite definir clases que sirven de base para las clases derivadas, que heredan, y pueden extender, las propiedades y los métodos de la clase base. También pueden reemplazar métodos heredados con nuevas implementaciones. Por defecto, todas las clases creadas con Visual Basic .NET son heredables. Los formularios que se diseñan, son realmente clases, ya que pueden utilizar la herencia para definir nuevos formularios basados en formularios existentes. •Control de excepciones.- Visual Basic .NET permite el control estructurado de excepciones, utilizando una versión mejorada de la sintaxis Try...Catch...Finally compatible con otros lenguajes como C++ y Java. El control estructurado de excepciones combina una estructura de control moderna (similar a Select Case o While) con excepciones, bloques de código protegidos y filtros. El control estructurado de excepciones permite crear y mantener programas mediante controladores de errores sólidos y exhaustivos. •Sobrecarga.- La sobrecarga es la capacidad de definir propiedades, métodos o procedimientos que tengan el mismo nombre pero utilicen diferentes tipos de datos. Los procedimientos sobrecargados permiten proporcionar tantas implementaciones como sean necesarias para controlar diferentes tipos de datos, a la vez que se da el aspecto de un único procedimiento versátil. •Reemplazar propiedades y métodos.- La palabra clave Overrides permite que los objetos derivados Centro de Educación
  6. 6. 6 Conceptos y Fundamentos reemplacen características heredadas de objetos primarios. Los miembros reemplazados tienen los mismos argumentos que los miembros heredados de la clase base, pero diferentes implementaciones. Una nueva implementación de un miembro puede llamar a la implementación original de la clase primaria colocando MyBase delante del nombre del miembro. •Constructores y destructores.- Los constructores son procedimientos que controlan la inicialización de instancias nuevas de una clase; mientras que los destructores son métodos que liberan recursos del sistema cuando una clase deja el ámbito o se define como Nothing. Visual Basic .NET admite constructores y destructores utilizando los procedimientos Sub New y Sub Finalize. •Tipos de datos.- Visual Basic .NET incluye tres tipos de datos nuevos. El tipo de datos Char es una cantidad de 16 bits sin signo utilizada para almacenar caracteres Unicode, que es equivalente al tipo de datos System.Char de .NET Framework; el tipo de datos Short, un entero de 16 bits con signo, que ha sido denominado Integer en versiones anteriores de Visual Basic; y el tipo de datos Decimal, que es un entero de 96 bits con signo escalado con una potencia variable de 10, estando disponible únicamente dentro de Variant, en versiones anteriores de Visual Basic. •Interfaces.- Las interfaces describen las propiedades y los métodos de las clases, pero, a diferencia de las clases, no proporcionan implementaciones. La instrucción Interface permite declarar interfaces, mientras que la instrucción Implements permite escribir código que ponga en práctica los elementos descritos en la interfaz. •Delegados.- Los delegados son objetos que pueden llamar a los métodos de los objetos, y se describen a veces como punteros de funciones orientados a objetos con seguridad de tipos. Se pueden utilizar delegados para permitir que los procedimientos especifiquen un método de controlador de evento que se ejecute cuando tenga lugar un evento. También puede utilizar delegados con aplicaciones multiproceso. •Miembros compartidos.- Los miembros compartidos son propiedades, procedimientos y campos que comparten todas las instancias de una clase. Los miembros de datos compartidos son útiles cuando varios objetos necesitan utilizar información que es común a todos. Los métodos de clase compartidos se pueden utilizar sin crear primero un objeto a partir de una clase. •Referencias.- Las referencias utilizan objetos definidos en otros ensamblados. En Visual Basic .NET, las referencias apuntan a ensamblados en lugar de bibliotecas de tipos. •Espacios de nombres.- Los espacios de nombres evitan los conflictos de nomenclatura mediante la organización de clases, interfaces y métodos dentro de unas jerarquías. •Ensamblados.- Los ensamblados reemplazan y extienden la capacidad de las bibliotecas de tipos describiendo todos los archivos necesarios para un componente o una aplicación en particular. Un ensamblado puede contener uno o varios espacios de nombres. •Atributos.- Los atributos permiten proporcionar información adicional sobre elementos de un programa, como por ejemplo, especificar los métodos de una clase que se deben exponer cuando se utiliza la clase como un servicio Web XML. •Subprocesamiento múltiple.- Visual Basic .NET permite escribir aplicaciones que pueden realizar
  7. 7. Módulo 1 – Conceptos y Fundamentos 7 varias tareas de manera independiente. Una tarea que tenga la capacidad de albergar otras tareas que se pueden ejecutar en un subproceso aparte, es conocida como subprocesamiento múltiple. La ventaja del subprocesamiento múltiple radica en que las tareas complicadas puedan ejecutarse en subprocesos separados de la interfaz de usuario, lo cual logra que las aplicaciones respondan mejor a las entradas del usuario. NET FRAMEWORK .NET Framework es un entorno multilenguaje para construir, instalar y ejecutar servicios Web y otras aplicaciones, lo cual lo convierte en una plataforma diseñada para simplificar el desarrollo de aplicaciones en el entorno distribuido de Internet; está estructurado por tres componentes principales: Common Language Runtime (CLR ), las clases de programación unificadas o clases Framework y ASP.NET . A través de .NET Framework , cualquier aplicación que se desee hacer en cualquier lenguaje .NET, deberá pasar por el filtro de cualquiera de las partes que integran el .NET Framework . COMMON LANGUAGE RUNTIME Common Language Runtime (motor de tiempo de ejecución) desempeña una función importante tanto durante la ejecución como durante el desarrollo de los componentes, es decir, cuando el componente se está ejecutando, el CLR administra la asignación de memoria, inicia y detiene subprocesos y procesos, y hace cumplir la directiva de seguridad, satisfaciendo las posibles dependencias del componente sobre otros componentes. Durante el desarrollo, el CLR cambia ligeramente; esto es motivado a la gran automatización que permite, simplificando el trabajo del programador, especialmente al compararlo con la situación actual de la tecnología COM. En pocas palabras, funciones tales como la reflexión reducen de forma espectacular la cantidad de código que debe escribir el programador para convertir la lógica de empresa en componentes reutilizables. También puede definirse el Common Language Runtime (CLR) como una serie de librerías dinámicas (DLLs), también llamadas assemblies, que hacen las veces de las DLLs del API de Windows así como las librerías runtime de Visual Basic o C++. Es útil recordar que cualquier ejecutable depende de una forma u otra de una serie de librerías, ya sea en tiempo de ejecución como a la hora de la compilación; entonces se puede mencionar que el CLR es una serie de librerías usadas en tiempo de ejecución para que los ejecutables o cualquiera basado en .NET puedan funcionar. En las versiones anteriores de Visual Basic existían dos tipos de ejecutables: los que son autosuficientes y no dependen de librerías externas o los que necesitan de librerías en tiempo de ejecución para poder funcionar; en esta versión eso no es así, debido a que la librería de clases de .NET Framework proporcionan una jerarquía de clases orientadas a objeto disponibles para cualquiera de los lenguajes basados en .NET, incluido el Visual Basic. Esto quiere decir que a partir de ahora Visual Basic tendrá a su disposición todas las clases disponibles para el resto de los lenguajes basados en .NET, (o casi en su totalidad), lo cual redunda en hacer las cosas más sencillas de implementar. CLASES DE PROGRAMACIÓN UNIFICADAS Centro de Educación
  8. 8. 8 Conceptos y Fundamentos El entorno de trabajo ofrece a los programadores un conjunto unificado, orientado a objetos, jerárquico y extensible de bibliotecas de clases (API). Actualmente, los programadores de C++ emplean las Microsoft Foundation Classes y los programadores de Java utilizan las Windows Foundation Classes. El entorno de trabajo unifica estos diferentes modelos, ofreciendo a los programadores de Visual Basic y JavaScript la posibilidad de tener también acceso a las bibliotecas. Con la creación de un conjunto de API comunes para todos los lenguajes de programación, Common Language Runtime permite la herencia, el control de errores y la depuración entre lenguajes. Todos los lenguajes de programación, desde JavaScript a C++, pueden tener acceso al entorno de trabajo de forma parecida y los programadores pueden elegir libremente el lenguaje que desean utilizar. ASP .NET ASP.NET está construida sobre las clases de programación de .NET Framework, proporcionando un modelo para aplicaciones Web con un conjunto de controles y una infraestructura que simplifican la creación de aplicaciones Web ASP. ASP.NET incluye un conjunto de controles que encapsulan los elementos comunes de la interfaz de usuario de HTML, como cuadros de texto y menús desplegables. Sin embargo, dichos controles se ejecutan en el servidor Web, y envían al explorador Web su interfaz de usuario en forma de HTML. En el servidor, los controles exponen un modelo de programación orientado a objetos que ofrece al programador de Web la riqueza de la programación orientada a objetos. ASP.NET proporciona también servicios de infraestructura, como administración de estado de sesión y reciclado de procesos, que reducen aún más la cantidad de código que debe escribir el programador, e incrementan la fiabilidad de las aplicaciones. ASP.NET utiliza estos mismos conceptos para permitir a los programadores la entrega de software en forma de servicio. Mediante las funciones de servicios Web XML, los programadores de ASP.NET pueden escribir su lógica de empresa y utilizar la infraestructura de ASP.NET para entregar el servicio a través de SOAP. ESPACIO DE NOMBRES Un espacio de nombres es un esquema lógico de nombres para tipos en el que un nombre de tipo simple, aparece precedido por un nombre jerárquico separado por puntos. Un espacio de nombres (Namespace) es una forma de agrupar clases, funciones, tipos de datos, entre otros aspectos, que están relacionadas entre sí; entre los espacios de nombres que podemos encontrar en el .NET Framework, se ubica uno con funciones relacionadas con Visual Basic: Microsoft.VisualBasic. Microsoft y VisualBasic están separados por un punto, esto significa que Microsoft a su vez es un espacio de nombres que contiene otros "espacios de nombres", tales como el mencionado VisualBasic, CSharp y Win32 (permite acceder a eventos o manipular el registro del sistema). Para conocer lo que contiene un espacio de nombres, solo basta con escribir el nombre con un punto y a continuación se presentará una lista desplegable con los miembros que pertenecen a dicho espacio de nombres. Al agruparse en un espacio de nombres, un conjunto de funciones o clases relacionadas entre sí, es más fácil saber que se está trabajando con funciones relacionadas entre sí; pero que distintos espacios de nombres pertenezcan a un mismo espacio de nombre, no significa que todos estén dentro de la misma librería o Assembly. Un espacio de nombres puede estar repartido en varios Assemblies o librerías. Por
  9. 9. Módulo 1 – Conceptos y Fundamentos 9 otra parte, un Assembly (Ensamblado) puede contener varios espacios de nombres. El IDE de Visual Studio .Net se encarga de saber en cuál Assembly está el espacio de nombres que se necesita para una aplicación en particular. ASSEMBLY (ENSAMBLADO) Un ensamblado es un bloque constructivo primario de una aplicación de .NET Framework, es decir, es una recopilación de funcionalidad que se construye, versiona e instala como una única unidad de implementación, como uno o más archivos. Un assembly es una librería dinámica (DLL) en la cual pueden existir distintos espacios de nombres, pudiendo estar formado por varios archivos DLLs y EXEs, pero lo más importante es que todos los ensamblados contienen un manifiesto (manifest), a través del cual se pueden evitar muchos de los errores y/o dolores de cabeza a los que Windows nos tiene acostumbrados, por lo menos en lo referente a las distintas versiones de librerías y ejecutables. Supóngase que se tiene una librería DLL que en su primera versión contenía X funciones. Después de un tiempo, se crea la segunda versión de dicha librería, en la que se cambian algunas funciones y se añaden otras nuevas, esto es para mejorar el rendimiento de las funciones contenidas en esa librería, para lo cual se usa otra DLL que es empleada por algunas de las funciones contenidas en esa segunda versión. Esa otra librería puede ser una librería del sistema, que se actualiza con nueva funcionalidad, y puede que esta funcionalidad dependa de una tercera librería. Se instala un programa que utiliza las últimas versiones de dichas librerías. Todo funciona correctamente; luego se debe instalar otra aplicación, pero resulta que ésta usa la primera versión de dicha librería; Si el programa de instalación está bien hecho, no debe ocurrir nada malo, ya que al descubrir que se tiene una versión más reciente de la librería, deja la que ya está instalada. La nueva aplicación es probada, y también funciona correctamente, al igual que el programa anterior, que también funciona bien. Hasta el momento no existe inconveniente alguno, pero si después se instala un programa que usa una de las librerías del sistema u otra que también usa dicha librería, pero ese programa se ha instalado incorrectamente, sin embargo, se ha instalado una librería anterior a la que las anteriores aplicaciones usan, dándose el caso de que ninguno de los dos programas funcionen correctamente. .NET impide que el caso mencionado pueda suceder, ya que cada Assembly contiene un manifiesto en el que se indica: nombre y versión del Assembly, además indica si dicho Assembly depende de otros ensamblados, verificándose la versión de dichos ensamblados, los tipos y clases expuestos por el Assembly, los permisos de seguridad para los distintos tipos contenidos en el Assembly, e incluyéndose en los Assemblies los datos del copyright, entre otros aspectos. La ventaja de los ensamblados es que no necesitan de una instalación y un registro correcto en el registro del sistema de Windows, ya que es el intérprete de .NET es el que se encarga de hacer las comprobaciones cuando tiene que hacerlas. Por lo tanto, se podría distribuir una aplicación sin necesidad de crear un programa de instalación, pero si la aplicación usa ensamblados compartidos, puede que sea necesario usar una instalación. Los ensamblados compartidos pueden ser usados por varias aplicaciones diferentes y deben estar debidamente instalados en el directorio asignado por el propio .NET Framework. Un ejemplo típico de ensamblados compartidos, aquellos que definen las clases y/o tipos usados por el propio .NET Framework. PROGRAMACIÓN ORIENTADA A OBJETOS (POO) Centro de Educación
  10. 10. 1 0 Conceptos y Fundamentos .NET Framework está basado en clases y/u objetos. Por lo tanto, a diferencia de las versiones anteriores de Visual Basic, esta versión .NET basa su funcionamiento casi exclusivamente en las clases contenidas en .NET Framework, prácticamente sin ningún tipo de limitaciones. Debido a esta dependencia en las clases del .NET Framework y sobre todo a la forma de usarlas, Visual Basic .NET ofrece esta característica sin ningún tipo de restricciones. Por lo tanto, se hace conveniente que se vea todo lo referente a la Programación Orientada a Objetos. El concepto de programación orientada a objetos (POO) no es nuevo, lenguajes clásicos como SmallTalk Pascal y C++, así como Visual Basic, Delphi y Visual FoxPro, se basan en ella. Dado que la POO, se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como una característica fundamental del mismo. CONCEPTO DE OBJETO El elemento fundamental de la POO es, como su nombre lo indica, el objeto. Se puede definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización. Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica o de otro tipo. ESTRUCTURA DE UN OBJETO Un objeto puede considerarse como una especie de cápsula dividida en tres partes: •Relaciones: permiten que el objeto se inserte en la organización y están formadas esencialmente por punteros a otros objetos. •Propiedades: distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización. •Métodos: son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia. Nota: Cada uno de estos componentes desempeña un papel totalmente independiente. ORGANIZACIÓN DE LOS OBJETOS En principio, los objetos forman siempre una organización jerárquica, en el sentido de que ciertos objetos son superiores a otros de cierto modo. Existen varios tipos de jerarquías: serán simples cuando su estructura pueda ser representada por medio de un "árbol". En otros casos puede ser más compleja. En cualquier caso, sea la estructura simple o compleja, podrán distinguirse en ella tres niveles de objetos:
  11. 11. Módulo 1 – Conceptos y Fundamentos 1 1 •La raíz de la jerarquía: se trata de un objeto único y especial. Este se caracteriza por estar en el nivel más alto de la estructura y suele recibir un nombre muy genérico, que indica su categoría especial, como por ejemplo objeto madre, Raíz o Entidad. •Los objetos intermedios: son aquellos que descienden directamente de la raíz y que a su vez tienen descendientes. Representan conjuntos o clases de objetos, que pueden ser muy generales o muy especializados, según la aplicación. Normalmente reciben nombres genéricos que denotan al conjunto de objetos que representan, por ejemplo, Ventana, Cuenta, Archivo. En un conjunto reciben el nombre de clases o tipos si descienden de otra clase o subclase. •Los objetos terminales: son todos aquellos que descienden de una clase o subclase y no tienen descendientes. Suelen llamarse casos particulares, instancias o ítems porque representan los elementos del conjunto representado por la clase o subclase a la que pertenecen. RELACIONES Las relaciones entre objetos son, precisamente, los enlaces que permiten a un objeto relacionarse con aquellos que forman parte de la misma organización. Las hay de dos tipos fundamentales: •Relaciones jerárquicas: son esenciales para la existencia misma de la aplicación porque la construyen; son bidireccionales, es decir, un objeto es padre de otro cuando el primer objeto se encuentra situado inmediatamente encima del segundo en la organización en la que ambos forman parte; asimismo, si un objeto es padre de otro, el segundo es hijo del primero. Una organización jerárquica simple puede definirse como aquella en la que un objeto puede tener un solo padre, mientras que en una organización jerárquica compleja un hijo puede tener varios padres. •Relaciones semánticas: se refieren a las relaciones que no tienen nada que ver con la organización de la que forman parte los objetos que las establecen. Sus propiedades y consecuencia solo dependen de los objetos en sí mismos (de su significado) y no de su posición en la organización. Se puede ver mejor con un ejemplo: supongamos que vamos a construir un diccionario informatizado que permita al usuario obtener la definición de una palabra cualquiera. Supongamos que, en dicho diccionario, las palabras son objetos y que la organización jerárquica es la que proviene de forma natural de la estructura de nuestros conocimientos sobre el mundo. PROPIEDADES Todo objeto puede tener cierto número de propiedades, cada una de las cuales tendrá, a su vez, uno o varios valores. En POO, las propiedades corresponden a las clásicas "variables" de la programación estructurada. Son, por lo tanto, datos encapsulados dentro del objeto, junto con los métodos (programas) y las relaciones (punteros a otros objetos). Las propiedades de un objeto pueden tener un valor único o pueden contener un conjunto de valores más o menos estructurados (matrices, vectores, listas, etc.). Además, los valores pueden ser de cualquier tipo (numérico, alfabético, etc.) si el sistema de programación lo permite. Pero existe una diferencia con las "variables", y es que las propiedades se pueden heredar de unos objetos a otros. En consecuencia, un objeto puede tener una propiedad de maneras diferentes: •Propiedades propias: están formadas dentro de la cápsula del objeto. Centro de Educación
  12. 12. 1 2 Conceptos y Fundamentos •Propiedades heredadas: están definidas en un objeto diferente, antepasado de éste (padre,"abuelo", etc.); a veces estas propiedades se llaman propiedades miembro porque el objeto las posee por el mero hecho de ser miembro de una clase. MÉTODOS Es una operación que realiza acceso a los datos. Se puede definir método como un programa procedimental o procedural escrito en cualquier lenguaje, que está asociado a un objeto determinado y cuya ejecución sólo puede desencadenarse a través de un mensaje recibido por éste o por sus descendientes. Son sinónimos de 'método' todos aquellos términos que se han aplicado tradicionalmente a los programas, como procedimiento, función, rutina, etc. Sin embargo, es conveniente utilizar el término 'método' para que se distingan claramente las propiedades especiales que adquiere un programa en el entorno POO, que afectan fundamentalmente a la forma de invocarlo (únicamente a través de un mensaje) y a su campo de acción, limitado a un objeto y a sus descendientes, aunque posiblemente no a todos. Si los métodos son programas, se deduce que podrían tener argumentos, o parámetros; puesto que los métodos pueden heredarse de unos objetos a otros, un objeto puede disponer de un método de dos maneras diferentes: •Métodos propios: están incluidos dentro de la cápsula del objeto. •Métodos heredados: están definidos en un objeto diferente, antepasado de éste (padre,"abuelo", etc.). A veces estos métodos se llaman métodos miembro porque el objeto los posee por el mero hecho de ser miembro de una clase. HERENCIA Una relación de herencia es una relación en la que un tipo, denominado tipo derivado, se deriva de otro, llamado tipo base, de tal forma que el espacio de declaración del tipo derivado contiene implícitamente todos los miembros de tipo no constructor del tipo base. En pocas palabras, la herencia es la capacidad de una clase de obtener la interfaz y comportamiento de una clase existente, es decir, es una cualidad de crear clases que estén basadas en otras clases. La nueva clase heredará todas las propiedades y métodos de la clase de la que está derivada, además de poder modificar el comportamiento de los procedimientos que ha heredado, así como agregar otros nuevos, permitiendo ampliar cualquier clase existente.  Ejemplo: Supóngase que se tiene una clase denominada Gato, derivada de otra clase, a la cual se le ha llamado Animal. La clase Gato hereda de la clase Animal todas las características comunes a los animales, además de añadirle algunas características particulares a su condición específica, es decir, a su género felino. Se puede decir que un Gato es un Animal, o lo que es lo mismo, un Perro es un Animal, es decir, ambos están derivados ó han heredado de la clase Animal, pero cada uno de ellos es diferente, aunque en el fondo los dos son animales.
  13. 13. Módulo 1 – Conceptos y Fundamentos 1 3 En este ejemplo puede observarse fácilmente la aplicabilidad del concepto de herencia, puesto que se usa una clase base, animal, y ésta es ampliada sin perder nada de lo heredado, pudiendo ampliar la clase de la que se ha derivado ó heredado. ENCAPSULAMIENTO Y OCULTACIÓN El encapsulamiento es la capacidad de contener y controlar el acceso a un grupo de elementos asociados; las clases proporcionan una de las formas más comunes de encapsular elementos. El encapsulamiento en pocas palabras, se puede definir como la capacidad de separar la implementación de la interfaz de una clase del código que hace posible esa implementación. Esto es una ocultación y/o abstracción, puesto que lo relevante es su funcionamiento más no la codificación del funcionamiento de una clase. La implementación de la interfaz de una clase se refiere a los miembros que pertenecen a esa clase, es decir, sus métodos, propiedades, procedimientos y/o eventos, entre otros aspectos. Para ser más explícitos, la implementación de la interfaz es lo que una clase puede hacer. Al emplearse una clase, ésta posee un conjunto de características denominadas como los datos que ella manipula, así como un conglomerado de comportamientos denominados como las acciones a realizar con dichos datos. El encapsulamiento en una clase, es la capacidad de ocultar sus interioridades para que únicamente pueda observarse lo que tiene que verse, sin preocuparse de la codificación de sus procedimientos (como lo hace), puesto que simplemente solo debe importar que lo haga.  Ejemplo: Considerando el ejemplo anterior, referente a la clase Gato, se sabe que un gato puede arañar, se alimenta, puede moverse o desplazarse, etc., sin embargo, cómo lo hace no es algo que deba interesarnos, sino que lo puede hacer. Cada objeto es una estructura compleja en cuyo interior hay datos y programas, todos ellos relacionados entre sí, como si estuvieran encerrados conjuntamente en una cápsula. Esta propiedad (encapsulamiento), es una de las características fundamentales en la POO. Los objetos son inaccesibles, e impiden que otros objetos, los usuarios, o incluso los programadores conozcan cómo está distribuida la información o qué información hay disponible. Esta propiedad de los objetos se denomina ocultación de la información. Esto no quiere decir, sin embargo, que sea imposible conocer lo necesario respecto a un objeto y a lo que contiene. Si así fuera no se podría hacer gran cosa con él. Lo que sucede es que las peticiones de información a un objeto. Deben realizarse a través de mensajes dirigidos a él, con la orden de realizar la operación pertinente. La respuesta a estas órdenes será la información requerida, siempre que el objeto considere que quien envía el mensaje está autorizado para obtenerla. El hecho de que cada objeto sea una cápsula facilita enormemente que un objeto determinado pueda ser transportado a otro punto de la organización, o incluso a otra organización totalmente diferente que precise de él. Si el objeto ha sido bien construido, sus métodos seguirán funcionando en el nuevo entorno sin problemas. Esta cualidad hace que la POO sea muy apta para la reutilización de programas. POLIMORFISMO El polimorfismo es la posibilidad de definir múltiples clases con funcionalidad diferente, pero con métodos Centro de Educación
  14. 14. 1 4 Conceptos y Fundamentos o propiedades denominados de forma idéntica, que pueden utilizarse de manera intercambiable mediante código cliente en tiempo de ejecución, es decir, el polimorfismo permite usar miembros de distintas clases de forma genérica sin tener que preocuparnos si pertenece a una clase o a otra, en particular.  Ejemplo: Retomando el ejemplo de los animales, si el Gato y el Perro pueden morder se podría tener un "animal" que muerda sin importar que sea el Gato o el Perro, simplemente se podría usar el método Morder ya que ambos animales tienen esa característica. Esto hace ver que el polimorfismo es una de las características fundamentales de la POO, y que no es otra cosa que la posibilidad de construir varios métodos con el mismo nombre, pero con relación a la clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo mensaje a objetos de clases diferentes; estos objetos recibirían el mismo mensaje global pero responderían a él de formas diferentes; por ejemplo, un mensaje "+" a un objeto Entero significaría suma, mientras que para un objeto String significaría concatenación ("pegar" strings uno seguido al otro). RESUMEN Visual Basic .NET es un lenguaje orientado a objetos; esta versión trata formalmente los conceptos de la Programación Orientada a Objetos (POO), aspecto que no era tratado como tal, por las versiones anteriores de esta poderosa herramienta. Visual Basic .NET forma parte de Visual Studio .NET, conjuntamente con otros lenguajes de programación; sin embargo, existe un hecho relevante en esta nueva versión, y es que ahora es manejado el concepto de .NET Framework, que es un entorno multilenguaje que permite construir aplicaciones Web y de escritorio, permitiendo simplificar el trabajo y el esfuerzo que muchas veces cuesta desarrollar este tipo de aplicaciones. PREGUNTAS 1. ¿Visual Basic .NET maneja formalmente los conceptos de la Programación Orientada a Objetos? 2. ¿Es posible programar en varios lenguajes para construir una aplicación en el entorno de Visual Studio .NET ?¿Por qué? 3. Enumere los componentes de .NET Framework. 4. Cite los elementos que forman parte de un objeto.
  15. 15. Módulo 1 – Conceptos y Fundamentos 1 5 5. Mencione una diferencia entre un Ensamblado y un Espacio de Nombres. Centro de Educación
  16. 16. Módulo 2Módulo 2 Conociendo el Entorno de Trabajo Los proyectos de Visual Studio .NET se utilizan como contenedores en una solución para administrar, generar y depurar lógicamente los elementos que componen la aplicación. Su resultado es un programa ejecutable (.exe), un archivo de biblioteca de vínculos dinámicos (.dll) o un módulo. Un proyecto puede ser tan simple o tan complejo según sus requisitos. Un proyecto simple podría consistir en un formulario o documento HTML, archivos de código fuente y uno de proyecto. Un proyecto más complejo podría componerse de estos mismos elementos más secuencias de comandos de base de datos, procedimientos almacenados y una referencia a un servicio Web existente. Sus productos ofrecen plantillas de proyecto predefinidas para crear el contenedor de tipo proyecto básico y un conjunto de elementos previo para desarrollar la aplicación, clase, control o biblioteca. Los proyectos y las plantillas de proyecto nos permiten concentrarnos en la funcionalidad específica que se desea implementar, ya que el proyecto controla por nosotros las tareas de administración y generación. Los elementos de un proyecto pueden ser archivos, referencias a bibliotecas, conexiones de datos y carpetas que estén dentro del contenedor de tipo proyecto. Algunos elementos representan elementos físicos que pueden localizarse en lugares de almacenamiento. Otros elementos son vínculos y representan punteros a otros elementos que pueden residir dentro de un servicio, módulo u otro componente. Cada plantilla de proyecto crea y mantiene un archivo de proyecto para almacenar los metadatos específicos del proyecto en cuestión. Mientras estamos trabajando en el entorno de desarrollo integrado (IDE) la plantilla crea y mantiene dicho archivo de definición. La extensión y el contenido real del archivo de definición son determinados por el tipo de proyecto al que defina. El archivo de proyecto almacena los valores de configuración y generación que se
  17. 17. Módulo 2 – Conociendo el Entorno de Trabajo 1 7 especifiquen para el proyecto y para el conjunto de elementos del proyecto. Algunos proyectos mantienen una lista de los archivos asociados al proyecto y la ubicación del archivo. TIPOS DE PROYECTOS DE VISUAL BASIC .NET Ahora se presentan los diferentes proyectos que pueden crearse en Microsoft Visual Basic .NET, también aplicables para Microsoft Visual C#: Tipo de Plantilla Utilidad Aplicación para Windows Aplicaciones autónomas tradicionales para Windows o una interfaz rica para una aplicación Web distribuida. Esta plantilla reemplaza las plantillas de proyecto EXE estándar de Visual Basic 6.0. Biblioteca de Clases Clases o componentes reutilizables que puedan compartirse con otros proyectos. Este tipo se considera que no tiene ventanas y no contendrá una clase formulario de Windows Forms. Biblioteca de Controles de Windows Controles personalizados para ser utilizados en formularios Windows Forms. Aplicación Web ASP .NET Aplicaciones Web ASP .NET programables. Servicio Web ASP .NET Servicios Web XML se crean con ASP.NET, cuya funcionalidad puede publicarse y recibir llamadas de aplicaciones externas. Biblioteca de Controles Web Controles personalizados para utilizarlos en páginas de formularios Web Forms. Este tipo de proyecto es análogo al proyecto de controles ActiveX de Visual Basic 6.0. Aplicación de Consola Aplicaciones de líneas de comandos. Servicio de Windows Aplicaciones de larga duración que no tienen una interfaz de usuario. Las aplicaciones de servicios de Windows (antes denominadas "servicios NT") pueden supervisar elementos tales como el rendimiento del sistema. Nuevo Proyecto en Carpeta Existente Proyectos en blanco dentro de una carpeta de aplicación existente que sirven para utilizar archivos de un proyecto preexistente. Puede utilizarse tanto con proyectos locales como con proyectos Web. Proyecto vacío La plantilla crea la estructura de archivos necesaria para almacenar la información de la aplicación; las referencias, archivos o componentes deben agregarse manualmente. Proyecto Web vacío Para usuarios avanzados que desean empezar a programar en un entorno vacío y agregar su propia funcionalidad basada en el servidor. Centro de Educación
  18. 18. 1 8 Conociendo el Entorno de Trabajo EXTENSIÓN DE ARCHIVOS EN VB .NET En Visual Basic .NET a diferencia de versiones anteriores, sólo existe un tipo de archivo de código, el cual tiene la extensión .vb. En este tipo de archivo pueden coexistir distintos tipos de elementos, tales como módulo de clase, formulario, módulo de código, control, etc.; en las versiones anteriores de Visual Basic, cada uno de estos elementos tienen su propio tipo de archivo con su respectiva extensión. Sin embargo, para un mejor conocimiento de las diferentes extensiones de los elementos citados, y de otros, éstos serán presentados a continuación: Elemento Ext. Finalidad Formularios Windows Forms .vb Formulario de aplicaciones Windows. Clase .vb Archivo de declaración de clases. Módulo .vb Archivo para el almacenamiento de procedimientos y funciones. Clase de componentes .vb Clase para crear componentes a través del diseñador visual. Control de Usuario .vb Clase para crear un control de formulario Windows Forms mediante el diseñador visual. Asistente para formularios de datos .vb Formulario de datos para crear aplicaciones Windows. DataSet .xsd Archivo para crear un esquema XML con clases DataSet. Archivo XML .xml Archivo XML en blanco. Esquema XML .xsd Archivo para crear esquemas para documentos XML. Control personalizado .vb Clase para crear un control de formularios Windows Forms orientado al usuario. Página HTML .htm Página HTML que puede incluir códigos del lado del cliente. Archivo de código .vb Archivo de código en blanco. Servicio de Windows .vb Clase para crear servicios Windows. Formulario heredado .vb Nuevo formulario basado en un formulario Windows Forms existente. Control Web personalizado .vb Clase para crear un control de servidores ASP.NET. Control de usuario heredado .vb Nuevo control basado en un control de formulario Windows Forms existente. Clase COM .vb Clase expuesta a COM.
  19. 19. Módulo 2 – Conociendo el Entorno de Trabajo 1 9 Componente Transaccional .vb Clase que se utiliza con los componentes transaccionales. Archivo de texto .txt Archivo de texto vacío. Conjunto de marcos .htm Archivo HTML que alberga varias páginas HTML. Archivo XSLT .xslt Archivo utilizado para transformar documentos XML. Hoja de estilos .css Hoja de estilos en cascada utilizada para definiciones de estilo HTML enriquecido. Clase del instalador .vb Clase que se va a invocar durante la configuración. Crystal Report .rpt Archivo de Crystal Report que publica datos en un formulario de Windows. Archivo de mapa de bits .bmp Archivo de imagen de mapa de bits en blanco, que puede utilizarse para crear imágenes simples. Archivo de cursor .cur Archivo para crear cursores personalizados. Archivo de icono .ico Archivo de imagen para crear un icono personalizado. Archivo de recursos de ensamblado .resx Archivo utilizado para editar y definir recursos de aplicaciones. Archivo de información sobre el ensamblado .vb Archivo que contiene información general acerca del ensamblado. Archivo de configuración de la aplicación .config Archivo utilizado para configurar los valores de la aplicación. Archivo JScript .js Archivo de comandos que contiene código JScript. Archivo VBScript .vbs Archivo de comandos que contiene código VBScript. Windows Script Host .wsf Archivo de secuencia de comandos que se ejecuta como un programa de Windows. DESARROLLANDO UNA APLICACIÓN DE CONSOLA Para ir conociendo el Entorno de Trabajo de Microsoft Visual Basic .NET, lo mejor es empezar creando una pequeña aplicación, para que luego se vayan aclarando los diversos conceptos y términos usados y vistos en el capítulo anterior. Lo primero que se debe hacer es iniciar Microsoft Visual Studio .NET; por defecto, mostrará la página de inicio desde la cual pueden crearse nuevos proyectos, o bien, abrir alguno de los más recientemente abiertos y/o creados. La siguiente figura muestra la página de inicio de Microsoft Visual Studio .NET: Centro de Educación
  20. 20. 20 Conociendo el Entorno de Trabajo Página de Inicio de Microsoft Visual Studio .NET Como se va a crear un nuevo proyecto, se debe pulsar en Nuevo proyecto. Luego se presentará una pantalla, la cual puede observarse en la siguiente figura, que mostrará los diferentes tipos de proyectos que se pueden crear; en el panel izquierdo de dicha pantalla, se seleccionará Proyectos de Visual Basic, y luego, en el panel de la derecha, se seleccionará Aplicación de Consola. Cuadro de Diálogo de Nuevo Proyecto Se deberá especificar el directorio en el que se guardará el proyecto, su nombre (en este caso, se creará un directorio con el nombre del proyecto que se indique); por lo tanto, se dejará el nombre que muestra por defecto, en este caso, se llamará ConsoleApplication1. Luego, se deberá hacer click en Aceptar y se creará el proyecto. Después de haber seleccionado el Proyecto de Tipo Aplicación de Consola, se mostrará una pantalla que puede ser observada en la siguiente Figura:
  21. 21. Módulo 2 – Conociendo el Entorno de Trabajo 2 1 Ventana de Código Se creará un archivo llamado Module1.vb, el cual es mostrado en el Explorador de Soluciones, con el código necesario para empezar a escribir. Además del procedimiento Sub Main, el cual se usará como punto de entrada de nuestro ejecutable, también se ha creado una definición llamada Module Module1 con su respectivo End Module, éste indica donde termina la definición del módulo. Esto es así, porque en un mismo archivo .vb pueden existir distintos tipos de elementos. En una aplicación tipo consola no se creará ninguna ventana gráfica, sino que el ejecutable que se creará, funciona desde una ventana de MS-DOS. En esta aplicación, solo se desea mostrar un mensaje y/o texto en la consola, tal como “Hola Visual Basic .NET. Para mostrar un texto en la consola, se usará una función, método o instrucción que no es nativa de Visual Basic .NET, pero la usaremos como si lo fuese, puesto que esto es posible gracias a los assemblies o a las clases incluidas en el .NET Framework. La función es Console.Write, y será usada de la siguiente forma: Console.Write ("Hola Visual Basic .NET") Dentro de los paréntesis se incluirá el texto que se desea mostrar en la consola, el cual debe ser incluido dentro de comillas dobles. Dicha función debe ser escrita entre el Sub Main () y el End Sub. Se puede comprobar que cuando se escriba Console seguido de punto, se mostrarán las funciones que Console pone a disposición, así como una pequeña ayuda en línea. Posteriormente se le indicará al Entorno Integrado (IDE) que compile el proyecto y lo ejecute, y después de compilarse el proyecto, se deberá mostrar el texto en una ventana de MS-DOS o consola. La compilación y/o ejecución del proyecto se puede realizar al pulsar F5, o en su defecto, hacer clic en la flecha azul o botón con figura de play de la Barra de Herramientas. En dado caso que no aparezca la ventana de MS-DOS que presente dicho mensaje, sería apropiado entonces agregar la siguiente función: Console.Read ( ) Esta sentencia mostrará el mensaje hasta que se pulse la tecla Enter, lo cual hará que se cierre la ventana MS-DOS o consola. Al incluir esta línea, el programa quedará tal y como se presenta en la siguiente Figura: Centro de Educación
  22. 22. 22 Conociendo el Entorno de Trabajo Código de la Aplicación Se debe considerar que el entorno de desarrollo de Visual Studio .NET, es el que se usa con Visual Basic .NET, para que podamos configurar algunos aspectos, por ejemplo para indicar cómo se comportará el compilador e intérprete sobre el código que se escriba o para configurar las librerías (assemblies) que se usarán en las aplicaciones. Visual Basic .NET usa una serie de librerías (de clases) con las funciones que se necesiten. En el caso de la aplicación que se acaba de desarrollar, para mostrar un texto en la consola, se necesita tener disponible la librería en la cual está declarada la clase Console, para que se pueda acceder a las funciones que dicha clase pone a nuestra disposición, Write o Read; en este caso, la librería en la que está la clase Console es: System. System es un Namespace o espacio de nombres, no es una librería o assembly. ELEMENTOS DEL ENTORNO DE DESARROLLO INTEGRADO (IDE) El Entorno de Desarrollo Integrado (IDE) de Microsoft Visual Studio .NET está formado básicamente por los siguientes elementos: • Explorador de Soluciones • Ventana de Propiedades • Ventana de Resultados • Cuadro de Herramientas • Explorador de Servidores Los elementos anteriores serán explicados más adelante en este módulo. Sin embargo, de acuerdo a las funciones que el usuario desee ejecutar o seguir en el desarrollo de la aplicación, también puede contar con los siguientes elementos: •Vista de Clases: permite examinar y explorar entre símbolos en una solución. Los símbolos, organizados por proyectos, son mostrados en una vista de árbol jerárquica, que indica las relaciones de contención entre ellos. CON EL TECLADO  Para abrir la ventana Vista de clases, se debe presionar Ctrl+Mayús+C o elegir Vista de clases en el menú Ver.
  23. 23. Módulo 2 – Conociendo el Entorno de Trabajo 23 •Vista de Recursos: permite ver recursos gráficos sin necesidad de abrirlos. Debido a que los identificadores de recursos cambian a números, esta vista también resulta muy útil para archivos ejecutables ya compilados; dichos identificadores numéricos no suelen suministrar suficiente información, por lo que la vista previa de los recursos ayuda a identificarlos con rapidez. Es posible obtener una vista previa del diseño visual de los siguientes tipos de recursos: Mapa de bits, Cuadros de diálogo, Icono, Menú, Cursor, Barra de herramientas. •Protecciones Pendientes: muestra todos los archivos desprotegidos de la solución actual. CON EL RATÓN Esta ventana es utilizada para proteger todos los archivos desprotegidos de una solución haciendo click en un botón. Para mostrar esta ventana, se debe hacer click en Protecciones pendientes en el menú Ver. Esta ventana se puede acoplar en el lado derecho de la ventana de Visual Studio. •Ventana de Comandos: se utiliza para ejecutar comandos o alias directamente en el entorno de Visual Studio .NET omitiendo el sistema de menús, o para ejecutar comandos que no aparecen en ningún menú. CON EL TECLADO  Para abrir esta ventana en el modo Comando presione Ctrl+Alt+A, o se elige Ventana de comandos en el submenú Otras ventanas del menú Ver. Cuando la Ventana de comandos está en el modo Comando, la barra de título muestra el texto Ventana de comandos y el símbolo mayor que (>) aparece en la ventana para solicitar nuevas líneas. Los comandos escritos en el modo Comando no llevan delante el signo mayor que (>) porque es el símbolo del sistema en dicho modo. Sin embargo, se debe escribir el signo mayor que (>) cuando vaya a generar comandos de Visual Studio .NET en el modo Inmediato. •Listas de Tareas: ayuda a organizar y administrar la generación de aplicaciones. CON EL RATÓN Para mostrar esta ventana, se selecciona haciendo clic en Mostrar tareas en el menú Ver, y se elige la categoría de mensajes que desea mostrar, o bien seleccionar Otras ventanas en el menú Ver, y elija Lista de tareas. La ventana Lista de tareas ayuda a identificar y localizar problemas que se detectan automáticamente al editar o compilar código; identificar y localizar problemas detectados al aplicar las directivas de Enterprise Templates; filtrar las entradas de la Lista de tareas mostradas utilizando alguna de las vistas predefinidas; ordenar las entradas de la Lista de tareas por las columnas Prioridad, Categoría, Completadas, Descripción, Archivo o Línea; entre otros aspectos. Centro de Educación
  24. 24. 24 Conociendo el Entorno de Trabajo •Explorador Web: permite abrir el explorador Web predeterminado, para lo cual debe establecer sus opciones para el explorador Web interno y para Internet Explorer, accesando a este cuadro de diálogo, a través de Opciones en el menú Herramientas y, a continuación, se elige Explorador Web en la carpeta Entorno. •Explorador de Macros: muestra todas las macros disponibles de la solución actual. Las macros se muestran en forma de vista de árbol. Para ver una lista de los módulos de cada macro, se expande el nombre del módulo. CON EL RATÓN Para abrir un módulo, se debe hacer doble click en su nombre o hacer click con el botón secundario del ratón en su nombre y luego se elige Editar. CON EL TECLADO  Si desea obtener acceso a la ventana Explorador de macros, se debe presionar Alt+F8 o elegir Explorador de macros en el comando Otras ventanas del menú Ver. •Examinador de Objetos: permite examinar y encontrar objetos (espacios de nombres, clases, estructuras, interfaces, tipos, enumeraciones, etc.) y los miembros (propiedades, métodos, eventos, variables, constantes, elementos de enumeración, etc.) de varios componentes. Estos componentes pueden ser proyectos de la solución, componentes a los que se hace referencia en esos proyectos y componentes externos. Se puede determinar qué componentes aparecen en cualquier momento eligiendo y personalizando el ámbito de exploración. CON EL TECLADO  Para abrir el Examinador de objetos, se presiona Ctrl+Alt+J. CON EL RATÓN También se puede realizar la anterior acción haciendo click en Examinador de objetos en el comando Otras ventanas del menú Ver. •Esquema del documento: proporciona una vista anidada en esquema de los elementos y secuencias de comandos del documento actual. Tanto en la vista Diseño como en la vista HTML, se puede abrir la ventana Esquema del documento desde el menú Otras ventanas en el menú Ver. Esta ventana proporciona una forma fácil de buscar y seleccionar elementos en la página, así como una mejor comprensión de la estructura lógica del documento. CON EL RATÓN Es posible expandir y contraer entradas a medida que el usuario se desplaza por el esquema, y hacer doble click en cualquier elemento listado para buscarlo y seleccionarlo en el editor. EXPLORADOR DE SOLUCIONES
  25. 25. Módulo 2 – Conociendo el Entorno de Trabajo 25 El Explorador de soluciones proporciona una vista organizada de los proyectos y sus archivos, así como acceso rápido a los comandos relativos a ellos. Normalmente, una barra de herramientas asociada a esta ventana ofrece los comandos que se utilizan con más frecuencia con el elemento resaltado en la lista. Para tener acceso al Explorador de soluciones, seleccione Explorador de soluciones en el menú Ver. El Explorador de Soluciones es presentado en la siguiente Figura: Explorador de Soluciones El Explorador de soluciones permite visualizar elementos y realizar tareas de administración de elementos en una solución o en un proyecto, además permite utilizar los editores de Visual Studio .NET, para trabajar en archivos fuera del contexto de una solución o proyecto. Una única solución y sus proyectos se muestran mediante una presentación jerárquica, que proporciona información actualizada sobre el estado de la solución, los proyectos y los elementos. Esto permitirá trabajar en varios proyectos al mismo tiempo. La administración de los elementos que se muestran en el Explorador de soluciones se basa en la relación del elemento con los contenedores del proyecto y de la solución. Los elementos pueden relacionarse de las siguientes formas: •Como elementos del proyecto, que aparecen debajo de una carpeta de proyecto en el Explorador de soluciones; por ejemplo, formularios, archivos de código fuente y clases. •Como elementos de la solución, que aparecen en la carpeta Elementos de la solución en el Explorador de soluciones. •Como archivos varios, es decir, archivos que no están asociados a ningún proyecto ni a ninguna solución y que se muestran en la carpeta Archivos varios. El Explorador de soluciones es flexible en el sentido de que permite trabajar independientemente de un proyecto, en otras palabras, pueden modificarse y crearse archivos sin un proyecto. El Explorador de soluciones muestra este tipo de archivos en la carpeta Archivos varios. También es posible trabajar con archivos asociados únicamente a la solución. Estos elementos se mostrarán en la carpeta Elementos de la solución. Centro de Educación
  26. 26. 26 Conociendo el Entorno de Trabajo VISTA DE ÁRBOL Esta vista muestra una lista de los elementos del proyecto, permitiendo abrirlos para modificarlos o realizar otras tareas de administración. En esta vista, una única solución sirve como contenedor de uno o varios proyectos y de los elementos asociados a esos proyectos. Si desea asociar los archivos a la solución pero no a un proyecto específico, puede agregar los elementos directamente a la solución; después, los elementos aparecen en la carpeta Elementos de la solución. Además, el Explorador de Soluciones puede mostrar en la carpeta Archivos varios los archivos que no están asociados a ninguna solución o proyecto. Normalmente, se trata de archivos generales que han sido abiertos o creados. Si se desea que los archivos varios aparezcan en la vista de árbol, se debe activar la opción Mostrar archivos varios en el Explorador de Soluciones, disponible en la página Documentos de las opciones Entorno. De forma predeterminada, los archivos sólo aparecen como documentos en el entorno de desarrollo integrado (IDE) mientras están abiertos. La página Documentos de las opciones de Entorno es visualizada en la siguiente Figura: Página Documentos de Opciones La vista de árbol muestra la relación lógica entre la solución y los proyectos o elementos de proyecto. La vista no representa necesariamente una relación de almacenamiento físico. PROYECTO EN NEGRITA El proyecto que se muestra en negrita está seleccionado como Proyecto de inicio; esto es con propósitos de ejecución y depuración. Si existe más de un proyecto de inicio, entonces se muestra en negrita el nodo de la solución en la vista de árbol. Los proyectos de inicio se ejecutan automáticamente al iniciar el depurador de Visual Studio .NET. Por defecto, el primer proyecto que se crea en la solución, es designado como proyecto de inicio. Sin embargo, se puede cambiar el proyecto que se inicia al utilizar el depurador de Visual Studio .NET.
  27. 27. Módulo 2 – Conociendo el Entorno de Trabajo 2 7 Se debe considerar que un proyecto no se ejecuta automáticamente si sólo se selecciona en el Explorador de soluciones y, después, se inicia el depurador. SOLUCIÓN EN NEGRITA Cuando una solución se muestra en negrita, indica que la opción para ejecutar varios proyectos al iniciar el depurador está habilitada. Aunque la opción está habilitada, no significa que se hayan seleccionado proyectos para ejecutarse; de forma predeterminada, están configurados para que no se ejecuten. COMANDOS Desde el Explorador de soluciones se pueden abrir archivos, agregar y quitar elementos y realizar otras tareas de administración. Cada plantilla de proyecto dispone de sus propias carpetas e iconos para indicar la naturaleza de los elementos del proyecto. Además, también se pueden agregar carpetas y elementos que se ajusten a las necesidades de un proyecto en específico. Los iconos indican diferente información acerca de un elemento. Como por ejemplo, según el proyecto, se podría ver un icono que indique que el elemento es un archivo HTML o que un archivo está bajo el control del código fuente. Además, cada plantilla de proyecto determina qué herramientas y diseñadores están asociados a un tipo de archivo, así como los comandos disponibles para la administración de elementos. Al seleccionar una solución, proyecto o elemento en la lista, automáticamente se actualizan los comandos disponibles. Por ejemplo, el comando Copiar Web sólo está disponible en la barra de herramientas del Explorador de soluciones si hay una aplicación Web seleccionada en la lista. CON EL RATÓN Se puede hacer doble click en un archivo para mostrarlo en el diseñador, herramienta o editor asociado al tipo de archivo. Para cambiar el editor predeterminado de algunos tipos de archivo, se debe hacer click con el botón derecho en el archivo y, después, se elige Abrir con… en el menú contextual. También es posible seleccionar varios elementos de un solo proyecto o varios elementos que abarquen varios proyectos. Se seleccionan varios elementos cuando se desea llevar a cabo operaciones por lotes, como por ejemplo, abrir simultáneamente varios archivos para editar, o cuando se desee determinar o editar las propiedades que comparten dos o más elementos de solución. Al seleccionar varios elementos, los comandos disponibles representan la intersección de los comandos comunes a todos los elementos seleccionados. ICONOS DE BARRA DE HERRAMIENTAS DEL EXPLORADOR DE SOLUCIONES En la barra de herramientas del Explorador de soluciones sólo aparecen los botones específicos del elemento seleccionado en la lista, es decir, si se selecciona un archivo específico, aparece un conjunto de botones en la barra de herramientas, según el tipo de archivo seleccionado. Debido a que el proyecto seleccionado determina los iconos de la barra de herramientas, la siguiente Tabla presenta una representación parcial de los que se podrían Centro de Educación
  28. 28. 28 Conociendo el Entorno de Trabajo encontrar al trabajar en el Explorador de soluciones. Icono Comando Descripción Mostrar todos los archivos Muestra todos los elementos de proyecto, incluso los excluidos y los que normalmente están ocultos. Inicialmente, el proyecto determina qué elementos están ocultos. Copiar proyecto Abre el cuadro de diálogo Copiar proyecto para copiar un proyecto Web completo o un conjunto de proyectos Web de un servidor Web a otro. También puede duplicar un proyecto Web en el mismo servidor con un nombre nuevo. Este comando sólo está disponible cuando hay un proyecto Web seleccionado. Abrir Abre el elemento seleccionado en el editor predeterminado para ese elemento. Ver código Abre el archivo seleccionado para editarlo en el Editor de código. Actualizar Actualiza el estado de los elementos seleccionados en la vista activa de un proyecto Web. Propiedades Muestra la interfaz de usuario de propiedades correspondiente al elemento seleccionado en la vista de árbol. La siguiente tabla presenta los iconos de señal que muestran información sobre el estado de los archivos: Icono Comando Descripción Elemento no encontrado Elemento no encontrado. Protegido Elemento incluido en una base de datos de control de código fuente. VENTANA DE PROPIEDADES Esta ventana es utilizada para visualizar y cambiar las propiedades y eventos en tiempo de diseño de los objetos seleccionados que están localizados en editores y diseñadores, e igualmente, se puede utilizar dicha ventana para editar y ver las propiedades de los archivos, proyectos y soluciones. La ventana Propiedades está disponible desde el menú Ver, y también desde el menú contextual de cada elemento seleccionado. La ventana Propiedades muestra distintos tipos de campos de edición, según las necesidades de una propiedad determinada. Entre estos campos de edición se incluyen cuadros de edición, listas desplegables y vínculos a cuadros de diálogo de editor personalizado. Las propiedades que se muestran en gris son de
  29. 29. Módulo 2 – Conociendo el Entorno de Trabajo 29 sólo lectura. Ventana de Propiedades La siguiente Tabla muestra los iconos y paneles de esta Ventana: Elemento y/o Gráfico Descripción Nombre de objeto Lista el (los) objeto(s) actualmente seleccionado(s). Sólo son visibles los objetos del diseñador activos. Cuando se seleccionan varios objetos, sólo aparecen sus propiedades comunes. Por categorías Presenta por categorías todas las propiedades y sus valores para el objeto seleccionado, en forma alfabética. Puede contraerse una categoría y reducir el número de propiedades visibles; al Cuando se expande o contrae una categoría, se ve un signo más (+) o menos (-) a su izquierda. Alfabética Ordena alfabéticamente las propiedades y eventos en tiempo de diseño de los objetos seleccionados. Propiedades Presenta las propiedades de un objeto. Existen muchos objetos que también tienen eventos, los cuales pueden ser vistos en la ventana Propiedades. Página de Propiedades Presenta el cuadro de diálogo Páginas de propiedades del objeto seleccionado, que muestra subconjunto, conjunto o súper conjunto de propiedades disponibles en ventana Propiedades, siendo usada para ver y editar propiedades relacionadas con la configuración activa del proyecto. Panel de descripción Muestra una breve descripción de la propiedad seleccionada del objeto activo. Esta opción puede ser activada y desactivada utilizando el comando Descripción del menú contextual. CUADRO DE HERRAMIENTAS Centro de Educación
  30. 30. 30 Conociendo el Entorno de Trabajo El Cuadro de herramientas presenta varios elementos que pueden ser usados en proyectos de Visual Studio; las fichas y elementos disponibles en el cuadro de herramientas pueden variar de acuerdo al diseñador o editor activo. Entre estos elementos, pueden mencionarse componentes .NET, componentes .COM, objetos HTML, fragmentos de código y texto. También se puede tener acceso al Cuadro de herramientas desde el menú título Ver. El Cuadro de herramientas presenta siempre dos fichas, una ficha General y una ficha Anillo del portapapeles; al abrir un editor o un diseñador, se agregan otras fichas y herramientas. También se pueden agregar otras fichas y herramientas personalizadas al Cuadro de herramientas. Se pueden seleccionar y arrastrar elementos, textos y controles desde el Cuadro de Herramientas a formularios, páginas y diseñadores, y arrastrar nuevamente dichos elementos desde estos orígenes al Cuadro de herramientas, para así volver a utilizarlos posteriormente. FICHA GENERAL La Ficha General es la que aparece por defecto cada vez que se abre el Cuadro de herramientas. Es utilizada para almacenar controles predeterminados para los proyectos, incluidos los controles personalizados. Inicialmente, la ficha General del Cuadro de herramientas sólo contiene la herramienta Puntero. FICHA ANILLO DEL PORTAPAPELES La Ficha Anillo del Portapapeles almacena los últimos doce elementos agregados al Anillo del Portapapeles del sistema mediante los comandos Cortar o Copiar. Estos elementos pueden arrastrarse desde dicha ficha y colocarse en la superficie activa de edición o diseño. CON EL TECLADO  Para recorrer el contenido de esta ficha mientras se trabaja en un editor o un diseñador, se presiona Ctrl+Mayús+V repetidamente, esto permite pegar los sucesivos elementos en el archivo activo, sustituyendo el último elemento insertado con el siguiente seleccionado. Cuando aparece el elemento deseado, se puede presionar Ctrl+V (pegar) repetidamente para pegar varias veces el elemento seleccionado actualmente. FICHA COMPONENTES La Ficha Componentes presenta los componentes que pueden agregarse a los diseñadores de Visual Basic (también es aplicable para Visual C#). Además de los componentes de .NET Framework suministrados con Visual Studio, tales como MessageQueue y EventLog, también se pueden agregar componentes de terceros. La Tabla siguiente presenta una breve descripción de los componentes predeterminados de la Ficha Componentes: Componente Descripción FileSystemWatcher Crea una instancia que permite supervisar cambios en cualquier directorio o archivo al que se puede tener acceso.
  31. 31. Módulo 2 – Conociendo el Entorno de Trabajo 3 1 EventLog Crea una instancia que permite interactuar con registros de eventos, tanto de sistema como personalizados, incluida la anotación de eventos en un registro y la lectura de datos de un registro. DirectoryEntry Crea una instancia que encapsula un nodo o un objeto de la jerarquía Active Directory y que se puede utilizar para interactuar con proveedores de servicios de Active Directory. DirectorySearcher Crea una instancia que se utiliza para realizar consultas en Active Directory. MessageQueue Crea una instancia utilizada para interactuar con colas de mensajes, permite leer mensajes de colas y escribir mensajes en colas, procesar transacciones y realizar tareas de administración de colas. PerformanceCounter Crea una instancia empleada para interactuar con contadores de rendimiento de Windows, y también se pueden crear nuevas categorías e instancias, leer valores de contadores y realizar cálculos con datos del contador. Process Crea una instancia que permite finalizar, iniciar y manipular los datos asociados con procesos del sistema. Para obtener más detalles, vea Supervisar y administrar procesos de Windows. ServiceController Crea una instancia que permite manipular servicios existentes, así se pueden iniciar y detener servicios y enviar comandos a los mismos. Timer Crea una instancia que permite agregar a las aplicaciones basadas en Web o en servidor, una funcionalidad basada en el tiempo. ReportDocument Crea un objeto ReportDocument que representa una instancia de un informe de Crystal Report. FICHA WINDOWS FORMS La Ficha Windows Forms muestra una lista de los Controles de formularios Windows Forms y cuadros de diálogo que pueden usarse con las aplicaciones Windows. Los controles y componentes de la ficha Windows Forms están ordenados según una estimación de su frecuencia de uso. CON EL RATÓN Para establecer que el orden sea alfabético, basta con hacer clic con el botón secundario del ratón en la ficha Cuadro de herramientas y elegir Ordenar elementos alfabéticamente. La mayoría de estos controles serán tratados en capítulos posteriores. FICHA DATOS Centro de Educación
  32. 32. 32 Conociendo el Entorno de Trabajo La Ficha Datos muestra objetos de datos que se pueden agregar a formularios y componentes de Visual Basic (aplicable a C#). Esta ficha aparece al crearse proyectos que tienen asociados un diseñador. CON EL TECLADO  Para ver directamente el tema de referencia de .NET Framework sobre un componente, se debe presionar F1 en el elemento del Cuadro de herramientas o en el elemento del componente en la bandeja del diseñador. Los componentes de esta ficha son descritos en la Tabla que se muestra a continuación: Componente Descripción DataSet Cuando se coloca este objeto en un diseñador, aparece un cuadro de diálogo que permite seleccionar una clase de conjunto de datos con tipo existente o especificar que se desea crear un conjunto de datos nuevo, en blanco y sin tipo. Este objeto no se usa para crear el esquema y la clase de un nuevo conjunto de datos con tipo. OleDbDataAdapter Permite ejecutar instrucciones SQL o procedimientos almacenados con un origen de datos compatible con OLEDB. Cuando se coloca este objeto en un diseñador, se inicia el Data Adapter Configuration Wizard, que facilita la creación de una conexión y la configuración de instrucciones SQL o procedimientos almacenados destinados a operaciones con el origen de datos. OleDbConnection Permite comunicarse con un origen de datos compatible con OLEDB. Después de agregar una conexión al formulario o componente, se puede usar la ventana Propiedades para determinar la información de la cadena de conexión. OleDbCommand Permite configurar una única instrucción SQL o procedimiento almacenado que se puede ejecutar directamente. Los objetos de comandos de datos requieren que además exista un objeto de conexión disponible. SqlDataAdapter Es similar al objeto OleDbDataAdapter, pero optimizado para SQL Server 7.0 o versiones posteriores. SQLConnection Crea un objeto de conexión que permite comunicarse con SQL Server 7.0 o versiones posteriores. SQLCommand Es similar al objeto OleDbCommand (vea más arriba), pero optimizado para SQL Server 7.0 o versiones posteriores. DataView Crea una vista de datos, que permite especificar opciones de filtro y de ordenación en un objeto al que se pueden enlazar controles. FICHA WEB FORMS La Ficha Web Forms muestra una lista de controles de servidor Web y controles de validación
  33. 33. Módulo 2 – Conociendo el Entorno de Trabajo 33 que pueden agregarse a los formularios Web Forms. Esta ficha sólo está disponible cuando se trabaja en la vista Diseño del diseñador de formularios Web Forms. Para crear controles de servidor HTML en páginas de formularios Web Forms, también puede agregar elementos desde la ficha HTML del Cuadro de herramientas y, a continuación, convertirlos en controles. Los controles de validación permiten al usuario validar cualquier control Web o control HTML de la página de formularios Web Forms. Por defecto, una página de formularios Web Forms utiliza el modo de diseño de cuadrícula, es decir, los elementos se disponen utilizando coordenadas x e y. También puede utilizar el modo de diseño de flujo, en el que los elementos se colocan como en una página HTML tradicional, es decir, de arriba a abajo. La Tabla siguiente muestra los controles que aparecen en forma predeterminada en dicha ficha: Componente Descripción AdRotator Muestra una secuencia (predefinida o aleatoria) de imágenes. Button Envía la página de formularios Web Forms a un servidor para su procesamiento. Calendar Muestra un calendario que permite que los usuarios seleccionen una fecha. CheckBox Muestra un cuadro en el que los usuarios pueden hacer clic para activarlo o desactivarlo. CheckBoxList Crea un grupo de casillas de verificación. Facilita la creación de casillas de verificación mediante el enlace a datos. CompareValidator Compara el valor de un control de entrada asociado con otro control de entrada o con un valor constante. CrystalReportViewer Aloja un informe creado con Crystal Reports en una página Web. CustomValidator Permite que código personalizado ejecute validación sobre el cliente o el servidor. DataGrid Muestra información, habitualmente enlazada a datos, en formato de tabla con columnas. Proporciona mecanismos para permitir la edición y ordenación. DataList Similar al control Repeater, pero con más opciones de formato y diseño, incluida la capacidad de mostrar información en una tabla. Este control permite especificar el comportamiento de la edición. DropDownList Permite seleccionar de una lista o escribir texto. HyperLink Crea vínculos de desplazamiento Web. Centro de Educación
  34. 34. 34 Conociendo el Entorno de Trabajo Image Muestra una imagen. ImageButton Similar a un control Button, pero incorpora una imagen en lugar de texto. Label Muestra texto que los usuarios no pueden modificar directamente. LinkButton Similar a un control Button, pero tiene la apariencia de un hipervínculo. ListBox Muestra una lista de opciones. Literal Se muestra como texto literal (sin etiquetas HTML), proporciona una forma sencilla de poner texto en una página a partir de código de servidor. Panel Crea una división sin bordes en el formulario que sirve como contenedor para otros controles. PlaceHolder Proporciona un contenedor para almacenar controles de servidor agregados dinámicamente a la página Web. No produce ningún resultado visible y sólo se utiliza como contenedor para otros controles de la página Web. RadioButton Muestra un botón único que puede activarse o desactivarse. RadioButtonList Crea un grupo de botones de opción. Dentro del grupo, sólo se puede seleccionar un botón. RangeValidator Comprueba si el valor de un control de entrada se encuentra dentro de un intervalo especificado de valores. RegularExpressionValidator Valida si el valor de un control de entrada asociado coincide con el modelo especificado por una expresión regulada. Repeater Muestra o presenta información procedente de un conjunto de datos mediante un conjunto de elementos y controles HTML especificados y repite los elementos una vez por cada registro del conjunto. RequiredFieldValidator Convierte el control de entrada asociado en un campo requerido. Table Crea una tabla. Puede agregar filas y columnas en el código del servidor. TextBox Muestra texto escrito en tiempo de diseño que puede ser editado por los usuarios en tiempo de ejecución o ser modificado mediante programación. ValidationSummary Muestra un resumen de todos los errores de validación en línea en una página Web, en un cuadro de mensaje o en ambos.
  35. 35. Módulo 2 – Conociendo el Entorno de Trabajo 35 XML Muestra información de un archivo o secuencia XML y opcionalmente permite aplicar transformaciones XSLT. FICHA HTML La Ficha HTML proporciona componentes útiles para las páginas y los formularios Web. Para ver esta ficha, se debe abrir primero un documento para editarlo en el diseñador de HTML. Luego, en el Cuadro de seleccione la ficha HTML. CON EL RATÓN Para crear una instancia de una herramienta en la ficha HTML, se debe hacer doble click en la herramienta para agregarla al documento en el punto de inserción actual o, seleccionar la herramienta y arrastrarla a la posición que se desee de la superficie de edición. La Tabla siguiente presenta las herramientas disponibles por defecto, de la ficha HTML: Componente Descripción Herramienta seleccionada por defecto al abrir cualquier ficha del Cuadro de herramientas. No se puede eliminar. Permite arrastrar objetos a la superficie de la vista Diseño, cambiar su tamaño y cambiar su ubicación en la página o formulario. Inserta un elemento <DIV> que incluye un atributo ms_positioning="FlowLayout". Excepto por WIDTH y HEIGHT, este elemento es idéntico a un control Flow Layout Panel. Para dar formato al texto contenido en un elemento <DIV>, agregue un atributo CLASS="stylename" a la etiqueta de apertura. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el siguiente código HTML: <div ms_positioning="FlowLayout" style="WIDTH: 70px; POSITION: relative; HEIGHT: 15px">Label</div> Inserta un elemento <INPUT> de type="button". Para cambiar el texto que se muestra, se modifica la propiedad name. Por defecto, id="Button1" para el primer control Button que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <input id="Button1" type="button" value="Button" name="Button1"> Inserta un elemento <INPUT> de type="reset". Para cambiar el texto que se muestra, se modifica la propiedad name. Por defecto, id="Reset1" para el primer control Reset que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Centro de Educación
  36. 36. 36 Conociendo el Entorno de Trabajo Diseño, en el documento se inserta el código HTML siguiente: <input id="Reset1" type="reset" value="Reset" name="Reset1"> Inserta un elemento <INPUT> de type="submit". Para cambiar el texto que se muestra, se modifica la propiedad name. Por defecto, id="Submit1" para el primer control Submit que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <input id="Submit1" type="submit" value="Submit" name="Submit1"> Inserta un elemento <INPUT> de type="text" en el documento. Para cambiar el texto predeterminado que se muestra, se modifica la propiedad value. Por defecto, id="Text1" para el primer control Button que se inserta, y así sucesivamente. Cuando se arrastra y se coloca el icono Text Field en la superficie de la vista Diseño, en el documento se inserta el siguiente código HTML: <input id="Text1" TYPE="text" value="Text Field" name="Text1"> Inserta un elemento <TEXTAREA>. Puede cambiar el tamaño del control Text Area o utilizar sus barras de desplazamiento para ver texto que se extienda más allá de su área de presentación. Para cambiar el texto predeterminado que se muestra, se modifica la propiedad value. Por defecto, id="TEXTAREA1" para el primer control Text Area que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el siguiente código HTML: <textarea id="TEXTAREA1 name="TEXTAREA1" rows=2 cols=20></textarea> Inserta un elemento <INPUT> de type="file" en el documento. Por defecto, id="File1" para el primer control File Field que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <input id="File1" type="file" name="File1"> Inserta un elemento <INPUT> de type="password". Por defecto, id="Password1" para el primer control File Field que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <input id="Password1" type="password" name="Password1"> Inserta un elemento <INPUT> de type="checkbox". Para cambiar el texto que se muestra, se modifica la propiedad name. Por defecto, id="Checkbox1" para el primer control Checkbox que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista
  37. 37. Módulo 2 – Conociendo el Entorno de Trabajo 3 7 Diseño, en el documento se inserta el siguiente código HTML: <input id="Checkbox1" type="checkbox" name="Checkbox1"> Inserta un elemento <INPUT> de type="radio". Para cambiar el texto que se muestra, se modifica la propiedad name. Por defecto, id="Radio1" para el primer control Button que se inserta, id="Radio1" para el segundo y así sucesivamente. Cuando se arrastra y se coloca en la vista Diseño, en el documento se inserta el siguiente código: <input id="Radio1" type="radio" name="Radio1"> Inserta un elemento <INPUT> de type="hidden". Por defecto, id="Hidden1" para el primer control File Field que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta código HTML similar al siguiente: <input id="Hidden1" type="hidden" name="Hidden1"> Inserta un elemento <TABLE>. Cuando se arrastra y se coloca este icono en la vista Diseño, en el documento se inserta código HTML similar al siguiente: <table cellspacing="1" width="75%" border=1> <tr><td></td></tr></table> Inserta un elemento <DIV> que incluye un atributo ms_positioning="FlowLayout" preestablecido. Es utilizado para implementar un modelo de edición 1D/2D. Cuando se establece la propiedad pageLayout de un documento HTML o un formulario Web en FlowLayout y, luego, se arrastra y se coloca el icono Flow Layout Panel en vista Diseño, en el documento se inserta el código HTML: <DIV style="WIDTH: 100px; HEIGHT: 100px" ms_positioning="FlowLayout"></DIV> Inserta un elemento <DIV> que incluye un atributo ms_positioning="GridLayout" preestablecido. Es utilizado para implementar un modelo de edición 1D/2D. Cuando se establece la propiedad pageLayout de un documento HTML o un formulario Web en GridLayout y, luego, se arrastra y se coloca el icono Grid Layout Panel en la vista Diseño, en el documento se inserta este código: <DIV style="Z-INDEX: 102; LEFT: 332px; WIDTH: 100px; POSITION: absolute; TOP: 123px; HEIGHT: 100px" ms_positioning="GridLayout"></DIV> Inserta un elemento <img>. Modifique este elemento para especificar su src y su texto alt. Cuando se arrastra y se coloca el icono Image en la vista Diseño, en el documento se inserta el código HTML siguiente: <img alt="" src=""> Centro de Educación
  38. 38. 38 Conociendo el Entorno de Trabajo Inserta un elemento <select> multilínea con size=2. Para mostrar una lista más larga, modifique el atributo size. Cuando se arrastra y se coloca en la vista Diseño, en el documento se inserta el código HTML siguiente: <select id="SELECT1" size=2 name="SELECT1"><option></option></select> Inserta un elemento <select> desplegable (sin atributo size). Por defecto, id="SELECT1" para el primer control que se inserta, y así sucesivamente. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <select id="SELECT1" name="SELECT1"><option selected></option></select> Inserta un elemento <HR>. Para aumentar el grosor de la línea, modifique el atributo size. Cuando se arrastra y se coloca en la superficie de la vista Diseño, en el documento se inserta el código HTML siguiente: <hr width="100%" size=1> Inserta un fragmento de código HTML previamente guardado en la ficha HTML. Cuando se arrastra y se coloca el icono HTML Fragment en la superficie de la vista Diseño, en el documento se inserta código HTML previamente copiado. Inserta un fragmento de texto previamente guardado en la ficha HTML. Cuando se arrastra y se coloca el icono Text Fragment en la superficie de la vista Diseño, en el documento se inserta el texto previamente copiado. FICHA ESQUEMA XML XML desempeña un papel fundamental en la manera de controlar los datos en Visual Studio .NET. XML se utiliza de las siguientes formas: •Los conjuntos de datos pueden serializar sus datos como XML. El esquema de un conjunto de datos, es decir, las tablas, columnas, tipos de datos y restricciones que se encuentran en el conjunto de datos, se define mediante un esquema XML (archivo .xsd). •Se pueden inferir esquemas XML de conjuntos de datos existentes y crear conjuntos de datos de esquemas XML existentes. Esta ficha muestra los elementos que se pueden agregar a los esquemas XML y a los conjuntos de datos ADO.NET cuando el Diseñador XML se encuentra en la vista de esquema. La ficha Esquema XML está disponible siempre que se trabaja con archivos .xsd, ya pertenezcan éstos a conjuntos de datos ADO.NET o a esquemas XML. En los esquemas XML, los atributos, grupos de atributos, tipos complejos, etc. se consideran todos como elementos. La Tabla que se presenta a continuación, permite observar los elementos y/o componentes que forman parte de esta ficha: Elemento Descripción
  39. 39. Módulo 2 – Conociendo el Entorno de Trabajo 39 Element Crea un elemento que puede ser global, agregado a otros elementos, agregado a grupos o usado para generar elementos complexType. Atributte Crea un atributo que puede ser global, agregado a elementos o agregado a grupos. attributeGroup Crea un elemento attributeGroup que puede ser global, agregado a elementos o utilizado en la creación de elementos complexType. complexType Crea elementos complexType a los que pueden agregarse elementos, atributos, attributeGroups, anys y anyAttributes. simpleType Crea un elemento simpleType al que se pueden agregar aspectos. group Crea grupos que pueden ser globales, agregados a otros grupos, elementos o tipos complejos. any Crea un elemento any que puede agregarse a elementos, tipos complejos o grupos. anyAttribute Crea un elemento anyAttribute que puede agregarse a elementos, grupos de atributos o tipos complejos. facet Crea un aspecto que puede agregarse a un tipo simple. Los aspectos pueden usarse para restringir aún más la definición de los tipos simples. key Abre el cuadro de diálogo Editar clave que se usa para crear claves cuando se agregan columnas a un elemento. Las claves son los campos primarios que establecen las relaciones. Relation Abre el cuadro de diálogo Editar relación que se usa para definir las relaciones entre los elementos. Visual Studio trabaja con archivos XML, esquemas XML y conjuntos de datos ADO.NET fácilmente para proporcionar una herramienta visual, en este caso, el Diseñador XML, que es utilizado para crear y editar archivos de esquemas XML, conjuntos de datos ADO.NET, archivos de datos XML y código fuente XML. El Diseñador XML tiene tres vistas: •Vista Esquema, que permite editar de forma visual esquemas XML y conjuntos de datos ADO.NET. •Vista de datos, que permite editar de forma visual archivos de datos XML mediante una cuadrícula de datos estructurada. •Vista XML, que permite trabajar directamente con código fuente XML mediante codificación de color, IntelliSense y finalización de instrucciones. EXPLORADOR DE SERVIDORES El Explorador de servidores es empleador para ver y manipular vínculos con datos, conexiones a bases de datos y recursos del sistema en cualquier servidor de la red al que tenga acceso. Sus funciones son resumidas a continuación: Centro de Educación
  40. 40. 40 Conociendo el Entorno de Trabajo •Abrir conexiones a datos. •Iniciar la sesión en servidores y mostrar sus bases de datos y servicios del sistema, como registros de eventos, colas de mensajes, contadores de rendimiento, servicios del sistema y bases de datos SQL. •Ver información acerca de los servicios Web disponibles y los métodos y esquemas que ofrecen. •Establecer conexiones de datos con SQL Server u otras bases de datos. •Guardar proyectos y referencias de bases de datos. •Arrastrar nodos a los proyectos de Visual Studio .NET, creando componentes de datos que hagan referencia al recurso de datos o supervisen su actividad. •Interactuar con los recursos de datos mediante la programación de los componentes de datos creados en los proyectos de Visual Studio .NET. En la siguiente Tabla se enumeran los tipos de nodo disponibles en el Explorador de servidores: Nodo Descripción Conexiones de datos Nodo de nivel superior que muestra conexiones de datos agregadas por usuarios al servidor. Establece conexiones de datos con muchos tipos de bases de datos, como bases de datos que se ejecuten en los sistemas operativos UNIX ó Microsoft Windows. Nodos secundarios Nodos situados bajo cada conexión, y enumeran diagramas, tablas, vistas, procedimientos almacenados y funciones de base de datos. En algunas versiones sólo se admiten ciertos tipos de conexión. Servidores Nodo de nivel superior que muestra los servidores disponibles para su utilización. Bajo cada nodo de servidor se muestran las bases de datos y los recursos de servidor que puede utilizar en las aplicaciones. El nodo Servidores del Explorador de servidores no está disponible en Visual Basic .NET Standard. Servicios Crystal Nodo secundario del nodo Servidores. Muestra las opciones disponibles de generación de informes en Crystal Reports. Registros de eventos Nodo secundario del nodo Servidores. Muestra los registros de aplicación, seguridad y sistema del servidor Microsoft Windows 2000 o Windows NT 4.0 seleccionado y los registros personalizados presentes en el servidor. Colas de mensajes Nodo secundario del nodo Servidores. Muestra las colas de mensajes disponibles en el servidor seleccionado, junto con los mensajes que
  41. 41. Módulo 2 – Conociendo el Entorno de Trabajo 4 1 contiene cada cola. Contadores de rendimiento Nodo secundario del nodo Servidores. Muestra los contadores de rendimiento del servidor Windows 2000 o Windows NT 4.0 seleccionado. Servicios Nodo secundario del nodo Servidores. Muestra los servicios existentes en el servidor Windows 2000 o Windows NT 4.0 seleccionado, así como el estado actual de cada servicio. Servidores SQL Server Nodo secundario del nodo Servidores. Muestra las bases de datos de SQL Server disponibles en el servidor seleccionado, permite acceso a ellas desde los componentes de datos de Visual Studio .NET. Componentes adicionales Algunos proveedores ofrecen más componentes para. Algunas versiones de Visual Studio .NET no admiten componentes adicionales. VENTANA DE RESULTADOS La ventana Resultados muestra mensajes de estado de diversas funciones del entorno de desarrollo integrado (IDE). Entre ellos se encuentran los errores de generación que tienen lugar al compilar un proyecto, y los resultados de verificar la sintaxis de TSQL de un procedimiento almacenado con una base de datos de destino. Algunas funciones del IDE, como las funciones de las herramientas externas o los comandos invocados en la Ventana de comandos, generan resultados en paneles especiales de la ventana Resultados. También están disponibles los resultados de las herramientas externas como los archivos .bat o .com, mostrados normalmente en la ventana DOS. Para accesar la ventana Resultados, se selecciona Otras ventanas en el menú Ver y se elige Resultados. DESARROLLANDO UNA APLICACIÓN WINDOWS En la pantalla de inicio, se selecciona un nuevo proyecto. Pero en esta ocasión se elegirá una aplicación de Windows, tal como se presenta en la Figura siguiente: Centro de Educación
  42. 42. 42 Conociendo el Entorno de Trabajo Cuadro de Diálogo de Nuevo Proyecto Este proyecto tomará el nombre que se le ha asignado por defecto, WindowsApplication1. En este proyecto se creará un formulario, que seguramente aparecerá de forma automática. En caso contrario, en el lado derecho del entorno de trabajo, se ubica el Explorador de Soluciones en la que se indica el proyecto actual y se muestran los archivos que lo componen, entre estos elementos, se encuentra el formulario denominado Form1 por defecto, y se debe hacer doble click en él para mostrarlo. El formulario es presentado en la Figura siguiente: Formulario Form1 A continuación, se cambiará la separación de los puntos que se muestran en el formulario, con el objeto de ajustar los controles que se añadan a dicho formulario; de forma predeterminada, la separación es de 8x8 puntos o píxeles; se colocarán en 4x4. En el panel de la derecha, debajo del Explorador de Soluciones, se encuentra la ventana de Propiedades del elemento que actualmente esté seleccionado; en nuestro caso, son las propiedades de Form1. Se procederá a buscar la propiedad GridSize para poder cambiar el tamaño de separación. Se observa que se muestran dos valores separados por una coma, pero también hay una cruz a la izquierda de la palabra GridSize, si se hace click en ella, se deberán mostrar los tamaños a lo que se refieren esos valores separados por coma, tal como se visualiza en la Figura que se presenta a continuación:
  43. 43. Módulo 2 – Conociendo el Entorno de Trabajo 43 Ventana de Propiedades de Form1 Se debe posicionar en ellos y asignarle el valor 4, así se tendrá un formulario con una cuadrícula más pequeña, en la que será más fácil posicionar los controles que se agreguen al formulario. Luego de haber cambiado dichos valores, éstos son mostrados en negrita, lo cual indica que son valores que el usuario ha asignado y/o modificado, y no los que tiene en forma predeterminada. Ahora el formulario (grid) tiene los puntos más contiguos, tal como se muestran en la siguiente Figura: Formulario Form1 de 4x4 Para añadir controles al formulario, se debe usar la Barra de herramientas, situada en la parte izquierda del IDE de Visual Studio .NET, por ejemplo, para colocar una Etiqueta (Label) y una Caja de texto (TextBox), se podrá hacer doble click sobre dichos elementos y se añadirán automáticamente al formulario, luego se podrán situar donde mejor nos parezca, pulsando en ellos y manteniendo el ratón pulsado. Luego se agregará un Botón de Comando (Button) y se colocará debajo de la Caja de texto. Para cambiar el texto que muestra el Botón de Comando, que por defecto es el nombre que el IDE le ha asignado, Button1, se deberá usar la Ventana de propiedades; en este caso, la propiedad de interés es Text, nos posicionamos a la derecha de ésta y escribimos Mostrar y presionamos Enter, y se observará que el texto del botón ha cambiado. Nota: En versiones anteriores de Microsoft Visual Basic, esta propiedad se denominaba Caption, y a partir de esta versión la propiedad Caption no existe en ningún control, puesto que ahora es llamada Text. Centro de Educación
  44. 44. 44 Conociendo el Entorno de Trabajo En la Tabla siguiente se resumen los controles, propiedades y valores para el proyecto presentado en esta sección. Control Propiedad Valor Form Name Form1 Text Formulario de Bienvenida Label Name Label1 Text Nombre Autosize True Textbox Name Textbox1 Button Name Button1 Text &Mostrar Ahora se escribirá código para que se ejecute cada vez que se haga click en el botón que se ha añadido, para ello, se selecciona el botón Mostrar y se hace doble click en él, se mostrará una nueva ventana, denominada ventana de Código, asociada con el formulario de nuestro proyecto, presentando el siguiente código: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Lo que se hará es escribir el código que se ejecutará cuando se haga click en dicho botón, lo cual producirá el evento Click asociado con el botón; este evento se producirá si se hace un click, si se ha presionado Enter o la barra espaciadora cuando el botón tenga el enfoque. La nomenclatura para los eventos de Visual Basic sigue el siguiente esquema: [Nombre del control] [Guión bajo] [Nombre del evento] El anterior esquema es sólo una sugerencia que Visual Basic nos propone, sin embargo, en versiones anteriores era una imposición, es decir, se puede dejar el nombre que Visual Basic nos sugiere o asignar el nombre que se desee. Lo que es interesante es la parte final de la línea de declaración del procedimiento de evento: Handles Button1.Click, puesto que con esto es con lo que el compilador/intérprete determina que este procedimiento es un evento y que dicho evento es el evento Click del objeto Button1. Para los nombres de los controles que se usen en Visual Basic se deben seguir las siguientes reglas ó normas: - El nombre debe empezar por una letra o un guión bajo. - El nombre sólo puede contener letras, números y el guión bajo.

×