Você está na página 1de 45

Programaci

Programaci

n con
n con
Visual Basic .NET
Visual Basic .NET
Francisco Ruiz Francisco Ruiz
Manuel Manuel ngel Serrano ngel Serrano
Escuela Superior de Inform Escuela Superior de Inform tica tica
Universidad de Castilla Universidad de Castilla- -La Mancha La Mancha
1 1 Plataforma .NET Plataforma .NET
UCLM-ESI. Programacin con Visual Basic .NET 1. 2
Programaci Programaci n con n con Visual Basic .NET Visual Basic .NET
Contenidos sesi
Contenidos sesi

n 1
n 1
Plataforma .NET Plataforma .NET
Objetivos Objetivos
Estrategias de desarrollo e Estrategias de desarrollo e
implantaci implantaci n n
.NET .NET Framework Framework
Entorno de Ejecuci Entorno de Ejecuci n com n com n n
Biblioteca de clases com Biblioteca de clases com n n
Tipos de aplicaciones Tipos de aplicaciones
Introducci Introducci n al Visual Studio n al Visual Studio
.NET (VS.NET) .NET (VS.NET)
Demo de uso Demo de uso
Primer programa: "Hola Primer programa: "Hola
Mundo Mundo
Creaci Creaci n y ejecuci n y ejecuci n n
C C digo generado digo generado
Archivos en disco Archivos en disco
VS.NET Aspectos avanzados VS.NET Aspectos avanzados
Demo Demo
Segundo programa: Segundo programa:
Preguntar usuario Preguntar usuario
Escribiendo c Escribiendo c digo digo
UCLM-ESI. Programacin con Visual Basic .NET 1. 3
Plataforma .NET
Plataforma .NET

Qu Qu es .NET? es .NET?
Una Una arquitectura tecnol arquitectura tecnol gica gica para la creaci para la creaci n y n y
distribuci distribuci n de software como n de software como servicio servicio. .
Servicio en cualquier plataforma, cliente en cualquier Servicio en cualquier plataforma, cliente en cualquier
dispositivo, programaci dispositivo, programaci n en cualquier lenguaje, integraci n en cualquier lenguaje, integraci n n
basada en est basada en est ndares. ndares.

Qu Qu incluye? incluye?
.NET .NET Framework Framework, infraestructura para la creaci , infraestructura para la creaci n y n y
ejecuci ejecuci n de las aplicaciones. n de las aplicaciones.
Visual Studio .NET Visual Studio .NET, entorno de desarrollo integrado , entorno de desarrollo integrado
(IDE). (IDE).
Otros servicios. Otros servicios.
UCLM-ESI. Programacin con Visual Basic .NET 1. 4
Plataforma .NET Plataforma .NET
Objetivos
Objetivos
fundamentales
fundamentales (i) (i)
2000 2000
Internet Internet
3 3
rd rd
Gen Gen
.NET
.NET
1996 1996
Internet Internet
1 1
st st
Gen Gen
IE/IIS
IE/IIS
1997 1997
Internet Internet
2 2
nd nd
Gen Gen
DNA/COM+
DNA/COM+
1992 1992
Cliente/Servidor Cliente/Servidor
Win32
Win32
Nueva Nueva manera manera de de desarrollar desarrollar software software
UCLM-ESI. Programacin con Visual Basic .NET 1. 5
Plataforma .NET Plataforma .NET
Objetivos
Objetivos
fundamentales
fundamentales (ii) (ii)

Soporte
Soporte
multi
multi
-
-
lenguaje
lenguaje
La La plataforma plataforma .NET .NET es es independiente independiente del del lenguaje lenguaje
Todos Todos los los lenguajes lenguajes .NET son .NET son considerados considerados por por igual igual
Un Un Runtime Runtime nico nico
=> => mejor mejor aprovechamiento aprovechamiento de de los los conocimientos conocimientos existentes existentes
Es posible integrar otros lenguajes y crear otros compiladores Es posible integrar otros lenguajes y crear otros compiladores
Common Common Language Language Specification Specification (CLS) (CLS)
Lenguajes Lenguajes disponibles disponibles: :
Por Por Microsoft: Visual Basic, C++, C#, J# Microsoft: Visual Basic, C++, C#, J#
Por Por terceros terceros: APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, : APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon,
Perl, Python, Scheme, Smalltalk, Fortran, Perl, Python, Scheme, Smalltalk, Fortran,
UCLM-ESI. Programacin con Visual Basic .NET 1. 6
Plataforma .NET Plataforma .NET
Objetivos
Objetivos
fundamentales
fundamentales (iii) (iii)

Soporte Soporte
multi multi- -
lenguaje lenguaje
UCLM-ESI. Programacin con Visual Basic .NET 1. 7
Plataforma .NET Plataforma .NET
Objetivos
Objetivos
fundamentales
fundamentales (iv) (iv)

