Está en la página 1de 23

Programacin con

Visual Basic .NET


1 Plataforma .NET
Francisco Ruiz
Manuel ngel Serrano
Escuela Superior de Inform
Informtica
Universidad de CastillaCastilla-La Mancha

Programaci
Programacin con Visual Basic .NET

Contenidos sesin 1
Plataforma .NET

Objetivos
Estrategias de desarrollo e
implantaci
implantacin
.NET Framework
Entorno de Ejecuci
Ejecucin com
comn
Biblioteca de clases com
comn
Tipos de aplicaciones

Introducci
Introduccin al Visual Studio
.NET (VS.NET)

Demo de uso

UCLM-ESI. Programacin con Visual Basic .NET

Primer programa: "Hola


Mundo
Mundo

Creaci
Creacin y ejecuci
ejecucin
Cdigo generado
Archivos en disco

VS.NET Aspectos avanzados

Demo

Segundo programa:
Preguntar usuario
usuario

Escribiendo c
cdigo

1. 2

Plataforma .NET

Qu es .NET?

Una arquitectura tecnolgica para la creacin y


distribucin de software como servicio.

Servicio en cualquier plataforma, cliente en cualquier


dispositivo, programaci
programacin en cualquier lenguaje, integraci
integracin
basada en est
estndares.

Qu incluye?

.NET Framework, infraestructura para la creacin y


ejecucin de las aplicaciones.
Visual Studio .NET, entorno de desarrollo integrado
(IDE).
Otros servicios.

UCLM-ESI. Programacin 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. Programacin 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. Programacin con Visual Basic .NET

1. 5

Plataforma .NET

Objetivos fundamentales (iii)

Soporte

multilenguaje

UCLM-ESI. Programacin con Visual Basic .NET

1. 6

Plataforma .NET

Objetivos fundamentales (iv)

Soporte multi-plataforma

Proyecto Rotor

Common Language Infraestructure (CLI)


Cdigo 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
Implementacin open source del .NET Framework
Compilador de C#, VB.NET, CLR, librer
librera de clases, etc.
Linux, S390, SPARC, HPPA
Implementa ADO.NET, ASP.NET, etc.
www.gowww.go-mono.com

UCLM-ESI. Programacin con Visual Basic .NET

1. 7

Plataforma .NET

Objetivos fundamentales (v)

Basado en estndares

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


comn CIL
Lenguaje de programaci
programacin C#

UCLM-ESI. Programacin con Visual Basic .NET

1. 8

Plataforma .NET

Estrategias de Desarrollo (i)


Facilitar la integraci
integracin 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


Comn
Biblioteca de Clases base comunes

Redefinir soluciones preexistentes como servicios


Simplificar la forma de programar mediante

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

UCLM-ESI. Programacin 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
programacin

.NET Framework
RAD,
Composici
Composicin,
Delegaci
Delegacin

VB Forms

OOP,
Potencia,
Potencia,
Expresividad

MFC/ATL

Web,
Est
Estndar,
ndar,
En HTML

ASP

Windows API
UCLM-ESI. Programacin con Visual Basic .NET

1. 10

Plataforma .NET

Estrategias de Implantacin (i)


Instalaci
Instalacin de impacto cero

Aplicaciones y componentes compartidos o privados

Coexistencia de varias versiones del mismo componente

Ejecuci
Ejecucin sideside-byby-side
side

Ensamblados (Assemblies)

Colecci
Coleccin de funcionalidad creada, versionada e implantada como una unidad
unidad de
implementaci
implementacin nica (incluyendo uno o varios archivos)
Son autodescriptivos
En tiempo de ejecuci
ejecucin se resuelven las referencias entre componentes, se
garantiza la pol
poltica 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
compilacin con otros ensamblados
los tipos y recursos que forman el ensamblado
el conjunto de permisos para ejecutarse apropiadamente

UCLM-ESI. Programacin con Visual Basic .NET

1. 11

Plataforma .NET

Estrategias de Implantacin (ii)


Ventajas de los Ensamblados:

No son necesarios m
ms archivos para usar el componente
No m
ms archivos de cabeceras, IDL, librer
libreras de tipos, ...
Se reduce la dependencia del Registro
No m
ms infierno de las DLLs
DLLs: se evitan las faltas de
sincronismo entre una librer
librera compartida respecto de la
aplicaci
aplicacin que la invoca
Sistema de nombres robusto
AutoAuto-reparaci
reparacin de aplicaciones

UCLM-ESI. Programacin 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 Ejecucin Comn (CLR)


Biblioteca de clases bsicas
Motor de generacin de interfaces de usuario

Web (ASP .NET)


Tradicionales Windows (Windows Forms)
Forms)

Especificacin de Lenguaje Comn (CLS)

