visual basic .net parte 1

Programación con Visual Basic .NET 1 – Plataforma .NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informá

Views 163 Downloads 5 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Programación con

Visual Basic .NET 1 – Plataforma .NET Francisco Ruiz Manuel Ángel Serrano Escuela Superior de Informá Informática Universidad de CastillaCastilla-La Mancha

Programació Programación con Visual Basic .NET

Contenidos sesión 1 • Plataforma .NET „ „

„ „ „ „

Objetivos Estrategias de desarrollo e implantació implantación .NET Framework Entorno de Ejecució Ejecución comú común Biblioteca de clases comú común Tipos de aplicaciones

• Introducció Introducción al Visual Studio .NET (VS.NET) „

Demo de uso

UCLM-ESI. Programación con Visual Basic .NET

• Primer programa: "Hola Mundo“ Mundo“ „ „ „

Creació Creación y ejecució ejecución Código generado Archivos en disco

• VS.NET Aspectos avanzados „

Demo

• Segundo programa: “Preguntar usuario” usuario” „

Escribiendo có código

1. 2

Plataforma .NET

• ¿Qué es .NET? „

Una arquitectura tecnológica para la creación y distribución de software como servicio. „

Servicio en cualquier plataforma, cliente en cualquier dispositivo, programació programación en cualquier lenguaje, integració integración basada en está estándares.

• ¿Qué incluye? „ „ „

.NET Framework, infraestructura para la creación y ejecución de las aplicaciones. Visual Studio .NET, entorno de desarrollo integrado (IDE). Otros servicios.

UCLM-ESI. Programación con Visual Basic .NET

1. 3

Plataforma .NET

Objetivos fundamentales (i) „Nueva

manera de desarrollar software

1996 Internet 1st Gen

1997 Internet 2nd Gen

2000 Internet 3rd Gen

IE/IIS DNA/COM+ 1992 Cliente/Servidor

.NET

Win32 UCLM-ESI. Programación con Visual Basic .NET

1. 4

Plataforma .NET

Objetivos fundamentales (ii)

• Soporte multi-lenguaje „

La plataforma .NET es independiente del lenguaje „ „

„

Es posible integrar otros lenguajes y crear otros compiladores „

„

Todos los lenguajes .NET son considerados por igual Un Runtime único => mejor aprovechamiento de los conocimientos existentes Common Language Specification (CLS)

Lenguajes disponibles: disponibles: „ „

Por Microsoft: Visual Basic, C++, C#, J# Por terceros: terceros: APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk, Fortran, …

UCLM-ESI. Programación con Visual Basic .NET

1. 5

Plataforma .NET

Objetivos fundamentales (iii)

• Soporte

multilenguaje

UCLM-ESI. Programación con Visual Basic .NET

1. 6

Plataforma .NET

Objetivos fundamentales (iv)

• Soporte multi-plataforma „

Proyecto Rotor „ „ „

„

Common Language Infraestructure (CLI) Código fuente abierto, no comercial, modificable Compilar/ejecutar en FreeBSD, FreeBSD, Windows, Mac OS X http://msdn.microsoft.com /net/sscli sscli http://msdn.microsoft.com/net/

Proyecto Mono „ „ „ „

Implementació Implementación open source del .NET Framework Compilador de C#, VB.NET, CLR, librerí librería de clases, etc. Linux, S390, SPARC, HPPA Implementa ADO.NET, ASP.NET, etc. www.gowww.go-mono.com

UCLM-ESI. Programación con Visual Basic .NET

1. 7

Plataforma .NET

Objetivos fundamentales (v)

• Basado en estándares „ „

XML (XML (XML Schemas, Schemas, Xpath, Xpath, XSLT) Servicios Web „ „ „

„ „

SOAP (Simple Object Access Protocol) Protocol) UDDI (Universal Description, , Description Discovery & Integration) Integration) WSDL (Web Service Description Language) Language)

Lenguaje intermedio comú común CIL Lenguaje de programació programación C#

UCLM-ESI. Programación con Visual Basic .NET

1. 8

Plataforma .NET

Estrategias de Desarrollo (i) • Facilitar la integració integración del software permitiendo „ „ „

Diversas plataformas (Windows, UNIX, Mainframe) Diferentes middleware de componentes (DDE, COM, CORBA) Diferentes sistemas operativos

• Homogeneizar lenguajes mediante „ „

Sistema de Tipos Comú Común Biblioteca de Clases base comunes

• Redefinir soluciones preexistentes como servicios • Simplificar la forma de programar mediante „ „ „ „