Soporte
Soporte
multi
multi
-
-
plataforma
plataforma
Proyecto Proyecto Rotor Rotor
Common Common Language Language Infraestructure Infraestructure (CLI) (CLI)
C C digo fuente abierto, no comercial, modificable digo fuente abierto, no comercial, modificable
Compilar/ejecutar en Compilar/ejecutar en FreeBSD FreeBSD, Windows, , Windows, Mac Mac OS X OS X
http:// http://msdn.microsoft.com msdn.microsoft.com/net/ /net/sscli sscli
Proyecto Proyecto Mono Mono
Implementaci Implementaci n n open open source source del .NET del .NET Framework Framework
Compilador de C#, VB.NET, CLR, librer Compilador de C#, VB.NET, CLR, librer a de clases, etc. a de clases, etc.
Linux, S390, SPARC, HPPA Linux, S390, SPARC, HPPA
Implementa ADO.NET, ASP.NET, etc. Implementa ADO.NET, ASP.NET, etc.
www.go www.go- -mono.com mono.com
UCLM-ESI. Programacin con Visual Basic .NET 1. 8
Plataforma .NET Plataforma .NET
Objetivos
Objetivos
fundamentales
fundamentales (v) (v)

Basado
Basado
en
en
est
est

ndares
ndares
XML ( XML (XML XML Schemas Schemas, , Xpath Xpath, XSLT) , XSLT)
Servicios Web Servicios Web
SOAP (Simple SOAP (Simple Object Object Access Access Protocol Protocol) )
UDDI (Universal UDDI (Universal Description Description, , Discovery Discovery & & Integration Integration) )
WSDL (Web WSDL (Web Service Service Description Description Language Language) )
Lenguaje intermedio com Lenguaje intermedio com n CIL n CIL
Lenguaje de programaci Lenguaje de programaci n n C# C#
UCLM-ESI. Programacin con Visual Basic .NET 1. 9
Plataforma .NET Plataforma .NET
Estrategias
Estrategias
de
de
Desarrollo
Desarrollo (i) (i)
Facilitar la Facilitar la integraci integraci n del software n del software permitiendo permitiendo
Diversas plataformas Diversas plataformas (Windows, UNIX, Mainframe) (Windows, UNIX, Mainframe)
Diferentes Diferentes middleware de middleware de componentes componentes (DDE, COM, CORBA) (DDE, COM, CORBA)
Diferentes Diferentes sistemas sistemas operativos operativos
Homogeneizar lenguajes Homogeneizar lenguajes mediante mediante
Sistema de Tipos Com Sistema de Tipos Com n n
Biblioteca de Clases base comunes Biblioteca de Clases base comunes
Redefinir Redefinir soluciones preexistentes como soluciones preexistentes como servicios servicios
Simplificar la forma de programar Simplificar la forma de programar mediante mediante
Orientaci Orientaci n n a a objetos objetos plena plena: : clases clases, interfaces, , interfaces, constructores constructores, , atributos atributos, ,
m m todos todos, , herencia herencia inter inter- -lenguajes lenguajes, ,
Herramientas y entorno comunes para todos los desarrollos. Herramientas y entorno comunes para todos los desarrollos.
Interoperabilidad Interoperabilidad pre pre- -construida (con COM, construida (con COM, DLL DLL s s, etc.) , etc.)
Un Un Framework Framework que libera al programador de muchas tareas: memoria, que libera al programador de muchas tareas: memoria,
seguridad, etc. seguridad, etc.
UCLM-ESI. Programacin con Visual Basic .NET 1. 10
Plataforma .NET Plataforma .NET
Estrategias
Estrategias
de
de
Desarrollo
Desarrollo (ii) (ii)
Paradigma de desarrollo unificado Paradigma de desarrollo unificado
Windows API Windows API
.NET Framework .NET Framework
API API consistente consistente independiente independiente del del
lenguaje lenguaje y el y el modelo modelo de de programaci programaci n n
ASP ASP
Web, Web,
Est Est ndar ndar, ,
En HTML En HTML
MFC/ATL MFC/ATL
OOP, OOP,
Potencia Potencia, ,
Expresividad Expresividad
VB Forms VB Forms
RAD, RAD,
Composici Composici n n, ,
Delegaci Delegaci n n
UCLM-ESI. Programacin con Visual Basic .NET 1. 11
Plataforma .NET Plataforma .NET
Estrategias
Estrategias
de
de
Implantaci
Implantaci