UCLM-ESI. Programacin 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. Programacin con Visual Basic .NET

Visual Studio.NET

Common Language Specification

COM+ Services
1. 14

Entorno de Ejecuci
Ejecucin Com
Comn

Common Language Runtime (CLR) (i)

Es un motor encargado de la gestin del cdigo de las


aplicaciones en cuanto a su

Carga
Ejecuci
Ejecucin
Manipulaci
Manipulacin de memoria
Seguridad
Etc.

En tiempo de ejecuci
ejecucin

Servicios que proporciona:

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

En tiempo de desarrollo

Gesti
Gestin del tiempo de vida, nominaci
nominacin de tipos robusta,
tratamiento de excepciones multilenguaje,
multilenguaje, gesti
gestin de eventos
basada en delegados, enlace din
dinmico, ..

UCLM-ESI. Programacin con Visual Basic .NET

1. 15

Entorno de Ejecuci
Ejecucin Com
Comn

Common Language Runtime (CLR) (ii)


Sistema de Tipos Comn (CTS)
Soporte Threads

Componentes

Control Tipos

Gestor Excepciones

Motor Seguridad

Motor Depuracin

Lenguaje
Intermedio (IL)

Gestor
de cdigo

Recolector
de basura

Carga de clases y disposicin en memoria


UCLM-ESI. Programacin con Visual Basic .NET

1. 16

CLR

Lenguaje intermedio IL
VB
Cdigo
Nativo

VC

Cdigo
generado
instalaci
instalacin

...

Script

IL

Common Language Runtime


Econo
Econo-JIT
Compilador

Standard JIT
Compilador

Cdigo Nativo
UCLM-ESI. Programacin con Visual Basic .NET

1. 17

CLR

Compilacin y ejecucin
Compilacin
Cdigo
Fuente

Compilador
Lenguaje

Cdigo
nativo

Compilador
JIT
Ejecucin

UCLM-ESI. Programacin con Visual Basic .NET

Cdigo IL

Ensamblado
Metadatos

Al instalar o la
primera vez que cada
mtodo es llamado
1. 18

CLR

Sistema de Tipos Comn (CTS) (i)

Common Type System

Conjunto est
estndar de tipos y reglas para crear nuevos tipos
Integraci
Integracin multimulti-lenguaje:

Heredar implementaciones de clases escritas en otros lenguajes


Invocar excepciones de c
cdigo entre lenguajes
Depurar transparentemente

No m
ms versiones de librer
libreras para cada lenguaje o compilador!
No m
ms librer
libreras 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. Programacin con Visual Basic .NET

1. 19

CLR

Sistema de Tipos Comn (CTS) (ii)

Categoras de tipos

UCLM-ESI. Programacin con Visual Basic .NET

1. 20

CLR

Sistema de Tipos Comn (CTS) (iii)

UCLM-ESI. Programacin con Visual Basic .NET

1. 21

Biblioteca de clases comn (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. Programacin con Visual Basic .NET

System

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

Biblioteca de clases comn (ii)


Lo que v el desarrollador

Un API formada por un conjunto de bibliotecas de clases


comunes, orientadas a objetos, jer
jerrquicas y extensibles que

Las clases est


estn organizadas de forma l
lgica y jer
jerrquica en
namespaces
namespaces

proveen soporte completo para la programaci


programacin de diversos tipos
de aplicaciones
permiten herencia entre lenguajes, gesti
gestin de errores y
depuraci
depuracin

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

No es necesario aprender m
mltiples modelos de objetos:

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

UCLM-ESI. Programacin con Visual Basic .NET

1. 23

Especificaci
Especificacin de Lenguaje Com
Comn

Common Language Specification (CLS)


VB

C++

C#

J#

Cobol

Common Language Specification


ASP.NET

Conjunto de caractersticas

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
Integracin entre lenguajes
Apertura a nuevos lenguajes

UCLM-ESI. Programacin 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 (aplicacin web cliente-servidor)


XML Web Service (servicio web)

UCLM-ESI. Programacin con Visual Basic .NET

1. 25

Tipos de Aplicaciones

De Consola

Ejecutables de lnea de comandos


Escritos con cualquier lenguaje .NET
Ejecucin desatendida
Muy ligeros

Hola Mundo ~ 5k

UCLM-ESI. Programacin con Visual Basic .NET

1. 26

Tipos de Aplicaciones

Windows Service

Aplicaciones windows no interactivas.


Escritas con cualquier lenguaje .NET
Incluyen el cdigo para el comienzo, el fin y

mientras se ejecuta.
Tipos de comienzo:

Manual
Automtico
Deshabilitado

UCLM-ESI. Programacin 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
Instalacin

XCopy
NoNo-tocar (!todav
(!todava ms fcil que con XCopy!)
XCopy!)

Ejecutar desde una URL

Impresin

Configuraci
Configuracin de pginas
Previsualizaci
Previsualizacin

UCLM-ESI. Programacin 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. Programacin con Visual Basic .NET

1. 29

Tipos de Aplicaciones

Web Application
Mucho menos cdigo

Con Web Forms que con ASP cl


clsico

Estilo de programacin a lo VB
Controles para validar entradas
Controles complejos mejorados

DataGrid
DataList
Calendar

Cookies no requeridos

Sesiones seguras

Traza y depuracin mejoradas


Caching ms potente
Ms eventos detectables

UCLM-ESI. Programacin con Visual Basic .NET

1. 30

Tipos de Aplicaciones

XML Web Service


Evolucin de aplicaciones y sitios web

Interacciones seguras

Nueva metodologa de integracin

Entre cualquier sistema operativo y/o lenguaje


Olvidando procolos propietarios (Java RMI, CORBA IIOP,
DCOM)

Componentes de aplicacin programables

Accesibles via protocolos Internet est


estndares
HTTP, XML, SOAP, WSDL, UDDI

Soporte provisto por el Framework

Generaci
Generacin autom
automtica de XML, SOAP, WSDL
Conversi
Conversin autom
automtica de un componente en Web Service
(WebMethod)
WebMethod)