Orientació Orientación a objetos plena: plena: clases, clases, interfaces, constructores, constructores, atributos, atributos, métodos, todos, herencia interinter-lenguajes, lenguajes, … Herramientas y entorno comunes para todos los desarrollos. Interoperabilidad prepre-construida (con COM, DLL’ DLL’s, etc.) Un Framework que libera al programador de muchas tareas: memoria, seguridad, etc.

UCLM-ESI. Programación con Visual Basic .NET

1. 9

Plataforma .NET

Estrategias de Desarrollo (ii) „

Paradigma de desarrollo unificado API consistente independiente del lenguaje y el modelo de programació programación

.NET Framework RAD, Composició Composición, Delegació Delegación

VB Forms

OOP, Potencia, Potencia, Expresividad

MFC/ATL

Web, Está Estándar, ndar, En HTML

ASP

Windows API UCLM-ESI. Programación con Visual Basic .NET

1. 10

Plataforma .NET

Estrategias de Implantación (i) • Instalació Instalación de impacto cero „

Aplicaciones y componentes compartidos o privados

„

Coexistencia de varias versiones del mismo componente

• Ejecució Ejecución “sideside-byby-side” side”

• Ensamblados (Assemblies) „ „ „

„

Colecció Colección de funcionalidad creada, versionada e implantada como una unidad unidad de implementació implementación única (incluyendo uno o varios archivos) Son autodescriptivos En tiempo de ejecució ejecución se resuelven las referencias entre componentes, se garantiza la polí política de enlace de versiones y se valida la integridad de los ensamblados cargados. El Manifiesto (Manifest) contiene los metadatos del ensamblado incluyendo „ „ „ „ „

la identidad del ensamblado los archivos que implementan el ensamblado las dependencias en tiempo de compilació compilación con otros ensamblados los tipos y recursos que forman el ensamblado el conjunto de permisos para ejecutarse apropiadamente

UCLM-ESI. Programación con Visual Basic .NET

1. 11

Plataforma .NET

Estrategias de Implantación (ii) • Ventajas de los Ensamblados: „ „ „ „

„ „

No son necesarios má más archivos para usar el componente No má más archivos de cabeceras, IDL, librerí librerías de tipos, ... Se reduce la dependencia del Registro No má más “infierno de las DLLs” DLLs”: se evitan las faltas de sincronismo entre una librerí librería compartida respecto de la aplicació aplicación que la invoca Sistema de nombres robusto AutoAuto-reparació reparación de aplicaciones

UCLM-ESI. Programación con Visual Basic .NET

1. 12

.NET Framework (i)

• De cara al programador, es la pieza base de

.NET, ya que proporciona las herramientas y servicios para desarrollar el software: „ „ „

Entorno de Ejecución Común (CLR) Biblioteca de clases básicas Motor de generación de interfaces de usuario „ „

„

Web (ASP .NET) Tradicionales Windows (Windows Forms) Forms)

Especificación de Lenguaje Común (CLS)

UCLM-ESI. Programación con Visual Basic .NET

1. 13

.NET Framework (ii) VB

C++

C#

J#

Cobol…

ASP.NET

Windows Forms

ADO.NET and XML Base Class Library Common Language Runtime Windows UCLM-ESI. Programación con Visual Basic .NET

Visual Studio.NET

Common Language Specification

COM+ Services 1. 14

Entorno de Ejecució Ejecución Comú Común

Common Language Runtime (CLR) (i)

• Es un motor encargado de la gestión del código de las aplicaciones en cuanto a su

„

Carga Ejecució Ejecución Manipulació Manipulación de memoria Seguridad Etc.

„

En tiempo de ejecució ejecución

„ „ „ „

• Servicios que proporciona: „

„

Gestió Gestión de memoria (incluida recolecció recolección de basura), gestió gestión de procesos, threads (hilos), garantizar seguridad, satisfacer dependencias sobre otros componentes.

En tiempo de desarrollo „

Gestió Gestión del tiempo de vida, nominació nominación de tipos robusta, tratamiento de excepciones multilenguaje, multilenguaje, gestió gestión de eventos basada en delegados, enlace diná dinámico, ..

UCLM-ESI. Programación con Visual Basic .NET

1. 15

Entorno de Ejecució Ejecución Comú Común

Common Language Runtime (CLR) (ii) Sistema de Tipos Común (CTS) Soporte Threads

Componentes

Control Tipos

Gestor Excepciones

Motor Seguridad

Motor Depuración

Lenguaje Intermedio (IL)

Gestor de código

Recolector de basura

Carga de clases y disposición en memoria UCLM-ESI. Programación con Visual Basic .NET

1. 16

CLR

Lenguaje intermedio IL VB Código Nativo