n
n (i) (i)
Instalaci Instalaci n de impacto cero n de impacto cero
Aplicaciones y componentes compartidos o privados Aplicaciones y componentes compartidos o privados
Ejecuci Ejecuci n n side side- -by by- -side side
Coexistencia de varias versiones del mismo componente Coexistencia de varias versiones del mismo componente
Ensamblados Ensamblados ( (Assemblies Assemblies) )
Colecci Colecci n de funcionalidad creada, versionada e implantada como una unid n de funcionalidad creada, versionada e implantada como una unidad de ad de
implementaci implementaci n n nica (incluyendo uno o varios archivos) nica (incluyendo uno o varios archivos)
Son Son autodescriptivos autodescriptivos
En tiempo de ejecuci En tiempo de ejecuci n se resuelven las referencias entre componentes, se n se resuelven las referencias entre componentes, se
garantiza la pol garantiza la pol tica de enlace de versiones y se valida la integridad de los tica de enlace de versiones y se valida la integridad de los
ensamblados cargados. ensamblados cargados.
El El Manifiesto Manifiesto ( (Manifest Manifest) contiene los ) contiene los metadatos metadatos del ensamblado incluyendo del ensamblado incluyendo
la identidad del ensamblado la identidad del ensamblado
los archivos que implementan el ensamblado los archivos que implementan el ensamblado
las dependencias en tiempo de compilaci las dependencias en tiempo de compilaci n con otros ensamblados n con otros ensamblados
los tipos y recursos que forman el ensamblado los tipos y recursos que forman el ensamblado
el conjunto de permisos para ejecutarse apropiadamente el conjunto de permisos para ejecutarse apropiadamente
UCLM-ESI. Programacin con Visual Basic .NET 1. 12
Plataforma .NET Plataforma .NET
Estrategias
Estrategias
de
de
Implantaci
Implantaci

n
n (ii) (ii)

Ventajas de los Ensamblados: Ventajas de los Ensamblados:


No son necesarios m No son necesarios m s archivos para usar el componente s archivos para usar el componente
No m No m s archivos de cabeceras, IDL, librer s archivos de cabeceras, IDL, librer as de tipos, ... as de tipos, ...
Se reduce la dependencia del Registro Se reduce la dependencia del Registro
No m No m s s infierno de las infierno de las DLLs DLLs : se evitan las faltas de : se evitan las faltas de
sincronismo entre una librer sincronismo entre una librer a compartida respecto de la a compartida respecto de la
aplicaci aplicaci n que la invoca n que la invoca
Sistema de nombres robusto Sistema de nombres robusto
Auto Auto- -reparaci reparaci n de aplicaciones n de aplicaciones
UCLM-ESI. Programacin con Visual Basic .NET 1. 13
.NET
.NET
Framework
Framework (i) (i)

De cara al programador, es la pieza base de De cara al programador, es la pieza base de


.NET, ya que proporciona las herramientas y .NET, ya que proporciona las herramientas y
servicios para desarrollar el software: servicios para desarrollar el software:
Entorno de Ejecuci Entorno de Ejecuci n Com n Com n (CLR) n (CLR)
Biblioteca de clases b Biblioteca de clases b sicas sicas
Motor de generaci Motor de generaci n de interfaces de usuario n de interfaces de usuario
Web (ASP .NET) Web (ASP .NET)
Tradicionales Windows (Windows Tradicionales Windows (Windows Forms Forms) )
Especificaci Especificaci n de Lenguaje Com n de Lenguaje Com n (CLS) n (CLS)
UCLM-ESI. Programacin con Visual Basic .NET 1. 14
.NET
.NET
Framework
Framework (ii) (ii)
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# Cobol
V
i
s
u
a
l

S
t
u
d
i
o
.
N
E
T
UCLM-ESI. Programacin con Visual Basic .NET 1. 15
Entorno de Ejecuci Entorno de Ejecuci n Com n Com n n
Common Common Language Language Runtime Runtime (CLR) (CLR) (i) (i)

Es un motor encargado de la gesti Es un motor encargado de la gesti n del c n del c digo de las digo de las
aplicaciones en cuanto a su aplicaciones en cuanto a su
Carga Carga
Ejecuci Ejecuci n n
Manipulaci Manipulaci n de memoria n de memoria
Seguridad Seguridad
Etc. Etc.

Servicios que proporciona: Servicios que proporciona:


