Está en la página 1de 61

Subido Por: Daniel Palacin Palacios

Visual Basic 2008

Sesin 1 Introduccin a Microsoft .NET

En esta Sesin se tratarn los siguientes temas: 1. Microsoft .NET y Introduccin al desarrollo de software. y Definiendo Microsoft .NET. y Plataforma Microsoft .NET. 2. El Marco .NET y Definiendo el Marco .NET. y Tiempo de ejecucin en Lenguaje Comn (CLR). y Librera de clases .NET. y Interoperabilidad con otras tecnologas. y Terminologa del marco .NET.

http://www.palacinp.es.tl

Pgina 2

Visual Basic 2008

Microsoft .NET Introduccin al Desarrollo de Software. Bienvenido al curso de Visual Basic .Net; a diferencia de la versin anterior no podemos hablar directamente de las caractersticas del producto, la estructura del lenguaje y sus herramientas ya que no dependen de ste sino ms bien de toda una plataforma denominada Microsoft .Net, la cual es propsito de este captulo. Vamos ha iniciar este manual explicando las razones de la aparicin de Microsoft .Net y la evolucin que ha tenido el desarrollo de software en las computadoras personales (PC), desde la programacin estructurada finales de los 70 hasta la orientada a servicios Web XML. La primera poca del desarrollo en las PC estuvo marcada por los lenguajes estructurados tales como COBOL, Pascal, Basic, C, etc. Que eran herencia de los grandes sistemas (como las Mainframe y AS/400). Aqu el desarrollo realizaba sobre una interfase de texto o consola y se usaban libreras (conjunto de procedimientos predefinidos) que solo podan ser rehusados dentro de un programa creado en el mismo lenguaje que el de la librera. Las limitaciones de este tipo de desarrollo eran la falta de integracin entre sistemas, no reusabilidad a nivel de sistema, demasiado cdigo para disear interfases y lgica centrada en el programador, por lo cual aparece la Programacin Orientada a Objetos (POO) con lenguajes de programacin como C+, Small talk, Prolog, etc. Los principios bsicos de la POO eran encapsulaciones, herencia y polimorfismo. Esta empez a cobrar fuerza a finales de los 80. Si bien POO fue un gran avance en el desarrollo de software que permitir rehusar clases a travs de la herencia, el programador tena que escribir demasiado cdigo para crear las interfases, razn por la cual con el auge de Windows aparecen las herramientas Rpidas de desarrollo (RAD), tales como 4GL, Power Builder, Visual Basic, Visual Age, Visual Object, etc. Que facilitaban la creacin de las interfases grficas ya que se disponan de un conjunto de herramientas que las creaban. Microsoft lanza en los inicios de los 90 una tecnologa denominada COM (Component Object Model) cuyo principio er a la reutilizacin del cdigo en cualquier lenguaje o aplicacin que pueda cumplir con los estndares de COM. La primera forma de implementar COM fue OLE (Object Linking &Embedding) que consista en incrustar o enlazar dentro de una aplicacin un objeto que apuntara a otra aplicacin, por ejemplo todava podemos sin salir de Word incrustar hoja o grfico de Excel. Posteriormente esta tecnologa evoluciona en una llamada Actives que permita rehusar cdigo e interfases grficas en cualquier programa Windows. Con las aplicaciones tipo RAD ms el uso de COM se podan construir rpidamente aplicaciones reusables con una rica interfase visual, pero todo dentro del contexto de una misma mquina.

http://www.palacinp.es.tl

Pgina 3

Visual Basic 2008

Para desarrollar sistemas para la Intranet se cre DCOM (Distributed Component Object Model) que permitira rehusar un componente (llamado servidor COM) remotamente (desde otra mquina llamada cliente COM), para lo cual aparecieron productos como Tuxido, MTS (Microsoft Transaction Server), JTS (Java Transaction Server), etc. que permitan gestionar la concurrencia del componente, realizar transacciones, ahorrar conexiones, dar seguridad, etc. Una gran parte de los sistemas actuales Cliente/Servidor han sido desarrollados usando como clientes aplicaciones en Visual Basic (Windows) o Visual Interdev (Web), componentes hechos en Visual Basic y Servidor de Datos SQl Server, Oracle o DB2. El detalle es que COM presenta dos tipos de problemas: uno para el programador y otro para el negocio, los cuales explicamos a continuacin. Para el programador, el problema principal de COM es la compatibilidad de versiones y el infierno de las DLL, es decir, cada vez que se modifica el componente hay que volver a registrarse y tener cuidado que las aplicaciones anteriores siguen funcionando, adems si es un sistema Cliente/Servidor el mantenimiento es un poco complicado porque hay que volver a instalar los clientes es cada mquina. Para el negocio, la tecnologa COM slo le poda facilitar la creacin de aplicaciones internas pero no se poda integrar aplicaciones con otros negocios, por ejemplo si yo creo un componente COM en mi empresa slo puede ser usado por clientes COM ubicados en el contexto de la Intranet, es decir, mi lgica no puede ser usada ms all por otros usuarios, tales como proveedores, clientes externos, etc. En este contexto es que aparece Microsoft .Net como una plataforma para desarrollar aplicaciones que usen Servicios Web XML, capaces de exponer lgica entre negocios. Figura 1.1: Integracin entre Negocios. Socios
Aplicaciones Web Screen Email

Socios

Fax

B2C Cliente

Ad-hoc

Informacin Crdito

INTEGRACIN ENTRE NEGOCIOS

Definiendo Microsoft .Net Microsoft .Net es una nueva tecnologa que responde a la necesidad de comunicacin total entre negocios que cada vez cuentan con sistemas ms heterogneos y con gran capacidad de procesamiento.

http://www.palacinp.es.tl

Pgina 4

Visual Basic 2008

Microsoft .Net es la plataforma que provee todas las herramientas y teconologas necesarias para construir Aplicaciones Web Distribuidas usando protocolos Web estndares tales como Extended Markup Language (XML) y Simple Object Access protocol (SOAP). Estas aplicaciones creadas con la plataforma .Net pueden ser usadas por un gran y variado nmero de clientes, tales como PC, PC de Bolsillo (Pal PC), Celulares digitales, PC de Juegos (PC Games), PC de Auto (Auto PC), PC de Televisor (Ultimate TV) , etc.

Figura 1.2: Dispositivos Clientes .NET

Microsoft .net tambin permite la integracin entre diferentes lenguajes, pudiendo compartir informacin en forma de servicios Web XMl, lo cual beneficia la comunicacin entre negocios (Business to Business). Expresando de forma sencilla, Microsoft .Net es la estrategia de Microsoft para distribuir software como servicio y responder a la necesidad de comunicacin entre plataformas cruzadas y de diferente tipo, para lo cual se necesita una tecnologa abierta, de bajo costo y de fcil implementacin.

Plataforma .Net Microsoft .net se compone de un conjunto de recursos que hacen posible su implementacin, estos componentes se muestran en la siguiente ilustracin:

Figura 1.3: plataforma .Net

http://www.palacinp.es.tl

Pgina 5

Visual Basic 2008