VC

Código generado instalació instalación

...

Script

IL

Common Language Runtime “Econo” Econo”-JIT Compilador

Standard JIT Compilador

Código Nativo UCLM-ESI. Programación con Visual Basic .NET

1. 17

CLR

Compilación y ejecución Compilación Código Fuente

Compilador Lenguaje

Código nativo

Compilador JIT Ejecución

UCLM-ESI. Programación con Visual Basic .NET

Código IL

Ensamblado Metadatos

Al instalar o la primera vez que cada método es llamado 1. 18

CLR

Sistema de Tipos Común (CTS) (i)

• Common Type System „ „

Conjunto está estándar de tipos y reglas para crear nuevos tipos Integració Integración multimulti-lenguaje: – – –

„ „ „ „

Heredar implementaciones de clases escritas en otros lenguajes Invocar excepciones de có código entre lenguajes Depurar transparentemente

¡No má más versiones de librerí librerías para cada lenguaje o compilador! ¡No má más librerí librerías de clases limitadas a un lenguaje concreto! Todas las implementaciones de clases, interfaces, estructuras, etc., nativas o creadas por el programador, son tipos .NET. Todos los tipos .NET son objetos. Dim sNombre As String sNombre = "coche" MessageBox.Show(sNombre.Length) ' devuelve 5

UCLM-ESI. Programación con Visual Basic .NET

1. 19

CLR

Sistema de Tipos Común (CTS) (ii)

• Categorías de tipos

UCLM-ESI. Programación con Visual Basic .NET

1. 20

CLR

Sistema de Tipos Común (CTS) (iii)

UCLM-ESI. Programación con Visual Basic .NET

1. 21

Biblioteca de clases común (i) System.Web Services Description Discovery Protocols Caching Configuration

System.WinForms

UI HtmlControls VBWebControls C++ C#

Design J#

ComponentModel Cobol…

System.Drawing

Common Language Specification Security Drawing2D Printing SessionState Imaging ASP.NET Windows Forms Text

System.Data ADO Design

Collections Configuration Diagnostics Globalization

ADO.NET and XML System.Xml SQL XSLT Serialization Base Class Library SQLTypes XPath Common Language Runtime Windows IO Net Reflection Resources

UCLM-ESI. Programación con Visual Basic .NET

System

COM+ Services Security Runtime InteropServices ServiceProcess Remoting Text Serialization Threading 1. 22

Biblioteca de clases común (ii) • Lo que vé el desarrollador „

Un API formada por un conjunto de bibliotecas de clases comunes, orientadas a objetos, jerá jerárquicas y extensibles que „ „

„

Las clases está están organizadas de forma ló lógica y jerá jerárquica en “namespaces” namespaces” „ „ „

„

proveen soporte completo para la programació programación de diversos tipos de aplicaciones permiten herencia entre lenguajes, gestió gestión de errores y depuració depuración

System, System, XML, Data (ADO .NET), Drawing, Drawing, WinForms, WinForms, Web (ASP.NET) Facilita reutilizació reutilización Evita colisiones

No es necesario aprender mú múltiples modelos de objetos: „

Visual C: MFC, Visual J++: WFC, Visual Basic: Fw

UCLM-ESI. Programación con Visual Basic .NET

1. 23

Especificació Especificación de Lenguaje Comú Común

Common Language Specification (CLS) VB

C++

C#

J#

Cobol…

Common Language Specification ASP.NET

• Conjunto de características •

comunes que deben cumplir todos los lenguajes. Su finalidad es • • •

Windows Forms

ADO.NET and XML Base Class Library Common Language Runtime Windows

COM+ Services

Independencia del lenguaje Integració Integración entre lenguajes Apertura a nuevos lenguajes

UCLM-ESI. Programación con Visual Basic .NET

1. 24

Tipos de Aplicaciones

• Aplicaciones normales: „ „ „ „

De consola Windows Service (no interactiva) Windows Form (interactiva) Windows Control Library (biblioteca de controles)

• Aplicaciones para la web: „ „

Web Application (aplicación web cliente-servidor) XML Web Service (servicio web)

UCLM-ESI. Programación con Visual Basic .NET

1. 25

Tipos de Aplicaciones

De Consola • • • •

Ejecutables de línea de comandos Escritos con cualquier lenguaje .NET Ejecución desatendida Muy ligeros „

Hola Mundo ~ 5k

UCLM-ESI. Programación con Visual Basic .NET

1. 26

Tipos de Aplicaciones

Windows Service

• Aplicaciones windows no interactivas. • Escritas con cualquier lenguaje .NET • Incluyen el código para el comienzo, el fin y •