En tiempo de En tiempo de ejecuci ejecuci n n
Gesti Gesti n de memoria (incluida recolecci n de memoria (incluida recolecci n de basura), gesti n de basura), gesti n de n de
procesos, procesos, threads threads (hilos), garantizar seguridad, satisfacer (hilos), garantizar seguridad, satisfacer
dependencias sobre otros componentes. dependencias sobre otros componentes.
En tiempo de En tiempo de desarrollo desarrollo
Gesti Gesti n del tiempo de vida, nominaci n del tiempo de vida, nominaci n de tipos robusta, n de tipos robusta,
tratamiento de excepciones tratamiento de excepciones multilenguaje multilenguaje, gesti , gesti n de eventos n de eventos
basada en delegados, enlace din basada en delegados, enlace din mico, .. mico, ..
UCLM-ESI. Programacin con Visual Basic .NET 1. 16
Entorno de Ejecuci Entorno de Ejecuci n Com n Com n n
Common Common Language Language Runtime Runtime (CLR) (CLR) (ii) (ii)
Carga de clases y disposicin en memoria
Lenguaje
Intermedio (IL)
Gestor
de cdigo
Recolector
de basura
Motor Seguridad Motor Depuracin
Control Tipos Gestor Excepciones
Soporte Threads Componentes
Sistema de Tipos Comn (CTS)
UCLM-ESI. Programacin con Visual Basic .NET 1. 17
CLR CLR
Lenguaje intermedio IL Lenguaje intermedio IL
VB VB VC VC ... ... Script Script
IL IL
C C digo digo
Nativo Nativo
Econo Econo - -JIT JIT
Compilador Compilador
Standard JIT Standard JIT
Compilador Compilador
C C digo digo Nativo Nativo
C C digo digo
generado generado
instalaci instalaci n n
Common Language Runtime Common Language Runtime
UCLM-ESI. Programacin con Visual Basic .NET 1. 18
CLR CLR
Compilaci Compilaci n y ejecuci n y ejecuci n n
C C digo digo
Fuente Fuente
Compilaci Compilaci n n
Al Al instalar instalar o la o la
primera primera vez vez que que cada cada
m m todo todo es es llamado llamado
Compilador Compilador
Lenguaje Lenguaje
Ensamblado Ensamblado
Ejecuci Ejecuci n n
Compilador Compilador
JIT JIT
C C digo digo
nativo nativo
C C digo digo IL IL
Metadatos Metadatos
UCLM-ESI. Programacin con Visual Basic .NET 1. 19
CLR CLR
Sistema
Sistema
de
de
Tipos
Tipos
Com
Com

n
n
(CTS)
(CTS) (i) (i)

Common Common Type Type System System


Conjunto est Conjunto est ndar de tipos y reglas para crear nuevos tipos ndar de tipos y reglas para crear nuevos tipos
Integraci Integraci n n multi multi- -lenguaje: lenguaje:
Heredar implementaciones de clases escritas en otros lenguajes Heredar implementaciones de clases escritas en otros lenguajes
Invocar excepciones de c Invocar excepciones de c digo entre lenguajes digo entre lenguajes
Depurar transparentemente Depurar transparentemente
No m No m s versiones de librer s versiones de librer as para cada lenguaje o compilador! as para cada lenguaje o compilador!
No m No m s librer s librer as de clases limitadas a un lenguaje concreto! as de clases limitadas a un lenguaje concreto!
Todas las implementaciones de clases, interfaces, estructuras, Todas las implementaciones de clases, interfaces, estructuras,
etc., nativas o creadas por el programador, son tipos .NET. etc., nativas o creadas por el programador, son tipos .NET.
Todos los tipos .NET son objetos. 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. 20
CLR CLR
Sistema
Sistema
de
de
Tipos
Tipos
Com
Com

n
n
(CTS)
(CTS) (ii) (ii)

Categor Categor as de tipos as de tipos


UCLM-ESI. Programacin con Visual Basic .NET 1. 21
CLR CLR
Sistema
Sistema
de
de
Tipos
Tipos
Com
Com

n
n
(CTS)
(CTS) (iii) (iii)
UCLM-ESI. Programacin con Visual Basic .NET 1. 22
Biblioteca de clases com
Biblioteca de clases com

n
n (i) (i)
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# Cobol
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
Runtime
InteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
Services
Description
Discovery
Protocols
UI
HtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.WinForms
Design ComponentModel
UCLM-ESI. Programacin con Visual Basic .NET 1. 23
Biblioteca de clases com
Biblioteca de clases com

n
n (ii) (ii)

Lo que Lo que v v el desarrollador el desarrollador


Un API formada por un conjunto de bibliotecas de Un API formada por un conjunto de bibliotecas de clases clases
comunes, orientadas a objetos, jer comunes, orientadas a objetos, jer rquicas y extensibles rquicas y extensibles que que
proveen soporte completo para la programaci proveen soporte completo para la programaci n de diversos tipos n de diversos tipos
de aplicaciones de aplicaciones
permiten herencia entre lenguajes, gesti permiten herencia entre lenguajes, gesti n de errores y n de errores y
depuraci depuraci n n
Las clases est Las clases est n organizadas de forma l n organizadas de forma l gica y jer gica y jer rquica en rquica en
namespaces namespaces
System System, XML, Data (ADO .NET), , XML, Data (ADO .NET), Drawing Drawing, , WinForms WinForms, Web , Web
(ASP.NET) (ASP.NET)
Facilita reutilizaci Facilita reutilizaci n n
Evita colisiones Evita colisiones
No es necesario aprender m No es necesario aprender m ltiples modelos de objetos: ltiples modelos de objetos:
Visual C: MFC, Visual J++: WFC, Visual Basic: Visual C: MFC, Visual J++: WFC, Visual Basic: Fw Fw
UCLM-ESI. Programacin con Visual Basic .NET 1. 24
Especificaci Especificaci n de Lenguaje Com n de Lenguaje Com n n
Common Common Language Language Specification Specification (CLS) (CLS)
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# J# Cobol

