Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
Creaci
Creacin y ejecuci
ejecucin
Cdigo generado
Archivos en disco
Demo
Segundo programa:
Preguntar usuario
usuario
Escribiendo c
cdigo
1. 2
Plataforma .NET
Qu es .NET?
Qu incluye?
1. 3
Plataforma .NET
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
Soporte multi-lenguaje
Lenguajes disponibles:
disponibles:
1. 5
Plataforma .NET
Soporte
multilenguaje
1. 6
Plataforma .NET
Soporte multi-plataforma
Proyecto Rotor
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
1. 7
Plataforma .NET
Basado en estndares
XML (XML
(XML Schemas,
Schemas, Xpath,
Xpath, XSLT)
Servicios Web
1. 8
Plataforma .NET
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.
1. 9
Plataforma .NET
.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
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
1. 11
Plataforma .NET
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
1. 12
1. 13
C++
C#
J#
Cobol
ASP.NET
Windows Forms
Visual Studio.NET
COM+ Services
1. 14
Entorno de Ejecuci
Ejecucin Com
Comn
Carga
Ejecuci
Ejecucin
Manipulaci
Manipulacin de memoria
Seguridad
Etc.
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, ..
1. 15
Entorno de Ejecuci
Ejecucin Com
Comn
Componentes
Control Tipos
Gestor Excepciones
Motor Seguridad
Motor Depuracin
Lenguaje
Intermedio (IL)
Gestor
de cdigo
Recolector
de basura
1. 16
CLR
Lenguaje intermedio IL
VB
Cdigo
Nativo
VC
Cdigo
generado
instalaci
instalacin
...
Script
IL
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
Cdigo IL
Ensamblado
Metadatos
Al instalar o la
primera vez que cada
mtodo es llamado
1. 18
CLR
Conjunto est
estndar de tipos y reglas para crear nuevos tipos
Integraci
Integracin multimulti-lenguaje:
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
1. 19
CLR
Categoras de tipos
1. 20
CLR
1. 21
System.WinForms
UI
HtmlControls
VBWebControls
C++
C#
Design
J#
ComponentModel
Cobol
System.Drawing
System.Data
ADO
Design
Collections
Configuration
Diagnostics
Globalization
System
COM+ Services
Security
Runtime
InteropServices
ServiceProcess
Remoting
Text
Serialization
Threading
1. 22
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:
1. 23
Especificaci
Especificacin de Lenguaje Com
Comn
C++
C#
J#
Cobol
Conjunto de caractersticas
Windows Forms
COM+ Services
1. 24
Tipos de Aplicaciones
Aplicaciones normales:
De consola
Windows Service (no interactiva)
Windows Form (interactiva)
Windows Control Library (biblioteca de controles)
1. 25
Tipos de Aplicaciones
De Consola
Hola Mundo ~ 5k
1. 26
Tipos de Aplicaciones
Windows Service
mientras se ejecuta.
Tipos de comienzo:
Manual
Automtico
Deshabilitado
1. 27
Tipos de Aplicaciones
Windows Form
SDI/MDI (multidocumento)
Estilo Explorer
Instalacin
XCopy
NoNo-tocar (!todav
(!todava ms fcil que con XCopy!)
XCopy!)
Impresin
Configuraci
Configuracin de pginas
Previsualizaci
Previsualizacin
1. 28
Tipos de Aplicaciones
lenguaje.
Derivados desde cualquier otro control
Ejemplo:
1. 29
Tipos de Aplicaciones
Web Application
Mucho menos cdigo
Estilo de programacin a lo VB
Controles para validar entradas
Controles complejos mejorados
DataGrid
DataList
Calendar
Cookies no requeridos
Sesiones seguras
1. 30
Tipos de Aplicaciones
Interacciones seguras
Generaci
Generacin autom
automtica de XML, SOAP, WSDL
Conversi
Conversin autom
automtica de un componente en Web Service
(WebMethod)
WebMethod)
1. 31
VS.NET
se pueden a
aadir nuevos lenguajes o nuevas herramientas.
1. 32
Introduccin al VS.NET
Editar Mi perfil
perfil
Ver recursos en llnea
nea
Proyectos (nuevo / abrir)
Aplicaci
Aplicacin windows,
windows, biblioteca de clases, servicio web, ...
Men
Men
Barra de herramientas
Ventana principal de trabajo
Fichas
1. 33
Introduccin al VS.NET
Windows Form,
Form, Clase, M
Mdulo, Clase de componentes, Control
de usuario, Dataset,
Dataset, Archivo XML, ... hasta 33 diferentes
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.
1. 34
Introduccin al VS.NET
Propiedades de un proyecto
Propiedades de la solucin
Agregar un control a un formulario
Men contextual
Ventana de propiedades
Formulario / control
1. 35
Creacin y ejecucin
6. Ejecutar la aplicacin
UCLM-ESI. Programacin con Visual Basic .NET
1. 36
Cdigo generado
1. Ver c
cdigo
Expandir/contraer regiones
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
Archivos en 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
PDB: informaci
informacin para depuraci
depuracin
1. 38
VS.NET
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
1. 39
VS.NET
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
Buscar s
smbolo
Tareas
Crear/Eliminar tareas
Comentarios / Marcadores
Macros
Explorador
Ejecuci
Ejecucin
Grabaci
Grabacin (estilo Office)
IDE de macros
1. 41
VS.NET
Contenido
ndice
Buscar
Ayuda externa al IDE
Mantener temas visibles
Documentaci
Documentacin completa
.NET Framework SDK / MSDN for Visual Studio 2003
1. 42
Windows
Windows
Aadir m
mdulo MiCodigo [contenedor de c
cdigo]
Module MiCodigo
....
End Module
3. Aadir comentario
Aplicaci
Aplicacin EscribirCodigo
1. 43
EscribirCodigo
EscribirCodigo
Sub Main
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:)
MessageBox.Show(
MessageBox.Show(El usuario es & Nombre, Programa de
prueba
prueba)
1. 44
Ir pensando en la Prctica 1
A*x^2 + B*x + C = 0
Aadir un bot
botn Calcular
Calcular para obtener las soluciones invocando
al procedimiento de igual nombre.
Aadir un bot
botn Salir
Salir para acabar.
UCLM-ESI. Programacin con Visual Basic .NET
1. 45