1. El Marco .Net Es la parte principal de la plataforma Microsoft .Net y consiste en un compilador comn para diferentes tipos de lenguajes llamados el CLR y un conjunto de componentes de una Librera de Clases .Net dentro de las cuales estn ADO .NET, ASP .NET ser tratado con mayor detalle en los temas posteriores. 2. Servidores Empresariales .Net Son un conjunto de Servidores que permiten construir, distribuir y administrar Soluciones web integradas y escalables. Estos han sido construidos basados en estndares como el Extensive Markup language (XML), entre ellos tenemos:  Windows 2000 Server: Es el principal servidor de comunicaciones, archivos y directorios, impresoras, aplicaciones Web, etc. Es el soporte para que corran los dems servicios de otros servidores.  Microsoft Application Center: Es el servidor de granjas de servidores Web y de componentes, permitiendo el balanceo de carga y la disponibilidad de aplicaciones Web y aplicaciones COM, COM+.  Microsoft Biztalk Server: es el servidor de orquestacin de procesos de negocios, es decir permite integrar aplicaciones entre negocios usando XML, como el formato de intercambio comn.  Microsoft Comerce Server: Antes llamado Microsoft Site Server, se utiliza para construir rapidamente sistemas de comercio electrnico BT o B (de negocio a negocio) o BT o C (de Negocio a Consumidor).  Microsoft Exchange Server: Ofrece servicios de mensajera (correo electrnico9 y colaboracin entre aplicaciones (workflow).  Microsoft Host Integration Server: Realiza la comunicacin entre sistemas Cliente/Servidor, aplicaciones Intranet o Internet con los sistemas legados por el negocio, tales como mainframe o AS/400.  Microsoft Internet Security and Aceleration Server: Antes llamado Proxy Server, ISA Server se usa para brindar seguridad en las comunicaciones por Internet.

http://www.palacinp.es.tl

Pgina 6

Visual Basic 2008

 Microsoft SQL Server: Es el servidor de datos de Microsoft que permite crear soluciones de data Warehouse y se integra con Microsoft Office. 3. Bloqueo de Servicios .Net El Bloque de Servicios .Net se est construyendo como un conjunto de Servicios Web XML que permiten la integracin entre los usuarios y las aplicaciones clientes que corran en diferentes dispositivos (PCs, dispositivos mviles, etc.). Actualmente Microsoft tiene construido dos servicios que ofrecen ventajas para el usuario.  Microsoft Passport: Tiene un conjunto de servicios como el Single Sign In (SSI) que permite autenticar si un usuario es vlido y pude participar en un sitio web. aparte tiene otras ventajas como reducir el tiempo de autenticacin, guardar contenido personalizado, etc. Hotmail utiliza el servicio de Passport para la autenticacin de usuario y guardar informacin en este Web.  Microsoft Hailtorn: Usa los servicios de Passport para guardar informacin personalizada del usuario, pero su uso principal es almacenar Servicios Web que puedan ser usados por aplicaciones de Visual Studio .Net o cualquier lenguaje compatible con .Net. El Marco .NET Definiendo el Marco .NET El Marco .NET (en ingls .NET Framework) es la piedra angular de la plataforma .NET y constituye un entorno para la creacin, distribucin y ejecucin de servicios Web, as como de otros tipos de aplicaciones. Se compone de cuatro partes principales que son: 1. Tiempo de Ejecucin en Lenguaje Comn (CLR) Es el RunTime comn para todos los lenguajes que soportan el Marco .Net y realiza la mayor parte de funciones para que corran las aplicaciones .Net, es el que se encarga de compilar y ejecutar una aplicacin, as como administrar su trabajo con el sistema. 2. Librera de Clases .Net Son un conjunto de componentes que sirven para acceder a travs de objetos a la mayor parte de servicios del sistema, labor que era realizada antes por las APIs de Windows, la MFC o ATL de Visual C++, etc. 3. ADO .NET y XML ADO .NET se usa para acceder a cualquier origen de datos sea relacional (bases de datos), formatos planos (textos), etc. Por su parte, XML sirve como el formato para intercambiar los datos en diferentes plataformas 4. ASP .NET

http://www.palacinp.es.tl

Pgina 7

Visual Basic 2008

Este componente incluye el soporte para la creacin, distribucin y mantenimiento de aplicaciones web as como de Servicios Web XML, que son la razn de ser de la plataforma .Net. Figura 1.4: Componentes del Marco .NET

Tiempo de Ejecucin en Lenguaje Comn (CLR) Introduccin al Runtime y al CLR Un Runtime es la aplicacin responsable de manejar la asignacin de memoria, inicio y eliminacin de procesos mientras un programa se est ejecutando, as como de brindar seguridad al cdigo, y tambin gestionar su relacin con otros programas o componentes. Los Runtime han sido usados por los lenguajes de programacin como Visal Basic cuyo nombre es el Bru, Visual C++ cuyo nombre es MSVCRT, pero tambin Visual Fox pro, JSCript, SmallTalk, Perl Pitn, Java, etc. tiene su propsito Runtime. Cada aplicacin Visual Basic 6 que se quera distribuir tena que distribuirse con el Runtime, lo mismo en Visual C++, la diferencia que el primero ocupaba demasiado espacio y no era tan poderoso como el segundo. El Runtime de .Net se llama el CLR (Common Language Runtime o Tiempo de Ejecucin en Lenguaje Comn) y es la solucin a los diferentes tipos de Runtime que manejan los diferentes Lenguajes de Programacin antes mencionados, que ahora sern gestionados en ejecucin por un nico Runtime comn. La ventaja de tener un solo Runtime son mltiples ya que se podr compartir las mismas estructuras, tipos de datos, clases, etc. en todos los lenguajes que cumplan las especificaciones del Marco .Net. Servicios del CLR El CLR es el motor de ejecucin de las aplicaciones del Marco .Net proporciona una serie de servicios, entre los que se incluyen los siguientes:  Administracin del cdigo (carga y ejecucin).

http://www.palacinp.es.tl

Pgina 8

Visual Basic 2008

           

Aislamiento de la memoria de la aplicacin. Comprobacin de la seguridad de los tipos. Conversin de IL (Lenguaje Intermedio) a cdigo nativo. Acceso a los metadatos (informacin de tipo mejorada). Administracin de memoria para los objetos administrados. Aplicacin de seguridad de acceso al cdigo. Control de excepciones, incluyendo excepciones en varios lenguajes. Interoperabilidad entre el cdigo administrado, los objetos COM y las DLL anteriores (datos y cdigo no administrados). Automatizacin del diseo de objetos. Soporte para servicios de desarrolladores (creacin de perfiles, depuracin, etc.) Sistema de auto registro o auto descripcin de componentes (no es necesario registrar el componente en el sistema). No es necesario los elementos de COM como GUIDs, interfaces iUnknow, etc. Nota: Con esto decimos adis al problema de la compatibilidad de versiones de las dll Componentes del CLR Para cubrir los diferentes servicios, el CLR, ha sido diseado cuidadosamente dividindose en componentes cada uno de los cuales se encarga de brindar los servicios anteriormente descritos, los cuales se muestran a continuacin. Figura 1.5: Componentes del CLR

A continuacin se detalla cada una de las funciones de los componentes de CLR.

http://www.palacinp.es.tl

Pgina 9

Visual Basic 2008

Componente Class Loador MSIl to native Compilers Code Manager Garbage Collector (GC) Security Engine Debug Engine Type Checker

Exception Manager

Thread Support COM Marshaler .NET Framework Class Library Support

Descripcin Administra la metadata y la carga y diseo de clases. Convierte el lenguaje Intermedio Microsoft en cdigo nativo (Just in Time (JIT) y Native Generation (NGEN)). Administra la ejecucin del cdigo. Provee la administracin automtica del tiempo de vida de todos los objetos. El Garbage Collector es multithread y escalable. Provee la seguridad basada en evidencias, basada en el origen del cdigo en adicin a la entidad del cdigo invocado. Permite depurar la aplicacin y realizar el seguimiento de la ejecucin del cdigo. Permite la no-conversin de tipos o noinicializacin de variables MSIl, puede ser verificado para garantizar la seguridad de tipos. Provee el manejo de errores en forma estructurada, el cual es integrado con el manejador estructurado de errores de Windows (Structured Exception handling o SEH). Provee las clases e interfases que habilitan la programacin de multithreaded. Provee el intercambio a y desde COM. Es el soporte para la Librera de Clases que usa el Marco .NET

Compilacin y Ejecucin del CLR. El cdigo fuente escrito en Visual C#, Visual Basic .Net u otro lenguaje que soporte el CLR es transformado primero en lenguaje intermedio (MSIL) por el compilador respectivo del lenguaje. Antes de la ejecucin, este MSIL es compilado justo a tiempo (JIT) en cdigo nativo por el procesador del sistema, tal como lo muestra la siguiente ilustracin.

Figura 1.6: Compilacin y Ejecucin del CLR

http://www.palacinp.es.tl

Pgina 10

Visual Basic 2008

.NET FRAMEWORK

En el grfico se aprecia dos modos de trabajo: Administrado y No Administrado, es decir Administrativo es cuando .Net maneja la ejecucin de aplicacin, por ejemplo en VB, C# y C++ y No Administrativo es cuando el lenguaje accede directamente al sistema, solo en el caso de C++. Librera de Clase .Net Librera de Clase .Net son un conjunto de componentes que tienen una gran cantidad de clases que permiten realizar cualquier tarea a invocar a cualquier servicio del sistema, desde crear un formulario Windows hasta administrar los procesos, la entrada y salida de flujos, seguridad, recursos como memoria, video, etc. El Marco .Net proporciona un conjunto extensible y unificado de bibliotecas (APIs) orientado a objetos y jerrquico para el uso de los desarrolladores. Hoy en da los desarrolladores en C++ utilizan las Clases Base de Microsoft (Microsoft Foundation Class o MFC) los desarrolladores utilizan las Clases Base de Windows (Windows Foundation Class o WFC) y los desarrolladores de Visual Basic utilizan las APIs de Visual Basic (VB y VBA). Tan sencillo como el Marco .Net unifica los diferentes marcos de Microsoft tiene hoy en da. Como resultado, los desarrolladores no tienen ya que aprender sobre mltiples marcos para hacer su trabajo. Pero ms que eso, mediante la creacin de un conjunto en comn de APIs a travs de todos los lenguajes de programacin, el Marco .NET permite herencia de lenguaje cruzado, manejo de errores y depuracin. De hecho, todos los lenguajes de programacin desde JScript a C++, se hacen iguales y los desarrolladores son libres de escoger el lenguaje que quieren utilizar. El Marco .Net permite la creacin de grandes aplicaciones web. Sin embargo, tambin puede ayudar a crear las mismas aplicaciones que se crean hoy da. Si escribe software para Windows (utilizando ATl/COM, MFC, Microsoft Visual

http://www.palacinp.es.tl

Pgina 11

Visual Basic 2008

Basic o incluso Microsoft Win32 estndar), .Net ofrecer numerosas ventajas a la hora de crear aplicaciones. Por supuesto si se dedica al desarrollo de sitios Web , el Marco .net resultar de gran inters, comenzando por ASP .NET. Figura 1.7: Libreras de Clases .NET

En la figura anterior, slo se muestra parte de la librera de clases del Marco .Net que corresponde a las clases de manejo del sistema, las dems clases son para el manejo de aplicaciones y servicios Windows,, ADO .NET XML .NET, las cuales se trataran cada una en un mdulo por separado debido a su importancia. Interoperabilidad con otras Tecnologas Si bien es cierto que Microsoft .net es una nueva tecnologa, esta tambin interacta y usa ciertas funciones de tecnologas anteriores como COM, COM+ y DCOM. A continuacin se expone dicha relacin Relacin con COM El Marco .Net ha simplificado toda la complejidad de COM en lo que respecta a la creacin y uso de componentes, el cual es transparente para el desarrollador, por ejemplo, ya no se utiliza la interfase iUnknow para crear, consultar o eliminar un objeto, ni tampoco se usa los GUIDs (Global Unique Identifiers) ya que los componentes .Net se auto describen solos y no necesitan registrarse. Los componentes COM y .net pueden comunicarse, por ejemplo en Visual Studio 6.0 se podra llamar a un componente del Marco .Net y, para el desarrollador pareciera como si se fuera un componente COM, y viceversa, un desarrollador en Visual Studio .net vera un componente del Marco .Net. Relacin con COM+ COM+ es la tecnologa de Microsoft que reemplaza a COM y es implementada por la plataforma Windows 2000 en adelante, COM+ es un conjunto de servicios dirigidos a ser escalables y seguras aplicaciones empresariales Cliente/Servidor multinivel. Los servicios de COM+ son complementarios a los servicios de programacin proporcionados por el Marco .Net, este ultimo se apoya bastante sobre el

http://www.palacinp.es.tl

Pgina 12

Visual Basic 2008

primero para realizar algunas tareas que no han sido incorporadas en el Marco .Net. Las clases del marco .Net proporciona acceso directo a los servicios de COM+, tales como el ahorro de conexiones (connection postings), transacciones, agrupacin de objetos, componentes en cola, eventos asncronos, etc. Relacin con DCOM DCOM es la infraestructura de COM para la comunicacin remota o en proceso cruzado. El Marco .Net admite una serie de formateadotes y canales que se pueden conectar para este tipo de comunicacin. Cuando se realizan transiciones entre el cdigo administrado y no administrado, el Marco .net utiliza la infraestructura COM, concretamente, DCOM, para realizar dicha transicin. El Marco .Net admite el protocolo SOAP (Simple Object Access Protocol) para la comunicacin remota o en proceso cruzado donde la interoperabilidad es de vital importancia. Pero todava se puede usar los servicios de DCOM para la comunicacin entre clientes y componentes COM. Terminologa del Marco .Net Para comprender el Marco .net es necesario conocer ciertos trminos que son muy usados, algunos de ellos como el CLR y la Librera de Clases ya han sido explicados anteriormente, pero otros se explican a continuacin. Sistema de Tipos Comn (CTS) En Ingls Common Type System (CTS) permite tener un mismo tipo de datos, operadores y estructuras para todos los lenguajes de programacin del Marco .net evitando tener que aprender en cada lenguaje ciertas estructuras que tendrn otro nombre o no existirn en otro lenguajes. No hay que confundir, inicialmente cada lenguaje tendr su propio sistema de tipos, pero que al final en tiempo de ejecucin el CLR los transforma en uno solo, es decir, en tiempo de ejecucin todos los lenguajes de programacin usan los mismos tipos. Especificacin en Lenguaje Comn (CLS) El CLs son las siglas en Ingls de Common language Specification y son el reemplazo del IDL (Interface Definition Language) de COm que se usa para describir el contenido de un componente en un lenguaje neutral, de tal manera que pueda ser usado por cualquier lenguaje de programacin. Se trata de un conjunto de construcciones y restricciones que sirve como gua para los desarrolladores de libreras (DLLs) y compiladores (EXEs) que permite que las bibliotecas se puedan utilizar en cualquier lenguaje que admite CLS y para los lenguajes que se integran entre si. El CLS es parte del CTS y se trata de un elemento importante para los desarrolladores de aplicaciones que escriben cdigo que ser utilizado por otros desarrolladores. Cuando se disean las APIs con acceso pblico siguiendo las reglas de CLS, en las que se utilizan fcilmente en todos los dems lenguajes de programacin que tienen quieran ser compatibles con el CLR.

http://www.palacinp.es.tl

Pgina 13

Visual Basic 2008

Lenguaje Intermedio de Microsoft (MSIL) MSIL, son las siglas de Microsoft Intermediate Language y es un conjunto de instrucciones o cdigo semicompilado que es independiente de la CPU, en el que se compilan los programas del Marco .Net. Este dispone de instrucciones para cargar, almacenar, inicializar y realizar llamadas a mtodos en los objetos. Junto con los metadatos y el CTS, MSIL permite la total integracin de varios lenguajes. Antes de la ejecucin, MSIL se convierte a cdigo mquina. No se interpreta. Datos y Cdigo Administrado El cdigo administrado es el que se escribe para los servicios del CLR. Para realizar esta operacin, el cdigo debe proporcionar un nivel mnimo de informacin (metadatos) en el tiempo de ejecucin. Todo el cdigo en C#, Visual Basic .Net y Jscript .Net se administra de forma predeterminada. El cdigo en Visual Studio .Net C++ no se administra de esta manera pero el compilador puede producir cdigo administrado especificando un conmutador de lnea de comandos (/CLR). Los datos administrados (datos que el recolector de elementos no utilizados del tiempo de ejecucin en lenguaje compn asigna y desasigna) estn muy Relacionados con el cdigo administrado. Los datos en C#, Visual Basic y Jscript .Net se administra de forma predeterminada. No obstante, los datos en C# se pueden marcar como no administrados mediante la utilizacin de palabras claves especiales. Los Datos en Visual C++ son no administrados de forma predeterminada (incluso cuando se utiliza el modificador /CLR); sin embargo, al utilizar extensiones administradas para C++, se puede marcar una clase como administrada utilizando la palabra clave _gc. Las ventajas de tener cdigo administrado es la interoperabilidad con las clases escritas en otros lenguajes (por ejemplo, una clase C++ administrada puede heredar de una clase de Visual Basic). Como ejemplo de restriccin tenemos que una clase distribuida nicamente puede heredar de una clase base. Ensamblador En ingls Assemble es el bosque bsico fundamental de una aplicacin del Marco .Net, consiste en uno o mas archivos DLL o EXE con un conjunto de funcionalidad que se crea, se le da una versin y se distribuye como una nica unidad de implementacin. Todos los tipos y recursos administrados se marcan como accesible solo en su unidad de implementacin, o bien, como accesible mediante el cdigo fuera de su unidad. Los ensambladores so auto descriptivo gracias a una parte integral de los mismos denominada muestra (Manifest). Dicha de otra manera cumple las siguientes funciones):  Establece la entidad del ensamblador (en forma de un nombre de texto), as como la versin, cultura y firma digital (en caso de que el ensamblador vaya a compartir entre las aplicaciones).