Conjunto de caracter Conjunto de caracter sticas sticas


comunes que deben cumplir comunes que deben cumplir
todos los lenguajes. todos los lenguajes.

Su finalidad es Su finalidad es
Independencia del lenguaje Independencia del lenguaje
Integraci Integraci n entre lenguajes n entre lenguajes
Apertura a nuevos lenguajes Apertura a nuevos lenguajes
UCLM-ESI. Programacin con Visual Basic .NET 1. 25
Tipos de Aplicaciones
Tipos de Aplicaciones

Aplicaciones normales: Aplicaciones normales:


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

Aplicaciones para la web: Aplicaciones para la web:


Web Web Application Application (aplicaci (aplicaci n web cliente n web cliente- -servidor) servidor)
XML Web XML Web Service Service (servicio web) (servicio web)
UCLM-ESI. Programacin con Visual Basic .NET 1. 26
Tipos de Aplicaciones Tipos de Aplicaciones
De Consola
De Consola

Ejecutables Ejecutables de de l l nea nea de de comandos comandos

Escritos Escritos con con cualquier cualquier lenguaje lenguaje .NET .NET

Ejecuci Ejecuci n n desatendida desatendida

Muy Muy ligeros ligeros


Hola Hola Mundo Mundo ~ 5k ~ 5k
UCLM-ESI. Programacin con Visual Basic .NET 1. 27
Tipos de Aplicaciones Tipos de Aplicaciones
Windows
Windows
Service
Service

Aplicaciones Aplicaciones windows no interactivas. windows no interactivas.

Escritas Escritas con con cualquier cualquier lenguaje lenguaje .NET .NET

Incluyen Incluyen el el c c digo digo para para el el comienzo comienzo, el fin y , el fin y
mientras mientras se se ejecuta ejecuta. .

Tipos Tipos de de comienzo comienzo: :


Manual Manual
Autom Autom tico tico
Deshabilitado Deshabilitado
UCLM-ESI. Programacin con Visual Basic .NET 1. 28
Tipos de Aplicaciones Tipos de Aplicaciones
Windows
Windows
Form
Form

Aplicaciones Aplicaciones Windows interactivas Windows interactivas

Basadas Basadas en en formularios formularios


p.e., p.e., interfaz interfaz a bases de a bases de datos datos

SDI/MDI ( SDI/MDI (multidocumento multidocumento) )

Estilo Estilo Explorer Explorer


Con Con conectores conectores y y divisores divisores entre entre frames frames

Instalaci Instalaci n n
XCopy XCopy
No No- -tocar tocar (! (!todav todav a a m m s s f f cil cil que que con con XCopy XCopy!) !)
Ejecutar Ejecutar desde desde una una URL URL

Impresi Impresi n n
Configuraci Configuraci n n de de p p ginas ginas
Previsualizaci Previsualizaci n n
UCLM-ESI. Programacin con Visual Basic .NET 1. 29
Tipos de Aplicaciones Tipos de Aplicaciones
Windows Control
Windows Control
Library
Library

Usables Usables en en cualquier cualquier formulario formulario con con cualquier cualquier
lenguaje lenguaje. .

Derivados Derivados desde desde cualquier cualquier otro otro control control
Extender Extender controles controles .NET pre .NET pre- -construidos construidos. .
Construir Construir nuevos nuevos controles controles. .

Ejemplo Ejemplo: :
Acceso Acceso a a datos datos particularizado particularizado y y ampliado ampliado. .
UCLM-ESI. Programacin con Visual Basic .NET 1. 30
Tipos de Aplicaciones Tipos de Aplicaciones
Web
Web
Application
Application

Mucho Mucho menos menos c c digo digo


Con Web Forms Con Web Forms que que con ASP con ASP cl cl sico sico

Estilo Estilo de de programaci programaci n n a lo VB a lo VB

Controles Controles para para validar validar entradas entradas

Controles Controles complejos complejos mejorados mejorados


DataGrid DataGrid
DataList DataList
Calendar Calendar

Sesiones Sesiones seguras seguras


Cookies no Cookies no requeridos requeridos

Traza Traza y y depuraci depuraci n n mejoradas mejoradas

Caching Caching m m s s potente potente

M M s s eventos eventos detectables detectables


