Sei sulla pagina 1di 23

Programacin con

Visual Basic .NET

1 Plataforma .NET

Francisco Ruiz
Manuel ngel Serrano

Escuela Superior de Inform


Informtica
Universidad de Castilla-
Castilla-La Mancha

Programacin con Visual Basic .NET


Programaci
Contenidos sesin 1
Plataforma .NET Primer programa: "Hola
Objetivos Mundo
Mundo
Estrategias de desarrollo e Creaci
Creacin y ejecuci
ejecucin
implantaci
implantacin Cdigo generado
.NET Framework Archivos en disco
Entorno de Ejecuci
Ejecucin com
comn VS.NET Aspectos avanzados
Biblioteca de clases com
comn Demo
Tipos de aplicaciones Segundo programa:
Introducci
Introduccin al Visual Studio Preguntar usuario
usuario
.NET (VS.NET) Escribiendo c
cdigo
Demo de uso

UCLM-ESI. Programacin con Visual Basic .NET 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 1997 2000
Internet Internet Internet
1st Gen 2nd Gen 3rd Gen

IE/IIS DNA/COM+
1992 .NET
Cliente/Servidor

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
Todos los lenguajes .NET son considerados por igual
Un Runtime nico
=> mejor aprovechamiento de los conocimientos existentes
Es posible integrar otros lenguajes y crear otros compiladores
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
multi-
lenguaje

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
http://msdn.microsoft.com/net/
/net/sscli
sscli
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.go-
www.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 inter-
inter-lenguajes,
lenguajes,
Herramientas y entorno comunes para todos los desarrollos.
Interoperabilidad pre-
pre-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, OOP, Web,
Composici
Composicin, Potencia,
Potencia, Est
Estndar,
ndar,
Delegaci
Delegacin Expresividad En HTML

VB Forms MFC/ATL 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
Ejecuci
Ejecucin side-
side-by-
by-side
side
Coexistencia de varias versiones del mismo componente
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 mms archivos para usar el componente
No m
ms archivos de cabeceras, IDL, librer
libreras de tipos, ...
Se reduce la dependencia del Registro
No mms infierno de las DLLsDLLs: se evitan las faltas de
sincronismo entre una librer
librera compartida respecto de la
aplicaci
aplicacin que la invoca
Sistema de nombres robusto
Auto-
Auto-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

Common Language Specification


Visual Studio.NET

ASP.NET Windows Forms

ADO.NET and XML


Base Class Library
Common Language Runtime

Windows COM+ Services

UCLM-ESI. Programacin con Visual Basic .NET 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.
Servicios que proporciona:
En tiempo de ejecuci
ejecucin
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 Gestor Recolector


Intermedio (IL) de cdigo de basura

Carga de clases y disposicin en memoria

UCLM-ESI. Programacin con Visual Basic .NET 1. 16


CLR
Lenguaje intermedio IL

VB VC ... Script

Cdigo
Cdigo
generado IL
Nativo instalaci
instalacin

Common Language Runtime


Econo
Econo-JIT Standard JIT
Compilador Compilador

Cdigo Nativo

UCLM-ESI. Programacin con Visual Basic .NET 1. 17

CLR
Compilacin y ejecucin

Compilacin
Cdigo Compilador Cdigo IL
Ensamblado
Fuente Lenguaje Metadatos

Cdigo Compilador
nativo JIT Al instalar o la
primera vez que cada
Ejecucin mtodo es llamado
UCLM-ESI. Programacin con Visual Basic .NET 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 multi-
multi-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 System.WinForms
Services UI Design ComponentModel
Description HtmlControls
Discovery VBWebControls
C++ C# J# Cobol
Protocols System.Drawing
Common Language Specification
Caching Security Drawing2D Printing
Configuration SessionState
ASP.NET Imaging
Windows Forms Text

System.Data ADO.NET and XML System.Xml


ADO SQL XSLT
Base Class Library Serialization
Design SQLTypes XPath
Common Language Runtime
System
Windows COM+ Services
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
UCLM-ESI. Programacin con Visual Basic .NET 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
proveen soporte completo para la programaci
programacin de diversos tipos
de aplicaciones
permiten herencia entre lenguajes, gesti
gestin de errores y
depuraci
depuracin
Las clases est
estn organizadas de forma l
lgica y jer
jerrquica en
namespaces
namespaces
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 Windows Forms

ADO.NET and XML

Conjunto de caractersticas Base Class Library

comunes que deben cumplir Common Language Runtime

todos los lenguajes. Windows COM+ Services

Su finalidad es
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
SDI/MDI (multidocumento)
Estilo Explorer
Con conectores y divisores entre frames
frames
Instalacin
XCopy
No-
No-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
Sesiones seguras
Cookies no requeridos
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)
Crear nuevo proyecto
Aplicaci
Aplicacin windows,
windows, biblioteca de clases, servicio web, ...
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
Aplicacin para Windows
2. Aadir un formulario (clase de objeto visual)
3. 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
Windows
Windows
2. 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: EscribirCodigo
Espacio de nombres: EscribirCodigo
Objeto inicial: 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=InputBox(
(Nombre del usuario:
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 controlcontrol
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
063-
63-186i
86i
Aadir un bot
botn Salir
Salir para acabar.

UCLM-ESI. Programacin con Visual Basic .NET 1. 45

Potrebbero piacerti anche