UCLM-ESI. Programacin con Visual Basic .NET

1. 31

VS.NET

Introduccin 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 aplicacin


Abierto

se pueden a
aadir nuevos lenguajes o nuevas herramientas.

Integracin con arquitectura COM

UCLM-ESI. Programacin con Visual Basic .NET

1. 32

Introduccin al VS.NET

Demo de uso (i)


Pgina de inicio

Editar Mi perfil
perfil
Ver recursos en llnea
nea
Proyectos (nuevo / abrir)

Aplicaci
Aplicacin 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


(pestaas)
Ventanas combinadas

UCLM-ESI. Programacin con Visual Basic .NET

1. 33

Introduccin al VS.NET

Demo de uso (ii)

Agregar nuevos elementos a un proyecto

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

Configuracin del entorno


Estados de las ventanas

Acoplable / Ocultar / Flotante / Ocultar autom


automticamente

Explorador de soluciones

Soluci
Solucin: colecci
coleccin de proyectos abiertos en una misma sesi
sesin
de trabajo.
Para cada proyecto muestra sus elementos: Formularios,
mdulos, clases, recursos, referencias, etc.

References => referencias a los espacios de nombres usados


AssemblyInfo.vb => informaci
informacin del Ensamblado

UCLM-ESI. Programacin con Visual Basic .NET

1. 34

Introduccin al VS.NET

Demo de uso (iii)

Propiedades de un proyecto
Propiedades de la solucin
Agregar un control a un formulario
Men contextual
Ventana de propiedades

Formulario / control

UCLM-ESI. Programacin con Visual Basic .NET

1. 35

Primer programa Hola Mundo

Creacin y ejecucin

1. Crear un nuevo proyecto de Visual Basic, tipo


2.
3.

Aplicacin para Windows


Aadir un formulario (clase de objeto visual)
Editar sus propiedades
text <- Programa de prueba 1
1

4. Aadir un control de tipo label

(clase de objeto visual

incrustado dentro de un formulario)

5. Editar sus propiedades


text <- Hola Mundo
Mundo
font <- MS Sans Serif,
Serif, 20 pt

6. Ejecutar la aplicacin
UCLM-ESI. Programacin con Visual Basic .NET

1. 36

Primer programa Hola Mundo

Cdigo generado
1. Ver c
cdigo

Expandir/contraer regiones

2. Clase del formulario


Un formulario es un objeto => una clase

3. El m
mtodo constructor New()
New()
Se hereda de la clase base (padre)

4. El m
mtodo InitializeComponent()
InitializeComponent()
Crea un nuevo objeto Label
Asigna valores a las propiedades del Label
Asigna valores a las propiedades del Form
Aade el objeto Label al Form

5. El m
mtodo Dispose()
Dispose()
Libera recursos de memoria
UCLM-ESI. Programacin con Visual Basic .NET

1. 37

Primer programa Hola Mundo

Archivos en disco

1. Ver lo que se ha creado en el disco.

Directorios de la figura

2. Tipos de Archivos:

VB: c
cdigo fuente en Visual Basic (clases, m
mdulos, etc.)
VBPROJ: informaci
informacin sobre los elementos del proyecto
SLN: soluci
solucin
VBPROJ.USER: opciones de usuario del proyecto
RESX: plantilla de recursos en XML
EXE: aplicaci
aplicacin ejecutable

Guardado en el directorio bin


Es lo nico necesario para instalar en otro equipo que tiene .NET
Framework

PDB: informaci
informacin para depuraci
depuracin