UCLM-ESI. Programacin con Visual Basic .NET 1. 31
Tipos de Aplicaciones Tipos de Aplicaciones
XML Web
XML Web
Service
Service

Evoluci Evoluci n n de de aplicaciones aplicaciones y y sitios sitios web web


Interacciones Interacciones seguras seguras

Nueva Nueva metodolog metodolog a a de de integraci integraci n n


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

Componentes Componentes de de aplicaci aplicaci n n programables programables


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

Soporte Soporte provisto provisto por por el Framework el Framework


Generaci Generaci n n autom autom tica tica de XML, SOAP, WSDL de XML, SOAP, WSDL
Conversi Conversi n n autom autom tica tica de un de un componente componente en Web Service en Web Service
( (WebMethod WebMethod) )
UCLM-ESI. Programacin con Visual Basic .NET 1. 32
VS.NET VS.NET
Introducci
Introducci

n al Visual Studio .NET


n al Visual Studio .NET

Entorno Integrado de Desarrollo (IDE) para .NET Entorno Integrado de Desarrollo (IDE) para .NET

Multi Multi- -lenguaje integrado lenguaje integrado


Lo mismo se hace siempre igual, independientemente del Lo mismo se hace siempre igual, independientemente del
lenguaje. lenguaje.

Permite elegir los tipos de aplicaci Permite elegir los tipos de aplicaci n n

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

Integraci Integraci n con arquitectura COM n con arquitectura COM


UCLM-ESI. Programacin con Visual Basic .NET 1. 33
Introducci Introducci n al VS.NET n al VS.NET
Demo de uso
Demo de uso (i) (i)

P P gina de inicio gina de inicio


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

Crear nuevo proyecto Crear nuevo proyecto


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

Elementos principales del entorno Elementos principales del entorno


Men Men
Barra de herramientas Barra de herramientas
Ventana principal de trabajo Ventana principal de trabajo
Fichas Fichas
Ventanas Ventanas desplegables desplegables (pesta (pesta as) as)
Ventanas combinadas Ventanas combinadas
UCLM-ESI. Programacin con Visual Basic .NET 1. 34
Introducci Introducci n al VS.NET n al VS.NET
Demo de uso
Demo de uso (ii) (ii)

Agregar nuevos elementos a un proyecto Agregar nuevos elementos a un proyecto


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

Configuraci Configuraci n del entorno n del entorno

Estados de las ventanas Estados de las ventanas


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

Explorador de soluciones Explorador de soluciones


Soluci Soluci n: colecci n: colecci n de proyectos abiertos en una misma sesi n de proyectos abiertos en una misma sesi n n
de trabajo. de trabajo.
Para cada proyecto muestra sus elementos: Formularios, Para cada proyecto muestra sus elementos: Formularios,
m m dulos, clases, recursos, referencias, etc. dulos, clases, recursos, referencias, etc.
References References => referencias a los espacios de nombres usados => referencias a los espacios de nombres usados
AssemblyInfo.vb AssemblyInfo.vb => informaci => informaci n del Ensamblado n del Ensamblado
UCLM-ESI. Programacin con Visual Basic .NET 1. 35
Introducci Introducci n al VS.NET n al VS.NET
Demo de uso
Demo de uso (iii) (iii)

Propiedades de un proyecto Propiedades de un proyecto

Propiedades de la soluci Propiedades de la soluci n n

Agregar un control a un formulario Agregar un control a un formulario

Men Men contextual contextual

Ventana de propiedades Ventana de propiedades


Formulario / control Formulario / control
UCLM-ESI. Programacin con Visual Basic .NET 1. 36
Primer programa Primer programa Hola Mundo Hola Mundo
Creaci
Creaci

n y ejecuci
n y ejecuci

n
n
1.
1. Crear un nuevo proyecto de Visual Basic, tipo Crear un nuevo proyecto de Visual Basic, tipo
Aplicaci Aplicaci n para Windows n para Windows
2.
2. A A adir un formulario adir un formulario (clase de objeto visual) (clase de objeto visual)
3.
3. Editar sus propiedades Editar sus propiedades
text text < <- - Programa de prueba 1 Programa de prueba 1
4.
4. A A adir un control de tipo adir un control de tipo label label (clase de objeto visual (clase de objeto visual
incrustado dentro de un formulario) incrustado dentro de un formulario)
5.
5. Editar sus propiedades Editar sus propiedades
text text < <- - Hola Mundo Hola Mundo
font font < <- - MS Sans MS Sans Serif Serif, 20 , 20 pt pt
6.
6. Ejecutar la aplicaci Ejecutar la aplicaci n n
UCLM-ESI. Programacin con Visual Basic .NET 1. 37
Primer programa Primer programa Hola Mundo Hola Mundo
C
C