http://www.palacinp.es.tl

Pgina 14

Visual Basic 2008

 Define que archivos (por nombre y archivo hash) componen la implementacin del ensamblador.  Especifica los tipos y recursos que forman el ensamblador, incluyendo cuales se exportan desde el mismo.  Enumera las dependencias en tiempo de compilacin de otros ensambladores.  Especfica el conjunto de permisos necesarios para la correcta ejecucin del ensamblador. Esta informacin se utiliza en tiempo de ejecucin para resolver referencias, aplicar las directivas del enlace de versiones y validar la integridad de los ensambladores cargados. El tiempo de ejecucin puede determinar y ubicar el ensamblador para cualquier objeto de ejecucin, ya que todos los tipos se encargan en el contexto de un ensamblador. Asimismo, los ensambladores constituyen la unidad en la que se aplican los permisos de seguridad de acceso al cdigo. La prueba de entidad de cada ensamblador se considera individualmente cuando se determina los permisos que contiene para otorgar al cdigo. Espacio de Nombre Un espacio de nombre (NameSpace) es un esquema de denominacin lgica para los tipos en los que un nombre de tipo sencillo, como OLEDB, va precedido de un nombre jerrquico separado por puntos. Dicho esquema se encuentra totalmente bajo el control del desarrollador. Las herramientas de diseo se pueden utilizar los espacios de nombre para facilitar a los desarrolladores el proceso de exploracin y referencia a los tipos en su cdigo. El concepto de espacio de nombre no esta relacionado con el del ensamblador. Un nico ensamblador puede contener tipos cuyos nombre jerrquicos dispongan de distintas races de espacio de nombre y una raz lgica de este tipo puede abarcar vario0s ensambladores. En el Marco .Net, un espacio de nombre es una conveniencia lgica de denominacin en tiempo de diseo, mientras que un ensamblador establece el mbito de nombre para los tipos en los tiempos de ejecucin. En Visual Basic, por ejemplo para ser uso de un Assemble hay que usar los espacios de nombre con la declaracin Imports, por ejemplo si quisiramos acceder con SQL Server y manejar archivos de texto en una aplicacin Windows realizar la siguiente declaracin: Imports System.Windows.Forms Imports System.Data.SQl Imports System.IO

http://www.palacinp.es.tl

Pgina 15

Visual Basic 2008

Sesin 2 VISUAL STUDIO .NET

En esta Sesin se tratarn los siguientes temas: 1. Introduccin a Visual Studio .NET y Definiendo Visual Studio. y Herramienta Rpida de Desarrollo (RAD). 2. Lenguajes .NET y Neutralidad de Lenguajes .NET y Lenguajes en .NET 3. Entorno Integrado de Desarrollo (IDE)

http://www.palacinp.es.tl

Pgina 16

Visual Basic 2008

y y y y

Descripcin del IDE compartido. Administracin de Ventanas. Diseadores. Herramientas de datos.

http://www.palacinp.es.tl

Pgina 17

Visual Basic 2008

Introduccin a Visual Studio .NET Definiendo Visual Studio .NET. Visual Studio .NET es la herramienta Rpida de Desarrollo (RAD) de Microsoft para la siguiente generacin de Internet que son los servicios Web XML. Esta herramienta permite la creacin de aplicaciones usando el Marco .NET, es decir usando el CLR, la librera de Clases, ADo .NET, ASP .NET, etc. Es un Software que brinda las herramientas necesarias para crear, distribuir, administrar y dar mantenimiento a aplicaciones Web distribuidas que usan servicios Web XML, todo esto con una gran facilidad, rapidez y bajo costo. Se puede crear aplicaciones Web directamente usando el Framework .NET y algn programa editor, por ejemplo el Bloc de Notas, pero el tiempo que llevar el desarrollo no justificara el ahorro de costos, en cambio, si se utiliza una Herramienta como Visual Studio .NET el tiempo de desarrollo se reducir enormemente. Visual Studio .NET permite tambin la integracin y el uso cruzado de lenguajes de programacin: Visual Basic .NET, Visual C++ .NET y Jscript .NET. A diferencia de la versin anterior no existe. Visual Interdev, ni Visual J++, adems Visual Fox Pro .NET no comparte las caractersticas unificadas del Marco .NET. Figura 2.1: Estructura del Marco .NET y Visual Studio

.NET FRAMEWORK

Lenguajes en .NET

http://www.palacinp.es.tl

Pgina 18

Visual Basic 2008

Neutralidad de Lenguajes .NET El Marco .NET es neutral con respecto al lenguaje y admite prcticamente cualquiera de ellos. Esto trae consigo los siguientes beneficios para el desarrollador:  Cdigo Reusable y Compartido: Antes no exista una integracin total del equipo de desarrollo cuando cada grupo usaba herramientas diferentes como Visual Basic 6, Visual C++, Visual J++, en cambio ahora, el cdigo escrito en cualquier lenguaje pudo ser usado desde otro, ya que todas son clases .NET.  Acceso a APIs igual para todos los Lenguajes: Actualmente, todos los lenguajes del Marco .NET comparte las mismnas clases o APIs del sistema, antes cada lenguaje acceda a las APIs de una manera, de ellos C++ era l ms fuerte, hoy en da con .Net no existe diferencias entre potencias del lenguaje.  Herencia Cruzada entre Lenguajes: Se puede crear una clase en un lenguaje y heredarse desde otra clase escrita en diferente lenguaje .NET, lo que permite la reutilizacin total del cdigo por parte de diferentes desarrolladores.  Manejo de errores cruzado entre Lenguajes: Se puede controlar errores desde una clase por ms que el error ocurra en un objeto creado en otro lenguaje distinto al de la clase que controla el error, tambin se puede realizar el seguimiento de una aplicacin aunque incluya llamadas a otros lenguajes, etc. Figura 2.2: Relacin cruzada entre Lenguajes .NET.

Aplicacin VB .NET

Aplicaciones Visual C# .NET

Clase A

Clase C

Clase B

Clase D

Herramienta Rpida de Desarrollo (RAD) La principal ventaja de Visual Studio .NET es realizar la creacin de aplicaciones de forma fcil y rpida, tan slo con arrastras y soltar objetos se pueden crear desde aplicaciones Windows hasta servicios Web XML.

http://www.palacinp.es.tl

Pgina 19

Visual Basic 2008

Entre algunas de las ventajas del soporte RAD de Visual Studio tenemos:  Creacin de Pginas Web mediante formularios Web: Visual Studio .NET incluye un diseador de pginas Web HTML y ASP .NET basado en formularios Web, el diseador permite arrastras controles, clases de datos, y otros objetos y configurar sus propiedades como si fuese un formulario de aplicacin para Windows.  Creacin de Servicios Web XML: Para crear servicios web XML, Visual Studio .NET incluye una plantilla con servicios Web de ejemplo, los cuales puedes modificar y personalizar a tu medida. Eligiendo el lenguaj que desea, que pudo ser visual Basic .NET, visual C# .NET o Visual C++ .NET. Acceso a Servicios Web XML: Una vez creado los servicios web XML, deben usarse en otras aplicaciones del negocio, para ello visual Studio .NET cuenta con el Explorador de Servidores (Server Explorer ) que permite ver los servicios Web publicados y usarlos con solo un arratre. Tambin podemos usar un Servicio Web haciendo referencia desde un proyecto mediante la opcin Add Web Reference del men Project .  Creacin de Componentes .NET: Crear componentes o controles de usuario, es tan simple como crear un formulario ya que usando la herencia se puede pasar todas las caractersticas de un objeto a otro, esto esta presente en todos los objetos creados en Visual Studio .NET, sean esquemas y datos. Existen mas caractersticas RAD en Visual Studio .NET las cuales trataremos ms adelante. Lenguajes en .NET En Visual Studio .NET viene los siguientes Lenguajes de Programacin:  Visual Basic .NET.  Visual C# .NET.  Visual C++ .NET.  Visual Foxpro .NET (No administrado por el Marco .NET).  Visual Jscript .NET. Adems de estos lenguajes, el Marco .NET soporta otros lenguajes, entre los cuales se destacan:  COBOL: http://www.adtools.com/info/withepaper/net.html/  Pascal: http://www2.fit.qut.edu.au/CompSci/PLAS/ComponenPascal/  Smalltalk: http://www.qks.com  Eiffel: http://dotnet.eiffel.com/  ML: http://research.microsoft.com/Projects/SML.NET/index.htm  APL: http://www.dyadic.com  Oberon: http://www.oberon.ethz.ch/lightning/

http://www.palacinp.es.tl

Pgina 20

Visual Basic 2008

    

Scheme: http://rover.cs.nwu.edu/-scheme/ Mercury: http://www.cs.mu.oz.au/research/mercury/ Pitn: http://aspn.activestate-com/ASPN/NET/index Haskell: http://haskell.cs.yale.edu/ghc/ Mondrian: http://www.mondrian-script.org

Se ha dado el nombre de algunos lenguajes junto a sus respectivas pginas de web donde se puede encontrar informacin sobre estos e inclusive bajarse el compilador del lenguaje compatible con .NET. Figura 2.3: Listado de Lenguajes . NET
y y y y y y y y

COBOL. JSCRIPT .NET. EIFFEL. HASKELL/MONDRIAN. PASCAL. ML. APL. ALICE.

y y y y y y y y y

C. VISUAL C++. VISUAL BASIC. VISUAL C#. SMALLTALK. OBERON. SCHEME. MERCURY. PYTHON

Entorno Integrado de Desarrollo (IDE) Descripcin del IDE Compartido. Visual Studio .NET tiene un Entorno Integrado de desarrollo nico o compartido para crear aplicaciones usando cualquiera de los lenguajes de programacin, que puede ser Visual Basic, Visual C++ o C#. En esta nueva versin de Visual Studio Foxpro mantiene su propio IDE (similar al de la versin 6), adems Visual Interdev ya no es parte de Visual Studio, ya que las herramientas de desarrollo para Web estn disponibles a travs de los web forms disponibles desde IDE comn. Al iniciar Visual Studio .NET aparece (por defecto) la pgina de inicio, tal como se muestra en la figura 2.4 Figura 2.4: Ventana del Visual Studio .NET.

http://www.palacinp.es.tl

Pgina 21

Visual Basic 2008

Desde esta pgina de inicio podemos elegir la opcin Get Started para crear un nuevo proyecto o abrir uno existente o reportar un error del IDE de Visual Studio, si elegimos new project se presentar la ventana que se muestra en la figura 2.5. Figura 2.5: Ventana de Crear un nuevo Proyecto.

http://www.palacinp.es.tl

Pgina 22

Visual Basic 2008