UCLM-ESI. Programacin con Visual Basic .NET

1. 38

VS.NET

Aspectos avanzados demo (i)


Cuadro de herramientas

Agregar/eliminar controles
Contenedor de c
cdigo fuente (anillo del portapapeles)

Barras de herramientas

Men
Men contextual
Personalizar

Barras personalizadas

Crear nueva
Aadir/quitar comandos

Editor de cdigo

Fuentes y colores
Otras opciones

UCLM-ESI. Programacin con Visual Basic .NET

1. 39

VS.NET

Aspectos avanzados demo (ii)


Dividir ventana edicin
Men Edicin

Buscar/Reemplazar
Ajuste de llnea
Marcadores
Mostrar espacios en blanco
Regiones y esquematizaci
esquematizacin
Comentarios en bloques de llneas
Intellisense (ayuda inteligente
inteligente al escribir c
cdigo)

Ir a definicin de procedimiento
Mostrar pantalla completa
UCLM-ESI. Programacin con Visual Basic .NET

1. 40

VS.NET

Aspectos avanzados demo (iii)


Ventana vista de clases
Ventana explorador de objetos

Buscar s
smbolo

Tareas

{Agenda para registrar trabajos pendientes}

Crear/Eliminar tareas

Comentarios / Marcadores

Ventana Lista de Tareas

Macros

Explorador
Ejecuci
Ejecucin
Grabaci
Grabacin (estilo Office)
IDE de macros

UCLM-ESI. Programacin con Visual Basic .NET

1. 41

VS.NET

Aspectos avanzados demo (iv)


Sistema de Ayuda

MSDN (Microsoft Development Network Library)


Library)
Son CD
CDs separados de los de Visual Studio .NET
Formato HTML
Ayuda din
dinmica

Contenido
ndice
Buscar
Ayuda externa al IDE
Mantener temas visibles
Documentaci
Documentacin completa
.NET Framework SDK / MSDN for Visual Studio 2003

UCLM-ESI. Programacin con Visual Basic .NET

1. 42

Segundo programa Preguntar usuario

Escribiendo cdigo (i)

1. Crear nuevo proyecto EscribirCodigo de tipo Aplicaci


Aplicacin para
2.

Windows
Windows
Aadir m
mdulo MiCodigo [contenedor de c
cdigo]
Module MiCodigo
....
End Module

3. Aadir comentario
Aplicaci
Aplicacin EscribirCodigo

4. Aadir procedimiento Main dentro de MiCodigo


Sub Main()
Main() punto de entrada a la aplicaci
aplicacin
....
End Module

5. Mostrar mensaje de inicio usando la clase del sistema MessageBox


MessageBox.Show(
MessageBox.Show(Empieza el programa
programa)

UCLM-ESI. Programacin con Visual Basic .NET

1. 43

Segundo programa Preguntar usuario

Escribiendo cdigo (ii)

6. Configurar propiedades del proyecto


Nombre ensamblado:
Espacio de nombres:
Objeto inicial:

EscribirCodigo
EscribirCodigo
Sub Main

7. Declarar la variable Nombre de tipo string


Dim Nombre As String

8. Usar funci
funcin InputBox()
InputBox() para preguntar nombre del usuario y
almacenarlo en la variable Nombre

Nombre=InputBox
(Nombre del usuario:
Nombre=InputBox(
usuario:)

9. Utilizar el operador de concatenar textos (&) para mostrar


mensaje de control

MessageBox.Show(
MessageBox.Show(El usuario es & Nombre, Programa de
prueba
prueba)

10. Ejecutar el programa y grabarlo en disco


11. Probar depuraci
depuracin errores (poner la declaraci
declaracin Dim como comentario)
UCLM-ESI. Programacin con Visual Basic .NET

1. 44

Ir pensando en la Prctica 1

Resolver ecuacin 2do grado (i)


Mostrar un formulario para preguntar los tres coeficientes de una
una
ecuaci
ecuacin de segundo grado:

A*x^2 + B*x + C = 0

Preguntar cada coeficiente en un control de tipo TextBox

Aadir un bot
botn Calcular
Calcular para obtener las soluciones invocando
al procedimiento de igual nombre.

Indicar si las soluciones son reales o imaginarias con un control


control
CheckBox.
CheckBox.
Mostrar las 2 soluciones en un control etiqueta Soluci
Solucin con texto
azul si son reales y rojo si son imaginarias.
Ejemplo formato 2 soluciones reales: 245 y 78
7823
23
Ejemplo formato 1 soluci
solucin real: -906
06
Ejemplo formato 2 soluciones imaginarias: 148+2
48+21i y 0
06363-186i
86i

Aadir un bot
botn Salir
Salir para acabar.
UCLM-ESI. Programacin con Visual Basic .NET

1. 45

También podría gustarte