digo generado
digo generado
1. 1. Ver c Ver c digo digo
Expandir/contraer regiones Expandir/contraer regiones
2. 2. Clase del formulario Clase del formulario
Un formulario es un objeto => una clase Un formulario es un objeto => una clase
3. 3. El m El m todo constructor todo constructor New New() ()
Se hereda de la clase base (padre) Se hereda de la clase base (padre)
4. 4. El m El m todo todo InitializeComponent InitializeComponent() ()
Crea un nuevo objeto Crea un nuevo objeto Label Label
Asigna valores a las propiedades del Asigna valores a las propiedades del Label Label
Asigna valores a las propiedades del Asigna valores a las propiedades del Form Form
A A ade el objeto ade el objeto Label Label al al Form Form
5. 5. El m El m todo todo Dispose Dispose() ()
Libera recursos de memoria Libera recursos de memoria
UCLM-ESI. Programacin con Visual Basic .NET 1. 38
Primer programa Primer programa Hola Mundo Hola Mundo
Archivos en disco
Archivos en disco
1.
1. Ver lo que se ha creado en el disco. Ver lo que se ha creado en el disco.
Directorios de la figura Directorios de la figura
2.
2. Tipos de Archivos: Tipos de Archivos:
VB: c VB: c digo fuente en Visual Basic (clases, m digo fuente en Visual Basic (clases, m dulos, etc.) dulos, etc.)
VBPROJ: informaci VBPROJ: informaci n sobre los elementos del proyecto n sobre los elementos del proyecto
SLN: soluci SLN: soluci n n
VBPROJ.USER: opciones de usuario del proyecto VBPROJ.USER: opciones de usuario del proyecto
RESX: plantilla de recursos en XML RESX: plantilla de recursos en XML
EXE: aplicaci EXE: aplicaci n ejecutable n ejecutable
Guardado en el directorio Guardado en el directorio bin bin
Es lo Es lo nico necesario para instalar en otro equipo que tiene .NET nico necesario para instalar en otro equipo que tiene .NET
Framework Framework
PDB: informaci PDB: informaci n para depuraci n para depuraci n n
UCLM-ESI. Programacin con Visual Basic .NET 1. 39
VS.NET VS.NET
Aspectos avanzados
Aspectos avanzados

demo
demo (i) (i)

Cuadro de herramientas Cuadro de herramientas


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

Barras de herramientas Barras de herramientas


Men Men contextual contextual
Personalizar Personalizar

Barras personalizadas Barras personalizadas


Crear nueva Crear nueva
A A adir/quitar comandos adir/quitar comandos

Editor de c Editor de c digo digo


Fuentes y colores Fuentes y colores
Otras opciones Otras opciones
UCLM-ESI. Programacin con Visual Basic .NET 1. 40
VS.NET VS.NET
Aspectos avanzados
Aspectos avanzados

demo
demo (ii) (ii)

Dividir ventana edici Dividir ventana edici n n

Men Men Edici Edici n n


Buscar/Reemplazar Buscar/Reemplazar
Ajuste de l Ajuste de l nea nea
Marcadores Marcadores
Mostrar espacios en blanco Mostrar espacios en blanco
Regiones y esquematizaci Regiones y esquematizaci n n
Comentarios en bloques de l Comentarios en bloques de l neas neas
Intellisense Intellisense (ayuda (ayuda inteligente inteligente al escribir c al escribir c digo) digo)

Ir a definici Ir a definici n de procedimiento n de procedimiento

Mostrar pantalla completa Mostrar pantalla completa


UCLM-ESI. Programacin con Visual Basic .NET 1. 41
VS.NET VS.NET
Aspectos avanzados
Aspectos avanzados

demo
demo (iii) (iii)

Ventana vista de clases Ventana vista de clases

Ventana explorador de objetos Ventana explorador de objetos


Buscar s Buscar s mbolo mbolo

Tareas Tareas
{Agenda para registrar trabajos pendientes} {Agenda para registrar trabajos pendientes}
Crear/Eliminar tareas Crear/Eliminar tareas
Comentarios / Marcadores Comentarios / Marcadores
Ventana Lista de Tareas Ventana Lista de Tareas

Macros Macros
Explorador Explorador
Ejecuci Ejecuci n n
Grabaci Grabaci n (estilo Office) n (estilo Office)
IDE de macros IDE de macros
UCLM-ESI. Programacin con Visual Basic .NET 1. 42
VS.NET VS.NET
Aspectos avanzados
Aspectos avanzados

demo
demo (iv) (iv)

Sistema de Ayuda Sistema de Ayuda