Esta ventana esta dividida en 2 secciones: en el lado izquierdo se encuentran los tipos de proyectos que se puedan realizar (Visual Basic, Visual C#, Visual C++, etc.) y en el lado derecho se encuentran las plantillas o tipos de aplicaciones, que varan de acuerdo al tipo de proyecto. Si se elige Visual Basic, Visual C#, las plantillas se pueden dividir en tres: Para Windows, para Web (Aplicaciones, Servicios, Librera de Clases, Librera de Controles, proyecto Vaci) y de Consola. En el caso de elegir como tipo de proyecto Visual Basic y como plantilla Windows Application hay que seleccionar la ubicacin del nuevo proyecto y escribir el nombre de este, el cual crear una carpeta con el mismo nombre en el lugar seleccionado. A continuacin la figura 2.6 muestra el IDE compartido de Visual Studio .NET en el caso de elegir una Aplicacin para Windows. Figura 2.6: IDE Compartido de Visual Basic .NET
1 2

8 7

9 5

http://www.palacinp.es.tl

Pgina 23

Visual Basic 2008

Entre las partes del nuevo IDE de Visual Studio .NET tenemos: 1. men Bar. 2. Toolbars. 3. Server Explorer Windows (Ctrl. + Alt + S). 4. Toolbox (Ctrl + Alt + X). 5. Output Window (Ctrl + Alt + O). 6. Status Bar. 7. Window Form Designer. 8. Solution Explorer Window (Ctrl + R). 9. Properties Window (F4). 10. Search Window (Ctrl + Alt + F3). 11. Dynamic help Window (Ctrl + F1). Existen nuevas ventanas en Visual Studio .Net entre las cuales tenemos:       Class View (Ctrl. + Shift + C). Resource View (Ctrl + Shift + E). Macro Explorer (Alt + F8). Document Outline (Ctrl + Alt + T). Task List (Ctrl + Alt + K). Command Window (Ctrl + Alt + A).

Administracin de ventanas El manejo de ventanas en Visual studio .NET es ms simple y rpido pudiendo acceder a cualquier elemento de manera fcil debido a nuevas ventanas, tales como:  Auto ocultar: Esta caracterstica es nueva en Visual Studio .NET y permite ocultar una ventana permitiendo liberar espacio en el IDE, para mostrar nuevamente la ventana solo hay que ubicar el Mouse cerca del nombre de la ventana que aparece en una ficha.  Ventanas acoplables: Al igual que visual Basic 6, esta nueva versin permite acoplar ventanas las cuales estn fijas en el IDE. Podemos elegir si una ventana se va a Auto ocultar o si se va a acoplar . Al acoplar la ventana tendremos la posibilidad de ver siempre su contenido.  Fichas de Documentos: En la versin anterior de Visual Studio .NET el trabajo con varios documentos era tedioso porque para acceder un documento abierto (por ejemplo un mdulo de informacin) haba que hacerlo mediante el men WINDOWS o dando clic en el botn View Code o doble clic sobre el nombre del objeto. Ahora el acceso es muy rpido a travs de las fichas que hay en la parte superior del Editor.  Navegacin a travs de IDE: Podemos navegar a travs de los documentos visitados usando la barra web, pudiendo ir hacia Atrs , Adelante , Detener ,

http://www.palacinp.es.tl

Pgina 24

Visual Basic 2008

Actualizar , Ir al inicio como si se tratase de un Browser y si navegramos a travs de pginas web, lo que facilita la bsqueda de una pgina ya abierta.
y

Ventana de Ayuda Rpida: Una de las caractersticas mas importantes de Visual Studio .NET es la ayuda inteligente o ayuda rpida que permite mostrar una ventana todos los tpicos relacionados a donde se encuentre el cursor (si esta en el editor) o al objeto seleccionado (si estamos en el diseador del formulario), por ejemplo, si estamos en el editor escribiendo una funcin aparecern los tpicos relacionados a esta, si nos encontramos seleccionando un control, aparecern los temas referentes a este.

Todas estas nuevas caractersticas hacen que el trabajo del desarrollador sea mas productivo, centrndose en la lgica de la aplicacin y no en el mantenimiento de esta ya que es mas fcil al utilizar las nuevas caractersticas de Administracin de ventanas, anteriormente comentadas.

DISEADORES: Para realizar la construccin de aplicaciones o creacin de componentes o servicios disponemos de diseadores que facilitan la labor de construccin de interfaces, creacin de sentencias, etc. La mayora de diseadores se habilitan al elegir una plantilla de Visual Studio.NET y casi todos generan cdigo al disear controles sobre el contenedor respectivo, caractersticas totalmente distintas a la forma de trabajo en Visual Basic 6.0, que ocultaba el cdigo generado por el diseador. Entre los diseadores que trae Visual Studio.NET tenemos: Windows Form Designer: Se muestra al elegir cualquiera de dos plantillas Windows Application o Windows Control Lybrary , habilitando en el toolbox ,os controles para Windows que sern usados para construir la interfase de la aplicacin arrastrando dichos controles hacia el formulario o control de usuario. Web Form Designer: Se muestra al elegir la plantilla Web Application Habilitando en el toolbox los controles para Web y los controles HTML que sern usados para construir la pagina Web que correr en el IIS (Archivo aspx) arrastrando dichos controles hacia el formulario Web. Component Designer: este diseador se muestra a elegir una de dos plantillas: Class Library o Windows Service y tambin trabaja con los controles para Windows, creando una interfase re usable desde otra aplicacin. Web Service Designer: Sirve para disear servicios Web y es mostrado al elegir una plantilla Web Service , tambin trabaja con los controles para Windows, componentes, etc.

http://www.palacinp.es.tl

Pgina 25

Visual Basic 2008

Existen mas diseadores, pero que lo trataremos en la categora de herramientas de datos, debido al tipo de trabajo que realizan los datos, el cual se trata como tema siguiente:

HERRAMIENTA DE DATOS: Si se quiere realizar un trabajo rpido con datos, tal como modificar la estructura de la Base de datos, crear tablas, consultas, procedimientos almacenados, etc., existen herramientas que permiten realizar esta labor reduciendo enormemente el proceso de desarrollo en el caso de hacerse por otros medios. Entre las principales herramientas que trabajan con datos tenemos: Server Explorer: Sin duda una de las principales herramientas de Visual Studio .NET y no solo para acceder datos sino para mostrara y para administrar los diferentes servidores o recursos del sistema tales como Base de Datos, Servicios Web, Aplicaciones COM, etc. Con solo arrastrar el objeto este puede ser usado en una aplicacin. Tambin se tratara con mayor detalle en el modulo de acceso a datos. Data Adapter Wizard: Es un asistente que permite crear un Data Adapter que es un comando (Select, Insert, Update, Delete) con el cual se podr generar un conjunto de registros o Dataset. La misma funcin puede ser cubierta por el Server Explorer con solo arrastrar los campos hacia el formulario. Query Designer: Es un diseador que permite crear consultas SQL de manera sencilla arrastrando tablas o consultas sobre este y eligiendo los campos que se vern en la consulta de datos, tambin se puede realizar filtros o especificar criterios de seleccin. Adems no solo se pueden construir consultas SELECT sino tambin se pueden crear consultas INSERT, UPDATE o DELETE, etc. DataBase Project: Es un tipo de plantilla que sirve para trabajar con una Base de datos, para lo cual debe existir una conexin o un origen de datos, este tipo de proyectos da la posibilidad de crear y modificar scripts de creacin de tablas, consultas, vistas, desencadenantes, procedimientos almacenados, etc. Editor de Scripts: Uno de los mas principales herramientas para trabajar con base de datos remotas como SQL Server, Oracle, etc, es utilizar el editor de scripts que permite crear tablas, consultas, vistas, etc. Mostrando con colores las sentencias o palabras reservadas del lenguaje Transact-SQL.

http://www.palacinp.es.tl

Pgina 26

Visual Basic 2008

Depurador de Procedimientos Almacenados: Visual Studio .NET incorpora un apurador de Store Procedure que puede realizar seguimiento paso a paso por lnea de cdigo, por sentencia o por instruccin, adems crea puntos de interrupcin, permitiendo un mayor control y seguimiento del cdigo en caso de errores.

Todas estas herramientas mencionadas, son nuevas en Visual Studio .NET, a excepcin del Quero Builder que es el mismo de la versin anterior de Visual Studio. Como se habr dado cuenta muchas herramientas de acceso a datos de Visual Basic 6 han sido eliminadas, tales como: data Enviorment, Data View, Data Report, y otras ms, pero en su reemplazo existen las que ya hemos mencionado.

http://www.palacinp.es.tl

Pgina 27

Visual Basic 2008

Sesin 3 Visual Basic .NET

En esta Sesin se tratarn los siguientes temas: 1. Introduccin a Visual Basic .NET 2. Caractersticas del lenguaje y Tipos de datos. y Variables. y Arreglos Procedimientos. 3. Manejo de Threads y Introduccin de los Threads y Implementacin de los Threads y Estado de una Thread 4. Depuracin y Barras de Depuracin y Ventanas de Depuracin 5. Control de Excepciones y Tipos de Errores y Formas de Controlar Excepciones y Opciones de Control de Excepciones

Introduccin a Visual Basic .NET

http://www.palacinp.es.tl

Pgina 28

Visual Basic 2008

En los mdulos anteriores hemos tratado el Marco .NET ahora trataremos Visual Basic .NET, pero hay que remarcar que las caractersticas del lenguaje dependen del marco .NET, y las herramientas son compartidas por el IDE de Visual Studio .NET. Visual Basic :NET es la versin 7 de esta popular herramienta, esta ultima versin tiene cambios radicales, tanto en su concepcin (.NET), en el lenguaje, las herramientas usadas, etc. Entre las nuevas caractersticas de Visual Basic .Net tenemos: Dos tipos de desarrollos bien desarrollos bien diferenciados: y Aplicaciones para Windows y Aplicaciones para Internet Acceso a datos usando ADO.NET el cual permite Nuevo depurador que permite realizar seguimientos de cdigo escrito en diferentes lenguajes .NET. Creacin y uso de XML para intercambio de datos entre aplicaciones. Lenguaje Orientado a Objetos, con soporte de Herencia mltiple, y polimorfismo a travs de la sobrecarga de propiedades, mtodos y funciones con el mismo nombre. Control de errores o excepciones en forma estructurada (Try..catch..Finally) Soporte de Multithread para que la ejecucin pueda ejecutar mltiples tareas en forma independiente. Uso de NameSpaces para referirse a una clase que se va usar en la aplicacin. Los Assemblies reemplazan a la Librera de Tipos, en un Assemblie pueden existir uno o ms NameSpces. Reestructuracin en los Tipos de Datos; existen nuevos tipos de datos y se han modificado y eliminado cierto tipo de datos. Cambio con el Lenguaje: nuevas formas de declarar variables, conversin explicita de tipo de datos (no existe conversin forzosa), no existen procedimientos sino funciones, etc.

Caractersticas del lenguaje

http://www.palacinp.es.tl

Pgina 29

Visual Basic 2008

Tipo de Datos Tipo V. Basic Boolean Byte Char Date Decimal Estructura tipo .Net Runtime System.Boolean System.Byte System.char System.dateTime System.decimal Tamao Almacenado 4 bytes 1 Byte 2 Bytes 8 Bytes 12 bytes Rango de valores Trae o False

0 a 255 (sin signo) 0 a 65535 (sin signo) Entero 1,1 CE Hasta Diciembre 31,9999 +/79,228,162,514264,337,593,543,950,3 35 sin punto decimal; numero mas corto (no 0) es: +/0.0000000000000000000000000001 Double System.double 8 bytes -1.79769313486231E308 hasta (doble4.94065645841247E-324 para valores presicion negativos; 4.94065645841247E-324 punto-flot.) hasta 1.79769313486232E308 para valores positivos Integer System.int32 4 bytes -2,147,483,684 to 2,147,483,647 Long System.int64 8 bytes -9,223,372,036,854,775,808 hasta 9,223,372,036,854,775,807 Object System.object 4 bytes Cualquier tipo de dato Short System.int16 2 bytes -32,768 a 32,767 Single (simple System.single 4 bytes -3.402823E38 hasta -1.4401298E-45 precision para valores negativos; 1.4401298 punto-flot.) hasta 3.402823E38 para valores positivos. String System.string(class 10 bytes + 0 hsta aproximadamente 2 billones de (tamao-var.) ) (2*tamao cd) caracteres Unicote User-Defined (heredado desde Suma de Cada miembro de la estructura tiene un type system.value type) tamaos rango determinado, es decir pueden (estructura) tener sus propios tipos de datos distintos uno de otros. Notas: Se ha eliminado el tipo de dato variant y es reemplazado por Object, tambin el dato currency ahora es decimal y el Type ahora es Structure. Adems no existen String de tamao fijo, sino que todos dinmicos.

Variables: http://www.palacinp.es.tl Pgina 30

Visual Basic 2008

Una variable es un dato temporal en memoria que tiene un nombre, un tipo de dato, un tipo de vida y un alcance, los cuales lo dan forma como se declare esta Una variable debe cumplir con las siguientes reglas. - Debe iniciar con carcter alfabtico. - Debera contener solo caracteres alfabticos, dgitos y carcter de subrayado - El el nombre no debe exceder a 255 caracteres, etc. Declaracin de Variables: A diferencia de Visual Basic 6 en VB .NET se puede declarar varias variables en una sola instruccin y adems se pueden asignar directamente sus valores. Otra observacin es que es necesario definir el tipo de declaracin y el tipo de dato (antes si no se hacia se asuma un tipo de declaracin y un tipo de dato variant, que ahora no existe). Sintaxis:<tipo de declaracion><variables(s)>As<Tipo de Dato>[=<Valor>] Existen varios tipos de declaracin que detallamos a continuacin en la siguiente tabla: Declaracin Public Protected Friend Private Dim Static Lugar de Declaracin Modulo o clase Clase Clase Modulo Procedimiento Procedimiento Alcance o mbito Global, en todo el proyecto En la clase declarada o en una derivada En el Assemblie Solo en el modulo Solo en el procedimiento Solo en el procedimiento

Alcance de las variables: Para las variables declaradas a nivel de procedimiento (Dim y Static) existe un nuevo alcance que es a nivel de estructura o bloque, que puede ser For-Next, If-Enf If, Do-Loop, etc. Las variables definidas dentro de un bloque solo valdrn en este bloque. Opciones de trabajo: Por defecto en VB.NET es necesario declarar las variables usadas (Option Explicit) y tambin es necesario que asigne el mismo tipo de dato a la variable (Option Strict), si deseamos Declaracin Implcita (por defecto Object) y conversin forzosa de tipos (ForeCast), aunque no es recomendable por performance, podemos conseguirlo de dos formas: mediante Propiedades del proyecto, opcion Build y elegir Off en las listas de Option Explicit y Option Strict o mediante declaracin al inicio de todo el cdigo. Option Explicit Off Option Strict Off

http://www.palacinp.es.tl

Pgina 31

Visual Basic 2008

Arreglos: Un array o arreglo es un conjunto de variables que tienen el mismo nombre pero diferentes ndice que permite simplificar el uso de estas y aumentar la velocidad de acceso a los datos que almacena el array. El array puede tener uno mas dimensiones (hasta 60) y cada dimensin tiene un limite inferior que siempre es 0 y un limite superior que es equivalente al tamao de la dimensin del array menos 1. Esta caracterstica es distinta que en la versin anterior, en donde el limite inferior del array podra empezar en cualquier numero. La clase base :NET de donde se heredan los Array y pertenece al siguiente NameSpace: System.array. Declaracin de Arrays: A diferencia de Visual Basic 6, en VB.Net se puede declarar e inicializar un array que no tiene tamao definido. Otra diferencia es que no exista la sentencia Option base que haga que el limite inferior del array empiece en 0 o 1, este siempre empezara en 0 e ira hasta n-1. Sintaxis: <Tipo de declaracin><Array>([Tamao])As<Tipo de Dato>[=<Valores>] Ejemplo: Dim Alumnos(30), Cursos(10) as String Dim Edades() as byte={18,20,25,27} Dim Sueldos( , )As decimal Redimensionando Arrays Una vez definido la dimensin de un array, este puede modificarse usando las sentencias ReDim, siempre y cuando el array haya sido declarado como dinmico (con Dim). Sintaxis: Redim [Preserve]<Array>([Tamao])As<tipo de Dato>[<=valores>] Ejemplo: Dim I, Arreglo() As Integer Redim Arreglo(5) For I=0 to Ubound(Arreglo) Arreglo(I)=I Next I

Procedimientos: Un procedimiento es un bloque de cdigo o conjunto de instrucciones que es definido en la aplicacin y que puede ser usado varias veces mediante una llamada.

http://www.palacinp.es.tl

Pgina 32

Visual Basic 2008

Dos caractersticas nuevas de los procedimientos, incorporadas en esta versin son: Recursividad: Es la capacidad del procedimiento para llamarse a si mismo. Sobrecarga: Consiste en que varios procedimientos pueden tener el mismo nombre. En Visual Basic tenemos varios tipos de procedimientos: Subrutinas: Ejecutan una accin sin retornar un valor. Funciones: Ejecutan una accin retornando un valor. De Eventos: Se desencadenan con la interaccin del usuario a algn evento. De Propiedades: Devuelven y asignan valores a propiedades de un objeto.

Declaracin de un Procedimiento: Subrutina: [Public|Private|Friend] Sub <Nombre>([Optional][By Val|By Ref] <Par> As<Tipo> ) <Sentencia> [Exit Sub] Function: [Public|Private|friend] Function <Nombre>(<parmetros>) As <Tipo> <Sentencia> [Exit Function] [<Nombre>=<Valor>|return(Valor)] End Function Notas: - El tipo de argumento por defecto es By Val (En la versin anterior era ByRef) - Si se usa Optional debe inicializarse con un valor (antes no era obligatorio) - Se puede usar return para regresar a la llamada del procedimiento. LLAMADA A UN PROCEDIMIENTO: Antes exista una forma de llamar a una subrutina y dos formas de llamar funciones (o como subrutina o como funcin, esta ultima mediante parntesis). En cambio ahora, existe una sola forma de llamar procedimientos, sea subrutinas o funciones, que escribiendo el nombre seguido de parntesis y entre estos los parmetros (si los hay). Sintaxis:

http://www.palacinp.es.tl

Pgina 33

Visual Basic 2008

[Variable=]<Nombre de la Sub o Function>([Parmetro(s)]) MANEJO DE THREADS Introduccin a los Threads Un Thread es la unidad bsica para que el sistema operativo pueda ejecutar un proceso. Una aplicacin (AppDomain) siempre inicia un solo thread, pero este a su vez puede iniciar otros threads. Al proceso de ejecutar varios threads, la llamaremos threading. La ventaja principal de los threads es tener varias actividades ocurriendo en forma simultnea, lo cual es una gran posibilidad para que los desarrolladores puedan trabajar con varios procesos sin perjudicar otras tareas. Por ejemplo, el usuario pueda interactuar con la aplicacin mientras se va ejecutando una consulta de miles de registros. Se recomienda el uso de Threads en las siguientes situaciones: - Para comunicaciones sobre una red, servidor Web o Servidor de Base de Datos. - Al ejecutar operaciones que demoren bastante tiempo. - Para mantener siempre disponible la comunicacin entre el usuario y la interfase, mientras se van ejecutando tareas en segundo plano, etc. El uso de Threads intensivamente disminuye los recursos del sistema operativo, por tanto solo se recomienda usar en los casos ya descritos, sino la performance de la aplicacin disminuir. Implementacin de Threads Para implementar Threads se usa el NameSpace: System.threading.Thread y luego se hace uso de los mtodos que se definen a continuacin: Star: Inicia un Thread, el cual es un proceso de llamada asncrona. Para saber el estado del Thread hay que usar las propiedades Threadstate y IsAlive. Abort: Cancela un Thread iniciado, si deseamos saber el estado nuevamente podemos usar las propiedades ThreadState y IsAlive. Sleep: Ocasiona una pausa en milisegundos del bloqueo de instrucciones. Suspend: Tambin ocasiona una pausa en el bloque de instrucciones. Resume: Reinicia una pausa originada con el mtodo Suspend. Interrupt: Interrumpe una pausa originado una excepcin. Join: Espera un Thread.

Estado de un Thread Un Thread puede tener diferentes estados en un mismo tiempo, para saber su estado se encuentra la propiedad ThreadState que devuelve un valor que indica el estado actual Thread.

http://www.palacinp.es.tl

Pgina 34

Visual Basic 2008

Accin Otro Thread llama a Thread.start El Thread inicia su ejecucin El Thread llama a Thread.Sleep El Thread llama a Monitor. Espera en otro objeto El Thread llama a thread.join en otro Thread Otro Thread llama a Thread.Suspend El Thread responde a un requerimiento de Thread.Suspend Otro Thread llama a Thread.resume Otro Thread llama a Thread.Interrupt Otro Thread llama a Thread.Abort El Thread responde a Thread.Abort

Estado de Transicin Unchanged Running WaitSleepJoin WaitSleepJoin waitSleepJoin SuspendRequest Suspended Running Runnig Abort.Request Aborted

Depuracion La depuracin es el proceso de realizar un seguimiento a una aplicacin para analizar variables, expresiones, objetos, etc. Y probar sus valores en diferentes escenarios, as como probar el desempeo de su aplicacin En VB.NET, existe un mismo depurador para Visual Basic.NET y C# (Cdigo Administrativo), el cual tiene las siguientes mejoras: Depurar a travs de diferentes lenguajes: Se puede depurar aplicaciones escritas en diferentes lenguajes que son parte de una misma solucin, por ejemplo una aplicacin cliente para la interfase de usuario escrita en visual Basic o C# y una aplicacin servidor escrita en Visual C++. Adjuntar Programas en Ejecucin: es posible adjuntar un programa que se esta ejecutando al depurador, y depurar el programa como si tuviera en el IDE de Visual Studio. Esto se realiza a travs de la ventana de Procesos, que muestra todos los procesos que estn ejecutndose mientras se corre una aplicacin. Depuracin remota: Se puede aadir y depurar un proceso que esta ejecutndose en una computadora remota, por ejemplo podemos depurar una aplicacin cliente Windows que llama a una Web service que esta corriendo en otra maquina, pudiendo depurar a este Web service como si estuviera en la maquina donde esta corriendo la aplicacin cliente. Depuracin de Aplicaciones Multi Thread: Una nueva caracterstica del Visual Basic es el soporte de aplicaciones Multi Thread, para lo cual se dispone de la ventana de Thread en donde se muestra los Threads que se encuentren en ejecucin. Depuracin de Aplicaciones Web: Esta caracterstica ha sido mejorada, permitiendo adjuntar una pagina ASP.NET al proceso que se encuentra en ejecucin, que puede ser una aplicacin Web y realizar el proceso de depuracin de la pagina como si estuviera en la computadora local, etc.

http://www.palacinp.es.tl

Pgina 35

Visual Basic 2008

Barras de depuracin: Contiene los comandos para realizar la depuracin, como el seguimiento paso a paso, fijar puntos de interrupcin, mostrar las ventanas de depuracin, etc. Ventanas de Depuracin: Son ventanas donde se muestra el estado en que se encuentra las variables, procedimientos, objetos, etc. Algunas permiten el anlisis o inspeccin y otras la visualizacin o modificacin de estado de objetos. Barras de Depuracin Existen 2 barras de depuracin que a continuacin se describen:

Barra de Depuracin: Es el principal barra que contiene todos los comando de depuracin (34 total), desde ejecutar una aplicacin hasta fijar desensamblar. Figura 3.2 barra de depuracin

Inicia la ejecucin de la aplicacin. Ejecuta la aplicacin sin entrar en depuracin


y y y y y y y y y y y y y y y y y y y y y

Interrumpe la ejecucin e ingresa al modo pausa Finaliza la ejecucin de la Aplicacin Quita todas las aplicaciones anexadas Reinicia nuevamente la ejecucin de la aplicacin. Aplica los cambios realizados al cdigo si es que esta modo pausa. Ejecuta paso a paso incluyendo procedimientos Ejecuta paso a paso sin incluir procedimientos Retrocede al paso anterior en un seguimiento paso a paso. Line indica el tipo de depuracin paso a paso, puede ser por lnea (por defecto), por sentencia o por instruccin. Pasa a la siguiente sentencia a depurarse Ejecuta la sentencia o lnea especificada por el cursor del Mouse en una ventana Inserta un punto de interrupcin donde se detendr la ejecucin Habilita o deshabilita un punto de interrupcin previamente insertado Borra o elimina todos los puntos de interrupcin fijado Visualiza la ventana Breakpoints Presenta las ventana excepciones para controlar errores Muestra la ventana de documentos ejecutndose Visualiza la ventana autos Presenta la ventana local Muestra la ventana This que contiene la clase actual Activa la ventana Watch conteniendo las expresiones de anlisis

http://www.palacinp.es.tl

Pgina 36

Visual Basic 2008

y y y y y y y y y y

Visualiza la ventana Inmediate Presenta la ventana CallStack o de llamada a Pila Muestra la ventana Threads Activa la ventana de Mdulos Visualiza la ventana de proceso de ejecucin Presenta la ventana Quick Watch o de anlisis rpido Muestra la ventana de contenido de memoria Muestra la ventana del desensamblador de cdigo Visualiza la ventana de registros del procesador Presenta la venta del desensamblador para fijar cursor

Barra de Ubicacin de Depuracin: Es una nueva barra que muestra informacin de la aplicacin que se esta depurando, tal como el nombre del programa, el thread y el procedimiento que se encuentra en ejecucin (en la pila).

Control de excepciones Durante el desarrollo y ejecucin de una aplicaron pueden presentarse diferentes tipos de errores, los cuales impiden el normal funcionamiento de la aplicacin. A estos errores se les llama excepciones. Tipo de Errores Lo errores o excepciones se pueden clasificar en 3 tipos Error de Sintaxis: Suceden al escribir el cdigo en la aplicacin. Una ayuda para corregir errores de sintaxis , es usar la sentencia Option Explisit que fuerce a declarar variables y evitar expresiones invalidas. Errores Lgicos: Ocurre una vez usada la aplicacin y consiste en resultados inesperados o no deseados. Tambin podemos disminuir errores o excepciones de tipos de datos no deseados usando la sentencia Option Strict que evita la conversin forzosa y verifica que el tipo de dato asignado sea del mismo tipo que la variable o funcin, o que un parmetro pasado sea del mismo tipo, etc. Errores de tiempo de ejecucin: Este tipo de error sucede en plena ejecucin de la aplicaron, despus de haber sido compilado el cdigo. Existen 2 formas de controlar errores o excepciones en VB .Net.: Control no estructurado: se implementa usando la sentencia On Error GoTO. Inicio Procedimiento() On Error GoTo <Etiqueta> <Instrucciones> Exit Sub <Etiqueta>:

http://www.palacinp.es.tl

Pgina 37

Visual Basic 2008

<Instrucciones> [Resume | resume next | Resume etiqueta] Fin procedimiento Control Estructurado: Es la forma mas recomendable de controloas errores y es una nueva caracteristica de visual Basic .NET; la estructura es la siguiente: Inicio Procedimiento() Try <Instrucciones Try> [Exit Try] [Catch 1[<Excepcion>[As<Tipo dato>]][When <Excepcion>]] <Instrucciones Catch 1> [Exit Try] [Catch 2[<Excepcion>[As<Tipo dato>]][When <Excepcion>]] <Instrucciones Catch 2> [Exit Try] . . . [Catch n[<Excepcion>[As<Tipo dato>]][When <Excepcion>]] <Instrucciones Catch n> [Exit Try] Finaly <Instrucciones Finaly> End Try Fin Procedimiento Opcin del Control de Excepciones Figura Ventana Excepciones

http://www.palacinp.es.tl

Pgina 38

Visual Basic 2008

http://www.palacinp.es.tl

Pgina 39

Visual Basic 2008

Sesin 4 Creando Aplicaciones para Windows

En esta Sesin se tratarn los siguientes temas: 1. Usando Windows Forms y Introduccin. y Objeto formulario y Uso del ToolBox 2. Usando controles para Windows Forms y Controles label, texbox y button y Controles groupbox,radiobutton y checkbox y Controles listbox, checkedlistbox y combobox 3. Interfaces y Introduccin y Creando aplicaciones MDI y Controles treeview y ListView 4. Aadiendo Menus, Dialogos y Barras y Mens y Dilogos y Barras

http://www.palacinp.es.tl

Pgina 40

Visual Basic 2008

Usando Windows Forms Introduccin Windows es una clasa base del marco .NET usada para crear aplicaciones que corrern sobre Windows, esta se encuentra disponible al elegir en Visual Basic la plantilla Windows Aplication . Al elegir una aplicacin para Windows automticamente se realizan los siguientes cambios: En el toolBox aparecer una ficha llamada Windows Forms conteniendo los controles para trabajar con formularios Windows y controles de usuario. En el cdigo del formulario aparecer la referencia a la clase base heredad: Inherits System.Windows.Forms.Form Para ilustrar la funcionalidad que podemos obtener de Windows tenemos la figura 4.1, que resume los principales objetos usados en Windows, para lo cual se parte de la clase base llamada System , luego se muestran algunos de los objetos de la clase Drawing y de la clase Winforms anteriormente comentadas. Figura 4.1: Modelo de Objetos para Windows Windows

Forms

Form Textbox Clipboard Screen

Cabe comentar que dentro de la clase Windows encontramos definido el formulario y los controles para Windows (Label, button, textbox, men, etc), as como tambin objetos no visuales de utilidad como Application (reemplaza al objeto App de VB6), clipboard, help, Screen, etc.

Objeto formulario

http://www.palacinp.es.tl

Pgina 41

Visual Basic 2008

El objeto formulario es el contenedor principal de toda la aplicacin para Windows y se encuentra en el siguiente NameSpace: System.Windows.Forms.Form En Visual Studio .NET el formulario ha sufrido muchos cambios, tanto en propiedades, mtodos y eventos, tal como se encuentra en los siguientes cuadros. Propiedades PROPIEDAD Autoscroll BackColor BackGroundImage BorderStyle ControlBox Cursor Font ForeColor Gridsize Icon IsMDIcontainer Location Opacity RightToLeft Size StarPosition Text TopMost WindowState http://www.palacinp.es.tl

DESCRIPCIN Es una nuevo propiedad que permite desplazarse pro el formulario a traves de una barra si es que los controles sobrepasa en area del cliente Especifica el color de fondo del formulario Antes llamada Picture permite mostrar una imgen de fondo sobre el formulario Si esta en true muestra el men de controles de la barra de titulo, si esta ne false no los muestra Espercifia el cursor que aparecera al situar el Mouse sobre el formulario. Antes era propiedad Mouse printer Configura la fuente de los textos de los controles excepto textbox de los textos mostrados Especifica el color del texto de los controes excepto del textbos y de los textos mostrados con metodos de dibujo Determina el tamao de las rehilklas que se muestra en tiempo de diseo para disear controles Indica el icono del formulario, este se muestra en la barra de titulo de la ventana Determina si es que el formulario es un MDI, antes se creaba un formulario MDI aadiendo el men Project Indica la posicin del formulario con respecto a la esquina superior izquierda de la pantalla, antes habia que configurar la propiedad top y left Es una nueva propiedad, que indica la forma de visualizacion del formulario, que puede ser desde opaco 100% hasta transparente Determina la alineacin de los textos con respecto a sus controles por defecto es no, es decir se alinean de izquierda a derecha, si es true de derecha a izquierda Configura el tamao del formulario en pixeles Indica la posicin en que aprarecera por primera vez en el formulario con respecto a la pantalla Antes se llamaba caption y permite mostrar el texto de la barra de titulo en el formulario Posiciona en primer plano la ventana, siemrpe y cuando no este desactivada Determina la forma en que se presenta la ventana puede ser Pgina 42

Visual Basic 2008

Normal Minimizada o Maximizada Metodos MTODO Activate ActivateControl Close Focus Hide Refresh setLocation SetSize Show ShowDialog Eventos EVENTO Activated Clic Closing Closed Deactivated DoubleClick Gotofocus Load Lostfocus Mouseenter MouseLeave Move Paint Resize

DESCRIPCIN Activa el formulario y le da el foco Activa un control del formulario Cierra el formulario descargandolo de la memoria Pone el foco sobre el formulario Oculta el formulario sin descargarlo de la memoria Repinta el formulario y sus controles Ubica el formulario en cierta posicin de la pantalla Configura el tamao de la ventana en pixeles Muestra un formulario como ventana no modal Muestra un formulario como ventana modal

DESCRIPCIN Ocurre al activarse el formulario Se desencadena al dar clic con el Mouse sobre el formulario Ocurre mientras se esta cerrando el formulario Se habilita al cerrar el formulario es similar al evento unload Ocurre al desactivarse el formulario Se desencadena al dar Doble clic en el Mouse sobre el formulario Ocurre al ingresar el foco sobre el formulario Se produce al cargar los controles del formulario Ocurre al salir el foco del formulario Se habilita al ingresar el Mouse sobre el rea cliente del formulario Se habilita al salir el Mouse sobre el rea cliente del formulario Este evento se habilita al mover la ventana o formulario Ocurre al pintarse la ventana en pantalla Ocurre cada vez que se modifica de tamao el formulario

Uso del ToolBox El ToolBox es la caja de herramientas donde se encuentran los controles que se van ha usar para disear la interface de los diferentes tipos de aplicaciones, este varia de acuerdo al tipo de plantilla elegida. A continuacin se presenta el Toolbox cuando una plantilla Windows Forms , Components y General . Figura 4.2: ToolBox para aplicaciones Windows

http://www.palacinp.es.tl

Pgina 43

Visual Basic 2008

Para usar un control del ToolBox solo hay que elegir la ficha adecuada y luego seleccionar el control y arrastrarlo sobre el formulario o contenedor sobre donde se desea ubicarlo, tambin se puede dar doble clic sobre el control y aparecer por defecto en la posicin 0,0 del formulario (antes se ubicaba al centro del este). Usando controles para Windows Forms Controles Label, TextBox y Button Control Label Propiedades PROPIEDAD Anchor Autosize BacckColor BorderStyle Cursor Dock Enabled Font

DESCRIPCIN Es una nueva propiedad que permite ajustar el ancho del control Ajusta el texto de la etiqueta al tamao del control Especifica el Color de fondo de la etiqueta Controla la apariencia del borde de la etiqueta. Tiene 3 opciones Especifica el cursor que aparece al situar el Mouse sobre la etiqueta Da la posibilidad de acoplar la etiqueta a un lado del contenedor, puede ser arriba, abajo, izquierda, derecha o al centro. Habilita o deshabilita la etiqueta Configura la fuente del text de la etiqueta

http://www.palacinp.es.tl

Pgina 44

Visual Basic 2008

Forecolor Location Locked Right ToLeft Size Text TextAlign Visible

Especifica el color del texto de la etiqueta Indica la posicin de la etiqueta con respecto a su contenedor Bloquea el control para que no se mueva o modifique de tamao Determina la alineacin del texto con respecto al control Configura el tamao del control en pixeles Visualiza el texto de la etiqueta Alinea el texto hacia el control, sea: izquierda, derecha o centro Visualiza o no el control

Mtodos MTODO FindForm Focus Hide Refresh SetLocation SetSize Show Eventos EVENTO Clic DoubleClick GotFocus LostFocus MouseEnter MouseLeave Mouse Move

DESCRIPCIN Devuelve el formulario en que se encuentra el control Pone el foco sobre la etiqueta Oculta la etiqueta, sin descargarla de la memoria Repinta la etiqueta Ubica la etiqueta en una cierta posicin de la pantalla Configura el tamao de la etiqueta Pone visible la etiqueta

DESCRIPCIN Se desencadena al dar clic con el Mouse sobre la etiqueta Se desencadena al dar doble clic con el Mouse sobre la etiqueta Ocurre al ingresar el foco sobre el control Ocurre al salir el foco del control Se habilita al ingresar el Mouse sobre la etiqueta Se habilita al salir el Mouse de la etiqueta Se desencadena al pasar el Mouse sobre la etiqueta

Control TextBox Propiedades PROPIEDAD Charactercasing Lines MaxLength MultiLine PasswordChar ReadOnly ScrollBars WordWrap Mtodos

DESCRIPCIN Nueva propiedad que convierte a maysculas o minsculas el texto. Muestra el contenido de cada lnea del texto. Determina el nmero de caracteres que se pueden ingresar en este. Si es trae se pueden escribir varias lneas de texto. Seala el carcter que aparecer como mscara de entrada Indica que el control solo se puede ver pero no editar. Antes se llamaba Locked. Habilita las barras de desplazamiento si el control es multilnea. Cambia de lnea al llegar al final de un texto multilnea.

http://www.palacinp.es.tl

Pgina 45

Visual Basic 2008

MTODO Append Text Clear Copy Cut Paste Reset text Select Undo Eventos EVENTO Key Down Key Press Key Up TextChanged Validated Validating Control Boton Propiedades PROPIEDADES Name BackGroundImage DialogResult FlatStyle Image ImageAlign

DESCRIPCIN Aade texto al final del texto actual Borra el contenido del cuadro de texto Copia el texto y lo enva al portapapeles Corta el texto y lo enva al portapapeles. Pega el texto del portapapeles al cuadro. Inicializa el texto Selecciona el texto. Deshace el ltimo cambio en el texto

DESCRIPCIN Ocurre al pulsar hacia abajo una tecla extendida Ocurre al pulsar una tecla normal Ocurre al soltar una tecla extendida previamente pulsada Es un nuevo evento que reemplaza al evento Change Rehabilita despus de validarse el control Se habilita cuando el control esta validndose

DESCRIPCIN Generalmente usaremos el prefijo btn Especifica la imagen de fondo que usara el botn Determina el valor del formulario padre si se da clic sobre el botn Determina el estilo o apariencia del control. Tiene 3 valores Imagen que se mostrara en el control Alineacin de la imagen dentro del control

Mtodos MTODO NotifyDefault Performeclick Eventos EVENTO Clic GetFocus

PROPIEDAD Indica si el botn serpa el control por defecto. Es de tipo lgico Ejecuta el evento clic del botn

DESCRIPCIN Se desencadena al dar clic con el Mouse sobre la etiqueta Ocurre al ingresarse el foco sobre el

http://www.palacinp.es.tl

Pgina 46

Visual Basic 2008

LostFocus Mouseenter MouseLeave

botn Ocurre al salir el foco del botn Se habilita al ingresarse el Mouse sobre el botn Se habilita al salir el Mouse del botn

Controles Groupbox, RadioButton, y Chekbox Control GroupBox Antes conocida como Frame, es un contenedor que se utiliza para agrupar varias opciones que pueden ser de opcin nica como el RadioButton o de opcin mltiple como los CheckBox Este control se utiliza como contenedor y por si solo no tiene mucha funcionalidad es por eso que solo veremos sus principales mtodos y eventos. Propiedades PROPIEDAD Name Enabled Text Visible Mtodos MTODO Focus Hide Show Eventos EVENTO GetFocus LostFocus

DESCRIPCIN Generalmente utilizaremos el prefijo GBX Determina si el botn esta habilitado o deshabilitado Indica que se mostrara como encabezado del control Muestra y oculta el control y todo su contenido

DESCRIPCIN Pone el foco sobre el control Oculta el control, sin descargarlo de la memoria Pone visible el cuadro de grupo

DESCRIPCIN Ocurre al ingresar el foco sobre el control Ocurre al salir el foco del control

Control RadioButton Antes conocido como OptionButton, es un control en que solo se puede seleccionar uno por contenedor Propiedades PROPIEDAD Name Apperance AutoCheck CheckAlign Checked

DESCRIPCIN Generalmente usaremos el prefijo rbn Controla la apariencia del control, puede ser normal Cambia de estado cada vez que se da clic al boton Controla la alineacin del boton Indica si el boton ha sido seleccionado o no

http://www.palacinp.es.tl

Pgina 47

Visual Basic 2008

Metodos MTODO Focus Hide Show

DESCRIPCIN Pone el foco sobre el radiobutton Oculta el radiobutton Muestra el radiobutton

Eventos EVENTO CheckedChanged Clic DoubleClick Control CheckBox

DESCRIPCIN Ocurre al cambia la propiedad checked del radiobutton Se desencadena al dar clic con el Mouse sobre el boton Se desencadena al dar doble clic con el mouse

Este control mantiene el mismo nombre anterior, es un contro que se puede seleccionar varios por contenedor Propiedades PROPIEDAD Name Apperance AutoCheck CheckAlign Checked CheckState ThreeState

DESCRIPCIN Generalmente usaremos el prefijo chk Controla la apariencia del control, puede ser normal Cambia de estado cada vez que se da clic al boton Controla la alineacin del boton Indica si el boton ha sido seleccionado o no Devuelve el estado del checkbox que puede ser sin marca o marcado Habilita o deshabilita el estadoindeterminado del checkbox vez que se el tercer click

Metodos MTODO Focus Hide Show Eventos

DESCRIPCIN Pone el foco sobre el checkbox Oculta el checkbox sin descargarlo de memoria Pone visible el control

EVENTO CheckedChanged CheckedStateChanged

DESCRIPCIN Ocurre al cambia el valor de la propiedad checked del control Ocurre al cambiar el valor de la propiedad CheckedStateChanged del control

http://www.palacinp.es.tl

Pgina 48

Visual Basic 2008

Controles ListBox, CheckedListBox y ComboBox Control ListBox Propiedades PROPIEDADES Name ColumnWidth HorizontalExtent HorizontalScollBar Integral height ItemHeight tems MultiColumn ScrollAlwaysVisible SelectionMode Sorted SelecteIndex Mtodos MTODOS findString FindStringExact GetSelected

DESCRIPCIN Generalmente usaremos el prefijo lst Indica el ancho de cada columna en una lista de varias columnas Indica el ancho mismo en pxeles que se requiere para que aparezca la barra horizontal Muestra u culta la barra de desplazamiento horizontal de la lista Determina que las opciones de la lista se vean en forma completa Devuelve el Alto en pxeles de cada elemento de la lista Es la principal propiedad y se refiere a los elementos de la lista Indica si los elementos se pueden ver en varias columnas Visualiza siempre las 2 barras de desplazamiento Determina la forma de seleccin Ordena la lista en forma ascendente Devuelve o establece el ndice del elemento seleccionado

DESCRIPCIN Devuelve el ndice de un elemento buscado en una lista. Sino existe devuelve -1 y si existe devuelve un numero mayor que Realiza una labor similar al mtodo anterior pero compara con exactitud la cadena Devuelve True si un elemento ha sido seleccionado o False sino

Eventos EVENTOS DoubleClick SelectedIndexChanged

DESCRIPCIN Ocurre al dar dos veces clic sobre la lista Ocurre al cambiar el ndice del elementos seleccionado

Collection Items Para trabajar con los elementos de una lista se hace uso de la coleccin tems, la cual se detalla a continuacin Propiedades PROPIEDADES All Count

DESCRIPCIN Devuelve un objeto con todos los elementos de la lista Devuelve el numero de elementos de la lista

http://www.palacinp.es.tl

Pgina 49

Visual Basic 2008

Mtodos MTODOS Add Clear Insert Remove

DESCRIPCIN Aade un elemento al final de la lista Borra todos los elementos de la lista Inserta un elementos en la posicin indicada por el ndice Elimina un elemento de la lista de acuerdo a su ndice

Control CheckedListBox Es un nuevo control que antes se obtena configurando la propiedad style del control ListBox a Checked. Como es smil al control ListBox solo mencionaremos las caractersticas distintas que tiene el control CheckListBox Propiedades PROPIEDADES Name CheckedOnClick ThreeDChekBox Mtodos MTODOS GerItemChecked GetItemCkeckState SetitemChjecked SetItemCheckState Eventos EVENTOS ItemCheck SelectedIndexChanged

DESCRIPCIN Generalmente usaremos el prefijo ckl Establece si el control podr ser fijado la primera vez al dar clic Indica si la apariencia de los tems se mostrara en 3D o plano

DESCRIPCIN Devuelve True si un cierto tems ha sido seleccionado o False si no Devuelve el valor de la propiedad CkeckState Establece o quita la seleccin de un cierto elemento Establece la propiedad CheckState de un cierto elemento

DESCRIPCIN Ocurre al seleccionar un elemento y poner el Check en true Ocurre al seleccionar otro elemento

Control ComboBox Propiedades PROPIEDADES Name tems maxDropDownitems Maxlenght

DESCRIPCIN Generalmente usaremos el prefijo cbo Es la principal propiedad y se refiere a los elementos del combo Indica el mximo numero de elementos que se mostraran al desplegarse el combo Determina el mximo numero de caracteres que se podrn escribir

http://www.palacinp.es.tl

Pgina 50

Visual Basic 2008

Sorted Style SelectedIndex Text Mtodos MTODOS FindString FindStringExact Eventos EVENTOS Clic DoubleClick SelectedindexChanged

Ordena los elementos del combo en forma ascendente Especifica el tipo de combo que puede ser. Simples dropdown, y dropdownlist Devuelve o establece el ndice del elemento seleccionado Se refiere al texto escrito en el cuadro del combo

DESCRIPCIN Devuelve el ndice de un elemento buscado en el combo. Sino existe devuelve -1 y si existe devuelve un numero mayor que 1 Realiza una labor similar al mtodo anterior pero compara con exactitud la cadena

SelectionChangeCommited TextChanged|

DESCRIPCIN Ocurre al dar clic con el Mouse a un elemento de la lista Se da al dar dos veces clic sobre un elemento de la lista Ocurre cuando al cambiar el ndice del elemento seleccionado Se da cuando se selecciona un elemento del combo Ocurre al cambiar la propiedad Text del combo

Coleccin tems La coleccin de tems del combo es similar a la del ListBox Propiedades PROPIEDADES All Count Mtodos MTODOS Add Clear Insert Remove Interfaces Introduccin Una interfase es el medio de comunicacin entre 2 entidades, en nuestro caso, la interfase sirve de enlace entre el usuario y la aplicacin.

DESCRIPCIN Devuelve un objeto con todos los elementos del combo Devuelve el numero de elementos del combo

DESCRIPCIN Aade un elemento al final del combo Borra todos los elementos del combo Inserta un elemento en la posicin indicada por el ndice Elimina un elemento del combo de acuerdo a su ndice

http://www.palacinp.es.tl

Pgina 51

Visual Basic 2008

En la evolucin de la computacin se indica con interfaces de texto o de consola, las cuales predominan desde los iniciaos de la computacin hasta casi la mitad de la dcada de los 80. Luego aparecen las interfaces graficas Desde que trabajamos en ambiente Windows, las interfaces han ido evolucionando de acuerdo a la facilidad del usuario para acceder a los elementos de la aplicacin y entre las principales interfaces tenemos:  SDI (Single Documento Interfase): interfase de Simple Documento, muestra una sola ventana con un cierto documento en la aplicacin, el acceso a las ventanas es secuencial, por lo que no estn recomendable. Algunas aplicaciones con SDI son los accesorios de Windows.  MDI (MLTIPLE DOCUMENT INTERFASE). Interfase de Mltiples Documentos, muestra varios documentos en sus respectabas ventanas, que aparecen sobre una ventana principal. El acceso a las ventanas es directo porque generalmente en la ventana padre existe un men. Algunas aplicaciones con MDI son los programas de Office, Word y Excel.  TREEVIEW LISTVIEW(Vista de rbol Lista) Muestra los elementos de aplicacin en un rbol y en el lado derecho muestra una lista con los detalles, puede mostrarse junto a un SDI, como en el caso del explorador de archivos de Windows o puede mostrarse junto a un SDI como en el caso del ENTERPRISE MANAGER DE SQL SERVER 6 Con la evolucin de Internet tambin se distinguen diferentes tipos de interfaces en el browser, pero no se tocan en este capitulo, si no que nos centraremos en la creacin de interfaces para aflicciones Windows. Creando Aplicaciones MDI Una aplicacin MDI consta de dos partes: un formulario MDI padre y uno o mas formularios MDI hijos, la creacin de ambos es muy sencilla en VB.NET CREANDO UN FORMULARIO MDI PADRE Para crear formulario MDI padre solo hay ISMDICONTAINER del formulario a True

que

configurar

la

propiedad

A diferencia de la versin anterior esta versin permite colocar cualquier control Winform dentro del formulario MDI, pero esto har que los formularios hijos se muestren en segundo plano ya que en primer plano se vern los controles del formulario MDI padre

CREANDO UN FORMULARIO MDI HIJO Para crear un formulario MDI hijo solo que configurar la propiedad parent disponible solo en tiempo de ejecucin del formulario hijo apuntado al formulario padre y luego usar Show para mostrarlo

http://www.palacinp.es.tl

Pgina 52

Visual Basic 2008

Protected Sub mnuArchivo_Nuevo_Click(ByVal sender as ..) Dim x As New frmHijo() x.MDIparent = fmrPadre x.Show() End Sub ORGANIZANDO FORMULARIO MDI HIJO Si es que se desea organizar los formularios MDI hijos se debe usar el mtodo layoutMDI del formulario MDI padre junto con una constante de tipo MDILayout que tiene 4 valores: ArrageIcons, Cascade, TileHorizntal y TileVertical. A continuacin se muestra como ordenar en cascada los formularios MDI hijos FrmPadre.LayoutMDI(MDILayout.Cascade) CONTROLES TREE VIEW Y LISTVIEW Estos 2 controles casi siempre trabajan juntos, uno muestra los elementos de la paliacin y el otro su contenido o detalle. Antes estaban disponibles como controles ActiveX, ahora en estn disponibles como WinForm Trabajando con el ImageList Para llenar una lista de imgenes realice los siguientes pasos: y Doble clic al control ImageList del ToolBox y se mostrara en la parte inferior del diseador de formularios y Configurar la propiedad Name usando el prefijo Ils seguido del nombre y la propiedad ImageSize que define el tamao de la imgenes y Seleccionar la propiedad Image que es una coleccin y pulsar sobre el botn , entonces aparecer el dialogo Image Collection Editor en el cual se aadirn las imgenes con el botn Add y se eliminaran con Remove

http://www.palacinp.es.tl

Pgina 53

Visual Basic 2008

TRABAJANDO CON EL TREEVIEW El trabajo con el treeView es mas sencillo en VB.NET para lo cual realiza lo siguiente y Llenar un IMAGELIST con las imgenes que se usaran en el TreeView y Dar doble clic al control TreeView y configurar la propiedad Name escribiendo el prefijo tvw seguido del nombre. y Configurar la propiedad ImageList eligiendo el nombre de la lista Imgenes y Seleccionar la propiedad Nodes que es una coleccin y pulsar sobre el botn aparecer el dialogo TreeNode Edito y Para crear un nodo principal dar clic en el botn Add Root luego seleccionar el nodo y escribir en Label el texto que ira en el nodo, finalmente en las lista imgenes y SelecteImgae elegir la imgenes que se vern en el nodo y Para crear un nodo hijo dar clic en el botn AddChild y llenar las lista

http://www.palacinp.es.tl

Pgina 54

Visual Basic 2008

TRABAJANDO CON EL LISTVIEW El trabajo con el ListView es similar al del TreeView, realizando los siguientes pasos y Llenar dos imagelist con las imgenes que se usaran en el ListView, para vista de iconos grandes y otro de iconos pequeos y Dar doble clic al control ListView y configurar la propiedad Name escribiendo el prefijo Lvw seguido del nombre y Configurar las propiedades LargeImageList y SmallImageList eligiendo el nombre de las lista de imgenes grande y pequea respectivamente y Seleccionar la propiedad LIstItems que es una coleccin y pulsar sobre el botn aparecer el dialogo en el cual se aadirn tems con el botn aadir y eliminaran con remove y Para aadir un ListItem clic add y escribir en Text el testo del item, en Index indicar el ndice de la imagen de las lista. Adems de llenar la coleccin de tems tambin se debe llenar la coleccin de columnas.

http://www.palacinp.es.tl

Pgina 55

Visual Basic 2008

Aadiendo Mens Dilogos y Barras Una vez creada la interfase de la paliacin ,k es necesario aumentar caractersticas que ayuden a facilitar al usuario, tales como mens que permitan organizar opciones, dialogazo que permitan elegir opciones rpidamente. Mens Un men muestra un conjunto de opciones distribuidas y organizadas de acuerdo a categoras que el usuario defina 1. Mens Principales: se acoplan en algn extremo del formulario, generalmente en la parte superior de este 2. Mens Contextuales: tambin llamados flotantes, generalmente se muestran al dar clic derecho sobre algn objeto y su contenido varia de acuerdo al contexto Control Main Men Permite crear un men principal para lo cual se realizaran los siguientes pasos y Dar doble clic sobre el control MainMenu del ToolBox y se mostraran 2 objetos uno en la parte superior del formulario que es donde se crearan las opciones del men y otro en la parte inferior del diseador de formularios que representa a todo el men Para crear una opcin del men solo hay que escribir directamente donde dice TypeHere, luego configuramos el nombre de la opcin del men Para crear una opcin que se aun separador simplemente en el Text escribir

y y

http://www.palacinp.es.tl

Pgina 56

Visual Basic 2008

Despus de crear todas las opciones del men principal escribir cdigo para cada opcin generalmente en el evento clic. Aunque si deseamos realizar una accin como mostrar un mensaje al pasar por la opcin puede usar el evento Select.

CONTROL CONTEXT MEN Se usa para crear un men contextual para lo cual se realizaran los siguientes pasos y Dar doble clic sobre el control contextMenu del ToolBox y se mostrara 2 objetos uno en la parte superior de formulario que es donde se crearan las opciones del men y otro en la parte inferior del diseador de formulario que representa a todo el men contextual y La creacin de las opciones del men contextual es similar a la creacin del men principal aunque si se desea crear un men contextual de un solo nivel las opciones se deben crear en forma horizontal pero se vern en forma vertical y Finalmente el men contextual debe mostrarse al dar clic derecho sobre un cierto objeto generalmente un control, antes se consegua esto programando con el evento MouseDown del objeto, ahora solo configuramos la propiedad ContextMenu del objeto asignndole el objeto men contextual

DILOGOS Controles OpenFileDialog y SaveFileDialog Estos controles se usan para facilidad el trabajo con archivos, el primero se refiere al dialogo de abrir archivos y del segundo al guardar archivos que en la versin anterior estaban disponibles como controles ActiveX Propiedades PROPIEDADES Name AddExtension checkFileExist CheckPathExist CreatePrompt DefaultEx FileName Filter FilterIndex

DESCRIPCIN Para el OpenFileDialog generalmente usaremos el prefijo odg Para el SaveFileDialog usaremos sdg Aade automticamente la extensin al nombre de archivo Checkea que exista el archivo antes de regresar el dialogo Chequea que exista la ruta del archivo antes de regreses del dialogo Solo para el dialogo guardar, si la propiedad es true pide informacin al usuario cuando el archivo es creado Indica la extensin por defecto del archivo Indica el archivo escrito o seleccionado del dialogo Especifica el tipo de archivo que se mostrara en el dialogo Determina el ndice del filtro del dialogo, este empieza en 1 y depende de la lista Pgina 57

http://www.palacinp.es.tl

Visual Basic 2008

Inicialdirectory Multiselect Overwirte Readonlychecked Restoredirectory ShowHelp Title Validatenames

Muestra un cierto directorio inicial parta los archivos del dialogo Solo para el dialogo abrir. Determina si se pueden seleccionar varios archivos Solo para el dialogo abrir Solo para el dialogo abrir, determina el estado del checkbox readonly en el dialogo abrir Controla si el dialogo restaura el directorio actual antes de cerrarse Visualiza o no el botn de ayuda en el dialogo Indica el titulo a mostrarse en la barra de titulo Controla que el nombre del archivo no tenga caracteres invlidos

Mtodos MTODOS Openfile Showdialog Eventos

DESCRIPCIN Devuelve un stream indicando el archivo abierto en el dialogo de abrir o grabado Muestra el dialogo del archivo sea de abrir o de guardar EVENTOS

Fileok

DESCRIPCIN Ocurre al dar clic sobre le botn OK del dialogo de archivo

Control Fontdialog Este control se usa para mostrar el dialogo de fuente y poder acceder a sus caractersticas como el tipo de fuente, tamaos estilos y efectos. Propiedades PROPIEDADES Name Allowscriptchange Color Fontmustexist Maxsize Minsize Scriptsonly Showapply Showcolor Showeffects Mtodos MTODOS Showdialog

DESCRIPCIN Generalmente usaremos el prefijo fdg Controla si el conjunto de caracteres de fuente puede ser cambiado Devuelve el color de la fuente seleccionado Indica si se mostrara un reporte de error Mximo tamao de la fuente en puntos Mnimo tamao de la fuente en puntos Controla si excluir los caracteres OEM y smbolos Determina si se vera el botn de aplicar el dialogo Indica si se mostrara el color elegido Muestra el cuadro de efectos que trae

DESCRIPCIN Muestra el dialogo de la fuente

http://www.palacinp.es.tl

Pgina 58

Visual Basic 2008

Eventos EVENTOS Apply

DESCRIPCIN Ocurre al dar clic sobre el botn aplicar del dialogo fuente

Control ColorDialog Este color se usa para mostrar el dialogo de colores y poder acceder a sus caractersticas como seleccionar un color slido o personalizado Propiedades PROPIEDADES Name Allowfullopen Anycolor FullOPen Showhelp Solidcoloronly Mtodos MTODOS Showdialog Eventos EVENTOS Helprequested

DESCRIPCIN Generalmente usaremos el prefijo cdg Habilita o no el botn de personalizar colores Controla si cualquier colore puede ser seleccionado Determina si la seccin de colores personalizados ser inicialmente vista Visualizad o no el botn de ayuda Controla si solo los colores solidos pueden ser seleccionado

DESCRIPCIN Muestra el dialogo de colores

DESCRIPCIN Ocurre al dar clic sobre el botn de ayuda del dialogo de color

BARRAS Las barras son muy importantes en una aplicacin ya que permite mostrar algunos accesos directos como el estado en que se encuentra la aplicacin Control Toolbar Sirve para crear una barra de herramientas para lo cual se realizan los siguientes pasos y Llenar un imagelist con la imgenes que se usaron en el toolbar y Dar doble clic al control toolbar y configurar la propiedad imagelist eligiendo el nombre de la lista de imgenes y Seleccionar la propiedad buttons que es una coleccin y pulsar sobre el botn aparecer el dialogo y Para crear un botn dar clic en el botn add luego dosificar las propiedades imageindex para indicar el ndice de la imagen a mostrar opcionalmente escribir un comentario y Finalmente programar en el evento buttonclick las acciones de los botones

http://www.palacinp.es.tl

Pgina 59

Visual Basic 2008

Control Statusbar Se usa para crear una barra de estado para lo cual se realizan los siguientes pasos y y y y y y Dar doble clic al control estatus bar y configurar la propiedad name escribiendo sbr seguido del nombre Configurar la propiedad show panel Seleccionar la propiedad panels que es una coleccin y pulsar sobre el botn aparecer el dialogo statusbarpanels Para crear un panel dar clic en el botn add y luego modificar sus propiedades tales como alineacin, borderstyle, icon, style, text, Si se desea realizar alguna tarea al dar clic programar el evento panelclick

http://www.palacinp.es.tl

Pgina 60

Visual Basic 2008

Nota: en esta versin de Visual Basic los paneles no traen una propiedad que permita mostrar automticamente el estado de las teclas capslock, numlock, o que muestre la fecha y hora

http://www.palacinp.es.tl

Pgina 61