mientras se ejecuta. Tipos de comienzo: „ „ „

Manual Automático Deshabilitado

UCLM-ESI. Programación con Visual Basic .NET

1. 27

Tipos de Aplicaciones

Windows Form

• Aplicaciones Windows interactivas • Basadas en formularios „

p.e., interfaz a bases de datos

„

Con conectores y divisores entre “frames” frames”

• SDI/MDI (multidocumento) • Estilo Explorer • Instalación „ „

XCopy NoNo-tocar (!todav (!todavíía más fácil que con XCopy!) XCopy!) „

Ejecutar desde una URL

• Impresión „ „

Configuració Configuración de páginas Previsualizació Previsualización

UCLM-ESI. Programación con Visual Basic .NET

1. 28

Tipos de Aplicaciones

Windows Control Library

• Usables en cualquier formulario con cualquier •

lenguaje. Derivados desde cualquier otro control „ „

Extender controles .NET pre-construidos. Construir nuevos controles.

• Ejemplo: „

Acceso a datos particularizado y ampliado.

UCLM-ESI. Programación con Visual Basic .NET

1. 29

Tipos de Aplicaciones

Web Application • Mucho menos código „

Con Web Forms que con ASP clá clásico

• Estilo de programación a lo VB • Controles para validar entradas • Controles complejos mejorados „

DataGrid DataList Calendar

„

Cookies no requeridos

„ „

• Sesiones seguras • • •

Traza y depuración mejoradas Caching más potente Más eventos detectables

UCLM-ESI. Programación con Visual Basic .NET

1. 30

Tipos de Aplicaciones

XML Web Service • Evolución de aplicaciones y sitios web „

Interacciones seguras

• Nueva metodología de integración „ „

Entre cualquier sistema operativo y/o lenguaje Olvidando procolos propietarios (Java RMI, CORBA IIOP, DCOM)

• Componentes de aplicación programables „ „

Accesibles via protocolos Internet está estándares HTTP, XML, SOAP, WSDL, UDDI

• Soporte provisto por el Framework „ „

Generació Generación automá automática de XML, SOAP, WSDL Conversió Conversión automá automática de un componente en Web Service (WebMethod) WebMethod)

UCLM-ESI. Programación con Visual Basic .NET

1. 31

VS.NET

Introducción al Visual Studio .NET • Entorno Integrado de Desarrollo (IDE) para .NET • Multi-lenguaje integrado „

Lo mismo se hace siempre igual, independientemente del lenguaje.

• Permite elegir los tipos de aplicación • Abierto „

se pueden añ añadir nuevos lenguajes o nuevas herramientas.

• Integración con arquitectura COM

UCLM-ESI. Programación con Visual Basic .NET

1. 32

Introducción al VS.NET

Demo de uso (i) • Página de inicio „

Editar “Mi perfil” perfil” Ver “recursos en lílínea” nea” Proyectos (nuevo / abrir)

„

Aplicació Aplicación windows, windows, biblioteca de clases, servicio web, ...

„ „

• Crear nuevo proyecto

• Elementos principales del entorno „ „ „

Menú Menú Barra de herramientas Ventana principal de trabajo „

„ „

Fichas

Ventanas desplegables (pestañ (pestañas) Ventanas combinadas

UCLM-ESI. Programación con Visual Basic .NET

1. 33

Introducción al VS.NET

Demo de uso (ii)

• Agregar nuevos elementos a un proyecto „

Windows Form, Form, Clase, Mó Módulo, Clase de componentes, Control de usuario, Dataset, Dataset, Archivo XML, ... hasta 33 diferentes

• Configuración del entorno • Estados de las ventanas „

Acoplable / Ocultar / Flotante / Ocultar automá automáticamente

• Explorador de soluciones „ „

Solució Solución: colecció colección de proyectos abiertos en una misma sesió sesión de trabajo. Para cada proyecto muestra sus elementos: Formularios, módulos, clases, recursos, referencias, etc. „ „

References => referencias a los espacios de nombres usados AssemblyInfo.vb => informació información del Ensamblado

UCLM-ESI. Programación con Visual Basic .NET

1. 34

Introducción al VS.NET

Demo de uso (iii) • • • • •

Propiedades de un proyecto Propiedades de la solución Agregar un control a un formulario Menú contextual Ventana de propiedades „

Formulario / control

UCLM-ESI. Programación con Visual Basic .NET

1. 35

Primer programa “Hola Mundo”

Creación y ejecución

1. Crear un nuevo proyecto de Visual Basic, tipo 2. 3.

“Aplicación para Windows” Añadir un formulario (clase de objeto visual) Editar sus propiedades text