MSDN (Microsoft MSDN (Microsoft Development Development Network Network Library Library) )
Son CD Son CD s separados de los de Visual Studio .NET s separados de los de Visual Studio .NET
Formato HTML Formato HTML
Ayuda din Ayuda din mica mica
Contenido Contenido
ndice ndice
Buscar Buscar
Ayuda externa al IDE Ayuda externa al IDE
Mantener temas visibles Mantener temas visibles
Documentaci Documentaci n completa n completa
.NET .NET Framework Framework SDK / MSDN SDK / MSDN for for Visual Studio 2003 Visual Studio 2003
UCLM-ESI. Programacin con Visual Basic .NET 1. 43
Segundo programa Segundo programa Preguntar usuario Preguntar usuario
Escribiendo c
Escribiendo c

digo
digo (i) (i)
1. 1. Crear nuevo proyecto Crear nuevo proyecto EscribirCodigo EscribirCodigo de tipo de tipo Aplicaci Aplicaci n para n para
Windows Windows
2. 2. A A adir m adir m dulo dulo MiCodigo MiCodigo [contenedor de c [contenedor de c digo] digo]
Module Module MiCodigo MiCodigo
.... ....
End End Module Module
3. 3. A A adir comentario adir comentario
Aplicaci Aplicaci n n EscribirCodigo EscribirCodigo
4. 4. A A adir procedimiento adir procedimiento Main Main dentro de dentro de MiCodigo MiCodigo
Sub Sub Main Main() () punto de entrada a la aplicaci punto de entrada a la aplicaci n n
.... ....
End End Module Module
5. 5. Mostrar mensaje de inicio usando la clase del sistema Mostrar mensaje de inicio usando la clase del sistema MessageBox MessageBox
MessageBox.Show MessageBox.Show( ( Empieza el programa Empieza el programa ) )
UCLM-ESI. Programacin con Visual Basic .NET 1. 44
Segundo programa Segundo programa Preguntar usuario Preguntar usuario
Escribiendo c
Escribiendo c

digo
digo (ii) (ii)
6. 6. Configurar propiedades del proyecto Configurar propiedades del proyecto
Nombre ensamblado: Nombre ensamblado: EscribirCodigo EscribirCodigo
Espacio de nombres: Espacio de nombres: EscribirCodigo EscribirCodigo
Objeto inicial: Objeto inicial: Sub Sub Main Main
7. 7. Declarar la variable Declarar la variable Nombre Nombre de tipo de tipo string string
Dim Dim Nombre As Nombre As String String
8. 8. Usar funci Usar funci n n InputBox InputBox() para preguntar nombre del usuario y () para preguntar nombre del usuario y
almacenarlo en la variable Nombre almacenarlo en la variable Nombre
Nombre= Nombre=InputBox InputBox( ( Nombre del usuario: Nombre del usuario: ) )
9. 9. Utilizar el operador de concatenar textos (&) para mostrar Utilizar el operador de concatenar textos (&) para mostrar
mensaje de control mensaje de control
MessageBox.Show MessageBox.Show( ( El usuario es El usuario es & Nombre, & Nombre, Programa de Programa de
prueba prueba ) )
10. 10. Ejecutar el programa y grabarlo en disco Ejecutar el programa y grabarlo en disco
11. 11. Probar depuraci Probar depuraci n errores n errores (poner la declaraci (poner la declaraci n n Dim Dim como comentario) como comentario)
UCLM-ESI. Programacin con Visual Basic .NET 1. 45
Ir pensando en la Prctica 1
Resolver ecuacin 2
do
grado (i)
Mostrar un formulario para preguntar los tres coeficientes de un Mostrar un formulario para preguntar los tres coeficientes de una a
ecuaci ecuaci n de segundo grado: n de segundo grado:
A* A*x^2 x^2 + B*x + C = 0 + B*x + C = 0
Preguntar cada coeficiente en un control de tipo Preguntar cada coeficiente en un control de tipo TextBox TextBox
A A adir un bot adir un bot n n Calcular Calcular para obtener las soluciones invocando para obtener las soluciones invocando
al procedimiento de igual nombre. al procedimiento de igual nombre.
Indicar si las soluciones son reales o imaginarias con un contro Indicar si las soluciones son reales o imaginarias con un control l
CheckBox CheckBox. .
Mostrar las 2 soluciones en un control etiqueta Mostrar las 2 soluciones en un control etiqueta Soluci Soluci n n con texto con texto
azul si son reales y rojo si son imaginarias. azul si son reales y rojo si son imaginarias.
Ejemplo formato 2 soluciones reales: Ejemplo formato 2 soluciones reales: 2 2 45 y 78 45 y 78 23 23
Ejemplo formato 1 soluci Ejemplo formato 1 soluci n real: n real: - -9 9 06 06
Ejemplo formato 2 soluciones imaginarias: Ejemplo formato 2 soluciones imaginarias: 1 1 48+2 48+2 1i y 0 1i y 0 63 63- -1 1 86i 86i
A A adir un bot adir un bot n n Salir Salir para acabar. para acabar.

Você também pode gostar