0% encontró este documento útil (0 votos)
1K vistas64 páginas

La Biblia de Visual Basic NET (Capitulo 1)

Este capítulo presenta una revisión de .NET Framework 4, Visual Studio 2010 y Visual Basic .NET 2010. Brevemente describe los principales componentes de .NET Framework como la biblioteca de clases y el motor de ejecución común. Luego resume las características de Visual Studio 2010 como entorno de desarrollo integrado y finalmente resalta algunas funciones de Visual Basic .NET 2010 como las estructuras de control de flujo y tipos de datos.

Cargado por

Hanz Perea
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas64 páginas

La Biblia de Visual Basic NET (Capitulo 1)

Este capítulo presenta una revisión de .NET Framework 4, Visual Studio 2010 y Visual Basic .NET 2010. Brevemente describe los principales componentes de .NET Framework como la biblioteca de clases y el motor de ejecución común. Luego resume las características de Visual Studio 2010 como entorno de desarrollo integrado y finalmente resalta algunas funciones de Visual Basic .NET 2010 como las estructuras de control de flujo y tipos de datos.

Cargado por

Hanz Perea
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 64

La Biblia de

Visual Basic .NET


Captulo 1

Autor: Luis Dueas Huaroto


Lima Per (2013)

Acerca del Autor


Luis Dueas Huaroto es un especialista en desarrollo de Software con ms
de 20 aos de experiencia, tiene estudios superiores en Economa,
Computacin y Maestra en Ingeniera de Sistemas con especializacin en
Ingeniera de Software.
El autor tiene las certificaciones: Microsoft Certified Professional (MCP),
Microsoft Office User Spercialist (MOUS), Microsoft Certified Solution
Developer .NET (MCSD), Microsoft Certified Technology Specialist (MCTS) y
Microsoft Certified Trainer (MCT), adems conoce las versiones de Visual
Basic 3,4,5,6 y .NET desde sus inicios habiendo trabajado con todas las
versiones de .NET Framework y Visual Studio.
Actualmente se desempea como consultor Senior y Team Leader en una
importante Consultora de Sistemas, adems de laborar como docente hace
ms de 10 aos en ISILTECH que es el centro de especializacin del
Instituto San Ignacio de Loyola.
Tambin realiza capacitaciones de desarrollo sobre la plataforma .NET a
Empresas, entre las cuales tenemos: Provas Nacional del Ministerio de
Transportes y Comunicaciones, Policia Nacional del Per, Clinica Ricardo
Palma, Banco INTERBANK, BCTS Consulting, entre otros.
Para cualquier contacto con el llamar al telfono 997500549 o enviar un
mail a [email protected]

Dedicatoria
Este libro va dedicado a las personas que cada da me obligan a investigar
ms y a aprender nuevos temas, en especial a mis alumnos y mis
compaeros de trabajo.
Sobre todo va dedicado para mis alumnos ms antiguos como: Ral Antn,
Marcelino Cabanaconza, Luis y Nano Agape, Juan Carlos Moreno y Edward
Schwarz.

Indice
Introduccin
Captulo 1: .NET Framework 4, Visual Studio 2010 y Visual Basic .NET 2010
1. Introduccin a Microsoft .NET Framework 4
1.1.
Componentes de Microsoft .NET Framework
1.2.
Biblioteca de Clases de .NET Framework (BCL)
1.3.
Motor de Ejecucin de Lenguaje Comn (CLR)
1.4.
Novedades del .NET Framework 4
2. Visual Studio .NET 2010
2.1.
Descripcin del Entorno Integrado de Desarrollo (IDE)
2.2.
Novedades de Visual Studio 2010
3. Visual Basic .NET 2010
3.1.
Estructuras de Control de Flujo
3.2.
Tipos de Datos en Visual Basic
3.3.
Operadores y Expresiones en Visual Basic
3.4.
Variables en Visual Basic
3.5.
Novedades de Visual Basic 2010
Captulo 2: Programando con Visual Basic .NET 2010
1. Trabajar con el Entorno de Windows y el Sistema
1.1.
Obtener Informacin del Sistema
1.2.
Obtener Directorios Especiales de Windows
1.3.
Acceder al Registro de Windows
1.4.
Trabajar con Procesos o Tareas del Sistema
2. Manejo de Entrada y Salida
2.1.
Manejar Unidades, Directorios, Rutas y Archivos
2.2.
Leer y Escribir en un Archivo
2.3.
Dividir y Unir Archivos
2.4.
Comprimir y Descomprimir un Archivo
3. Programacin Orientada a Objetos (POO)
3.1.
Introduccin a la POO y MDD
3.2.
Creando Bibliotecas de Clases
3.3.
Creando una Aplicacin que use las Bibliotecas de Clases
4. Programacin Asncrona y Paralelismo

4.1.
Threads
4.2.
Eventos Asncronos
4.3.
Delegados CallBacks
4.4.
Programacin Paralela
5. Criptografa o Cifrado de Datos
5.1.
Cifrado Simtrico por Caracter
5.2.
Cifrado Simtrico por Bloques
5.3.
Valores Hash Criptogrficos
Captulo 3: Accediendo a Datos con ADO .NET
1. Trabajando en Forma Conectada
1.1.
Introduccin al Acceso a Datos con ADO .NET
1.2.
Conectarse a un Origen de Datos
1.3.
Ejecutando Comandos de Seleccin
1.4.
Realizando un Mantenimiento Conectado
2. Trabajando en Forma Desconectada con DataSet
2.1.
Trabajando con Tablas y Relaciones
2.2.
Trabajando con Vistas
2.3.
Mantenimiento Desconectado con DataSet
3. Trabajando en Forma Desconectada con Listas de Objetos
3.1.
Llenando una Lista de Objetos
3.2.
Filtrando Datos en una Lista de Objetos
3.3.
Ordenando y Buscando datos en una Lista de Objetos
3.4.
Mantenimiento con Objetos
4. LINQ
4.1.
LINQ a DataSet
4.2.
LINQ a SQL
4.3.
LINQ a Entidades
Captulo 4: Desarrollando Aplicaciones Windows Forms
1. Trabajando con el Formulario y los Controles Windows
1.1.
Trabajando con el Formulario Windows
1.2.
Usando Controles Bsicos
1.3.
Usando Controles de Listas
1.4.
Usando Controles de Vistas
2. Creando Formularios MDIs, Mens, Dilogos y Barras

2.1.
Creando Formularios MDIs
2.2.
Creando Mens
2.3.
Usando Dialogos de Windows
2.4.
Agregando Barras
3. Usando el Control DataGridView
3.1.
Personalizando Columnas en el DataGridView
3.2.
Mostrando una Imagen en una Columna
3.3.
Personalizando las Cabeceras de las Columnas
3.4.
Graficando en el DataGridView
3.5.
Paginando en un DataGridView
4. Creando una Biblioteca de Controles Windows
4.1.
Creando Controles Extendidos
4.2.
Creando Controles de Usuario
4.3.
Creando Controles Personalizados
5. Creando Reportes e Impresiones en Windows Forms
5.1.
Usando PrintDocument
5.2.
Informes de Microsoft
5.3.
Trabajando con Word
5.4.
Trabajando con Excel
5.5.
Usando el Control Chart
Captulo 5: Desarrollando Aplicaciones Web con ASP .NET
1. Trabajando con el Formulario y los Controles Web
1.1.
Introduccin a ASP .NET
1.2.
Creando un Simple Sitio Web
1.3.
Usando Controles Web Intrnsecos
1.4.
Usando Controles Web de Imgenes
1.5.
Usando el Control FileUpload y Controles de Validacin
2. Mejorando el Diseo y Navegabilidad del Sitio Web
2.1.
Creando y usando Hojas de Estilos en Cascada
2.2.
Paginas Principales y Controles de Navegacin
2.3.
Usando Controles de Vistas MultiView y Views
3. Usando el Control GridView
3.1.
Personalizando Columnas en el GridView
3.2.
Paginando en el GridView
3.3.
Ordenando en el GridView

3.4.
Mantenimiento de Datos en el GridView
4. Creando Plantillas en Controles Enlazados a Datos
4.1.
Trabajando con el Control Repeater
4.2.
Trabajando con el Control DataList
4.3.
Creando Plantillas Jerrquicas
Captulo 6: Desarrollando Aplicaciones con WPF
1. Creando Aplicaciones Bsicas con WPF
1.1.
Introduccin a WPF
1.2.
Trabajando con Ventanas
1.3.
Trabajando con Pginas
1.4.
Usando Cuadros de Dilogo
2. Usando Enlace de Datos
2.1.
Introduccin al Enlace de Datos
2.2.
Usando Enlace de Datos
2.3.
Usando Conversin de Datos
2.4.
Usando Plantillas de Datos
2.5.
Usando el Control DataGrid
3. Manejando Documentos
3.1.
Introduccin al Manejo de Documentos
3.2.
Trabajando con Documentos Fijos
3.3.
Creando Anotaciones en Documentos
3.4.
Trabajando con Documentos Dinmicos
4. Manejando Multimedia
4.1.
Introduccin al Manejo de Multimedia
4.2.
Implementando Voz
4.3.
Trabajando con Audio y Video
Indice de Ejemplos del Libro
Enlaces de Referencia

Introduccin
Tratar de escribir una obra completa sobre desarrollo de aplicaciones
usando Visual Basic en .NET Framework es muy ambicioso, por lo cual se
ha dividido en 2 partes, ste libro es la primera parte de este esfuerzo y
contiene 6 captulos.
El primero es conceptual y brinda informacin sobre .NET Framework,
Visual Studio y Visual Basic. El segundo captulo nos ensea como
programar en Visual Basic usando algunas clases de .NET Framework como
el entorno, entrada y salida, programacin orientada a objetos,
programacin asncrona y seguridad de datos.
El tercer captulo trata el acceso a datos usando ADO .NET y se divide en
programacin conectada, programacin desconectada con DataSet y
tambin con Lista de Objetos, al final se revisa LINQ.
El cuarto captulo ensea el desarrollo de aplicaciones para Windows
usando WinForms y contiene temas como el formulario y los controles,
creacin de MDIs y mens, uso de dilogos y barras de herramientas,
tambin trata detalladamente el control DataGridView y cmo crear una
librera de controles para Windows y finalmente diferentes formas de crear
reportes e impresiones en Windows.
En el quinto captulo se apreder a desarrollar aplicaciones Web usando
ASP .NET Web Forms, iniciando con el formulario y los controles Web,
mejorando el diseo usando Hojas de Estilo en Cascada y mejorando la
navegabilidad mediante controles de navegacin y paginas principales,
tambin usando controles MultiView y Views para usar fichas o tabs.
En el ltimo captulo de este libro veremos Windows Presentations
Foundation (WPF) para crear aplicaciones Windows y del Explorador,
trabajaremos con enlace de datos, manejo de documentos y finalmente
implementaremos caractersticas Multimedia.
Como parte del segundo libro estara quedando ASP .NET MVC, Silverlight,
Windows Communication Foundation (WCF), Windows Workflow
Foundation (WWF), Desarrollo con MS Office en .NET y Desarrollo con MS
SharePoint en .NET.

Capitulo 1: .NET Framework 4, Visual Studio 2010 y


Visual Basic .NET 2010
En este primer captulo del libro daremos una revisin rpida de la
arquitectura y componentes de la plataforma de desarrollo Microsoft .NET
Framework 4, las caractersticas de la Herramienta de Desarrollo Visual
Studio 2010 y del Lenguaje Visual Basic .NET 2010.
En los 3 veremos las caractersticas principales as como las novedades de
esta versin, tanto de plataforma, del entorno de desarrollo de Visual
Studio as como del Lenguaje Visual Basic.

1. Introduccin a Microsoft .NET Framework 4


Microsoft .NET Framework 4.0 es la ultima plataforma de desarrollo
Microsoft que permite crear todo tipo de aplicaciones desde aplicaciones de
consola para programas en lotes o batch, aplicaciones Windows para
Cliente/Servidor, aplicaciones Web parta Internet o Intranet, Servicios Web
para inter operar con otras plataformas, Servicios Windows para ejecutar
tareas en segundo plano, y otros tipos de aplicaciones.
Tambin nos permite crear Libreras o Bibliotecas de clases reusables, ya
sea a nivel de cdigo, de controles, de servicios, de flujos, etc., las cuales
pueden utilizarse en diferentes tipos de aplicaciones.
A partir de la versin 3.0 se incluyo en el .NET Framework el poder crear
aplicaciones de mejor presentacin visual con WPF (Windows Presentations
Foundation), tambin se unifico las aplicaciones distribuidas que antes se
implementaban mediante Web Services, COM+ y NET Remoting en un solo
conjunto de componentes llamado WCF (Windows Communication
Foundation) y tambin se dio la posibilidad de crear aplicaciones de flujo de
trabajo o colaboracin con WWF (Windows Workflow Foundation).
Para realizar el desarrollo de aplicaciones o libreras en .NET el
desarrollador puede elegir entre muchos Lenguajes .NET algunos de
Microsoft como C#, J#, Visual Basic, Visual C++ y otros de diferentes
proveedores: como ADA, APL, ASML, BETA, BF, C, Clarion#, COBOL,
Cobra, CULE, E#, Eiffel, Flash, Forth, Fortran, G#, Jaskel, JavaScript, LISP,
LOGO, Mercury, Modula 2, Oberon, Pascal, Perl, PHP, Prolog, Python, RPG,
Ruby, Scala, Scheme, Smaltalk, etc.
Esta ultima caracterstica de los lenguajes .NET es una diferencia
fundamental con respecto a JAVA en donde el desarrollador solo programa
usando un lenguaje (Java), en cambio con .NET Framework, podemos
elegir entre muchos lenguajes, esta eleccin se har de acuerdo a la
experiencia que tenga la persona, en este libro vamos a usar el lenguaje
Basic, es decir Visual Basic .NET.
Visual Basic .NET es recomendable para las personas que se inician en el
desarrollo de software y no han visto ningn lenguaje, pero tambin para
aquellos desarrolladores con experiencia que vienen de Visual Basic 3, 4, 5

o 6; de Foxpro, Visual Foxpro o Power Builder; ya que tiene caractersticas


similares a estos, como el Modelo Conducido por Eventos (Event Driven
Model o MDE), adems de ser Orientado a Objetos (OOP), entre otras
caractersticas modernas.

1.1.

Componentes de Microsoft .NET Framework

Para desarrollar necesitamos una plataforma o entorno de desarrollo al cual


se le conoce como Framework de Desarrollo, el .NET Framework es la
plataforma que necesitamos para realizar cualquier tipo de desarrollo y se
compone de 2 elementos principales:

Las Bibliotecas de Clase Base (BCL): conjunto de libreras de contienen


clases que permiten crear la aplicacin.

El Motor de Ejecucin de Lenguaje Comn (CLR): conjunto de


programas que permiten compilar (a cdigo nativo) y ejecutar la
aplicacin entre otras tareas que se detallan ms adelante.

Cuando desarrollemos aplicaciones con .NET Framework, debemos tener


en cuenta el tipo de Aplicacin:

Aplicacin Administrada: manejada por el CLR o motor de ejecucin de


.NET, por ejemplo las aplicaciones de Consola, Windows, WPF, etc.

Aplicacin No Administrada: manejada por otro motor, por ejemplo las


Aplicaciones Web son manejadas por el motor de ejecucin de ASP NET
y por el IIS, las aplicaciones COM+ son manejadas por el DLLHost, etc.

Grfico 1.1: .NET Framework en contexto

1.2.

Biblioteca de Clases de .NET Framework (BCL)

La BCL es una coleccin de ms de 5000 tipos orientados a objetos


distribuidos en ms de 80000 miembros, los tipos se clasifican en:

Tipos por Valor: Se copia el valor a la variable


Tipos Simples del .Net Framework: char, boolean, byte, int, etc.
Enumeraciones.
Estructuras.

Tipos por referencia


Tipos complejos de .NET Framework: String, StringBuilder,
DataSet, FileStream, StreamReader, StreamWriter, etc.
Clases.
Enumeraciones.

Cada tipo contiene elementos o miembros que pueden ser:

Construtores y Destructores

Propiedades, Metodos y Eventos

Campos (variables publicas)

Delegados (punteros a funciones)

Enumeraciones

Operadores

A su vez los tipos estn organizados fsicamente en Libreras (Assemblies) y


lgicamente en Espacios de Nombres (Namespace). Por ejemplo los tipos
simples se encuentran en la librera System.Core.dll, los tipos principales en
System.dll, el formulario y los controles Windows Forms en System.
Windows.Forms.dll, etc.

La BCL tiene ms de 255 espacios de nombres principales que agrupan a


los tipos por categoras de uso, la mayora inician con System y unos
cuantos con Microsoft, entre los principales tenemos:
Espacio nombres

Descripcin

Microsoft.VisualBasic Contienen clases que admiten la compilacin y


generacin de cdigo mediante el lenguaje Visual
Basic.

Los

espacios

de

nombres

secundarios

contienen tipos que proporcionan servicios al


compilador de Visual Basic y tipos que incluyen
compatibilidad con el modelo de aplicaciones de
Visual Basic, el espacio de nombres My, expresiones
lambda y conversin de cdigo.
Microsoft.Win32

Proporcionan

tipos

que

administran

eventos

provocados por el sistema operativo, que manipulan


el

Registro

del

sistema,

que

representan

identificadores de archivo y del sistema operativo.


System

Contiene clases que le permiten hacer coincidir con


los URI con plantillas URI y grupos de plantillas URI.

System.Activities

Contienen todas las clases necesarias para crear y


trabajar con actividades en Windows Workflow
Foundation.

System.Collections

Contienen tipos que definen varios objetos de


coleccin estndar, especializados y genricos.

System.Configuration Contienen

tipos

para

administrar

datos

de

configuracin,
configuracin

como
de

datos

equipos

de

archivos

de

aplicaciones.

Los

espacios de nombres secundarios contienen tipos


que se emplean para configurar un ensamblado,
escribir

instaladores

personalizados

de

componentes, y admitir un modelo conectable para


agregar o quitar funcionalidad tanto de aplicaciones
cliente como de aplicaciones servidor.
System.Data

Contienen clases para tener acceso a datos y


administrarlos desde distintos orgenes. El espacio
de nombres de nivel superior y una serie de
espacios

de

nombres

secundarios

forman

conjuntamente la arquitectura ADO.NET y los


proveedores de datos de ADO.NET. Por ejemplo,
hay disponibles proveedores para SQL Server,
Oracle, ODBC y OleDB. Otros espacios de nombres
secundarios contienen clases empleadas por Entity
Data Model (EDM) de ADO.NET y por Servicios de
datos de WCF.
System.Diagnostics

Contienen tipos que le permiten interactuar con


procesos del sistema, registros de eventos y
contadores
nombres

de

rendimiento.

secundarios

Los

contienen

espacios
tipos

de
para

interactuar con herramientas de anlisis del cdigo,


admitir contratos, ampliar la compatibilidad en
tiempo

de

diseo

con

la

supervisin

instrumentacin de aplicaciones, registrar datos de


eventos mediante el subsistema Seguimiento de

eventos para Windows (ETW), leer registros de


eventos y escribir en ellos y recopilar datos de
rendimiento, y para leer y escribir informacin de
smbolos de depuracin.
System.Drawing

Contiene tipos que admiten funcionalidad bsica de


grficos

GDI+.

Los

espacios

de

nombres

secundarios admiten funcionalidad avanzada de


grficos bidimensionales y vectoriales, funcionalidad
avanzada

de

procesamiento

servicios

tipogrficos

de

imgenes,

relacionados

con

y
la

impresin. Un espacio de nombres secundario


tambin contiene tipos que extienden la lgica y el
dibujo de la interfaz de usuario en tiempo de
diseo.
System.Globalization Contiene clases que definen informacin relativa a la
referencia cultural, incluido el idioma, el pas o
regin, los calendarios utilizados, los modelos de
formato de fecha, divisa y nmeros, y el criterio de
ordenacin de las cadenas. Estas clases son tiles
para escribir aplicaciones internacionalizadas.
System.IO

Contienen tipos que admiten entrada y salida,


incluida la posibilidad de leer y escribir datos en
flujos de forma sincrnica o asincrnica, comprimir
datos en flujos, crear y usar almacenes aislados,
asignar archivos al espacio de direcciones lgicas de
una aplicacin, almacenar varios objetos de datos
en un nico contenedor, comunicarse mediante

canalizaciones

annimas

con

nombre,

implementar el registro personalizado, y administrar


el flujo de datos hacia y desde puertos serie.
System.Linq

Contienen tipos que admiten consultas que emplean


Language-Integrated Query (LINQ). Esto incluye
tipos que representan consultas como objetos en
rboles de expresin.

System.Media

Contiene clases para reproducir archivos de sonido y


obtener acceso a los sonidos que proporciona el
sistema.

System.Messaging

Contienen tipos que le permiten conectar con colas


de mensajes en la red, as como supervisarlas y
administrarlas, y enviar, recibir o inspeccionar
mensajes. Un espacio de nombres secundario
contiene clases que se pueden usar para ampliar la
compatibilidad en tiempo de diseo de clases de
mensajera.

System.Net

Contienen clases que proporcionan una interfaz de


programacin sencilla para diversos protocolos de
red,

tienen

actualizan

acceso

valores

mediante
de

programacin

configuracin

para

y
los

espacios de nombres System.Net, definen directivas


de cach para recursos web, redactan y envan
correo electrnico, representan encabezados de
Extensiones

multipropsito

de

correo

Internet

(MIME), tienen acceso a datos de trfico de red y a

informacin de direcciones de red, y tienen acceso a


funcionalidad de red punto a punto. Otros espacios
de

nombres

secundarios

implementacin

proporcionan

administrada

de

la

una

interfaz

Windows Sockets (Winsock) y brindan acceso a


secuencias de red para proteger las comunicaciones
entre hosts.
System.Reflection

Contienen

tipos

que

proporcionan

una

vista

administrada de los tipos, mtodos y campos


cargados, y que pueden crear e invocar tipos de
forma dinmica. Un espacio de nombres secundario
contiene tipos que permiten a un compilador u otra
herramienta

emitir

metadatos

el

lenguaje

intermedio de Microsoft (MSIL).


System.Runtime

Contienen tipos que admiten la interaccin de una


aplicacin

con

CLR,

tipos

que

habilitan

caractersticas como almacenamiento en cach de


datos

de

la

aplicacin,

control

avanzado

de

excepciones, activacin de aplicaciones dentro de


dominios de aplicacin, interoperabilidad COM,
aplicaciones

distribuidas,

serializacin

deserializacin, y control de versiones, etc.


System.Security

Contienen clases que representan el sistema de


seguridad y los permisos de .NET Framework. Los
espacios de nombres secundarios proporcionan
tipos que controlan el acceso a objetos protegibles y
los

auditan,

permiten

autenticacin,

ofrecen

servicios criptogrficos, controlan el acceso a


operaciones y recursos segn una directiva, y
admiten la administracin de derechos del contenido
creado por la aplicacin.
System.ServiceModel Contienen

los

tipos

necesarios

para

compilar

aplicaciones cliente y de servicio de Windows


Communication Foundation (WCF).
System.Service

Contienen tipos que le permiten implementar,

Process

instalar y controlar aplicaciones de servicios de


Windows, y extienden la compatibilidad en tiempo
de diseo con aplicaciones de servicios de Windows.

System.Speech

Contienen tipos que admiten reconocimiento de voz.

System.Text

Contienen tipos para la codificacin de caracteres y


la manipulacin de cadenas. Un espacio de nombres
secundario

le

permite

procesar

texto

usando

expresiones regulares.
System.Threading

Contienen tipos que habilitan la programacin


multiproceso. Un espacio de nombres secundario
proporciona tipos que simplifican el trabajo de
escribir cdigo simultneo y asincrnico.

System.Web

Contienen tipos que habilitan la comunicacin entre


el explorador y el servidor. Los espacios de nombres
secundarios

incluyen

tipos

que

admiten

autenticacin de formularios de ASP.NET, servicios

de aplicacin, almacenamiento en cach de datos


en

el

servidor,

configuracin

de

aplicaciones

ASP.NET, datos dinmicos, controladores HTTP,


serializacin

de

JSON,

funcionalidad

AJAX

incorporacin

ASP.NET,

de

seguridad

de

ASP.NET y servicios Web.


System.Windows

Contienen tipos usados en aplicaciones de Windows


Presentation Foundation (WPF), incluidos clientes de
animacin, controles de interfaz de usuario, enlace
de

datos

conversin

de

tipos.

System.Windows.Forms y sus espacios de nombres


secundarios

se

emplean

para

desarrollar

aplicaciones de Windows Forms.


System.Workflow

Contienen tipos usados para desarrollar aplicaciones


que emplean Windows Workflow Foundation. Estos
tipos ofrecen compatibilidad en tiempo de diseo y
en tiempo de ejecucin con reglas y actividades
para configurar, controlar, hospedar y depurar el
motor en tiempo de ejecucin de flujos de trabajo.

System.Xaml

Contienen tipos que admiten el anlisis y el


procesamiento del lenguaje XAML.

System.Xml

Contienen tipos para el procesamiento de XML. Los


espacios

de

nombres

secundarios

admiten

la

serializacin de documentos o secuencias XML,


esquemas XSD, XQuery 1.0 y XPath 2.0, y LINQ a
XML.

1.3.

Motor de Ejecucin de Lenguaje Comn (CLR)

El CLR administra la memoria, la ejecucin de subprocesos, la ejecucin de


cdigo la comprobacin de la seguridad, compilacin a cdigo nativo, entre
otros servicios del sistema, es decir todos los servicios que se usan al
ejecutar un programa.
El desarrollador crea una aplicacin manejada o administrada en cualquiera
de los Lenguajes .NET de Alto Nivel mencionados como C# o Visual Basic,
luego lo compila con el compilador del lenguaje: CSC.exe para C#, VBC.exe
para Visual Basic crendose un ensamblado (Assembly) que se encuentra
en Lenguaje Intermedio de Microsoft (MSIL).
Al querer ejecutar este Assembly el CLR invoca al Compilador Just In Time
que convierte el cdigo MSIL en cdigo nativo el cual se encuentra en
Lenguaje de Bajo Nivel y es este ultimo cdigo que el CLR ejecuta para
comunicarse con el sistema (RAM, CPU, Video, Sistema de Archivos, Bases
de Datos, etc.)
Cuando se inicia la aplicacin el CLR se encarga de crear objetos en
memoria mediante el Class Loader y tambin se encarga de liberar de la
memoria los objetos que no estn siendo usados cuando haga falta ms
memoria, el encargado de esta tarea es el Garbage Collector.
Otras funciones del CLR son administrar los subprocesos o subtareas, a
veces conocidas como hilos (Threads), controlar las excepciones o errores
en tiempo de ejecucin, administrar la seguridad del cdigo .NET
otorgndole los privilegios de acuerdo a reglas o polticas de seguridad,
entre otras funciones implcitas en toda ejecucin de una aplicacin.
El CLR tambin administra la seguridad de tipos mediante un Sistema de
Tipos Comn (CTS) que obliga a que todos los fabricantes de cdigo .NET
cumplan con las especificaciones de tipos que el CLR obliga, es por eso que
podemos escribir cdigo en un lenguaje .NET como C# y usarlo en una
aplicacin Visual Basic y viceversa, lo cual es conocido como Neutralidad
del Lenguaje.
En resumen, el motor en tiempo de ejecucin (CLR) ofrece las siguientes
ventajas:

Mejoras en el rendimiento de la aplicacin (performance).

Capacidad para utilizar fcilmente componentes desarrollados en otros


lenguajes.

Tipos extensibles que proporciona una biblioteca de clases

Caractersticas del lenguaje como herencia, interfaces y sobrecarga


para la programacin orientada a objetos.

Compatibilidad con subprocesamiento libre explcito que permite la


creacin de aplicaciones multiprocesos escalables.

Compatibilidad con el control de excepciones estructurado.

Compatibilidad con atributos personalizados.

Recoleccin de elementos no utilizados.

Emplear delegados en lugar de punteros a funciones para mayor


seguridad y proteccin de tipos.

1.4.

Novedades del .NET Framework 4

En esta versin del .NET Framework existen muchas novedades entre las
cuales podemos mencionar:

Mejoras en funciones del entorno del sistema: System.Environment


Nuevas propiedades para detectar si el Sistema Operativo es de
64 bits: is64BitOperatingSystem y si el Proceso es de 64 Bits:
is64BitProcess.
Ms valores devueltos para las carpetas o folders especiales del
sistema en la enumeracin SpecialFolder.

Mejoras en funciones de entrada y salida: System.IO


Nuevos mtodos para leer gran cantidad de directorios:
Directory.EnumerateDirectories y para leer gran cantidad de
archivos de uno o ms directorios: Directory.EnumerateFiles.
Nuevos mtodos para manejar archivos usando todas sus
lneas: File.ReadAllLines, File.WriteAllLines, File.AppendAllLines.
Nuevo mtodo para copiar una secuencia de memoria en otra:
Stream.CopyTo.
La nueva sobre carga de Path.Combine permite combinar rutas
de accesos de archivos.
Mejora de los algoritmos de compresin de archivos: GZip
Stream y DeflateStream para no aumentar tamao de los
archivos ya comprimidos y tambin eliminacin de restriccin
del tamao de 4GB.
Compatibilidad con archivos asignados a memoria, lo cual sirve
para editar archivos muy grandes y crear memoria compartida
para la comunicacin entre procesos: MemoryMappedFile.

Mejoras en Diagnstico y Rendimiento: System.Diagnostics

Clculo del uso del procesador y de la memoria por dominio de


la aplicacin y no solo por proceso.
Monitoreo y recopilacin de estadsticas para todos los dominios
de aplicacin con la propiedad AppDomain.MonitoringIsEnabled.
Administrar excepciones que indican un estado de proceso
daado mediante el atributo System.Runtime.ExceptionServices.
HandleProcessCorruptedStateExceptionsAttribute.

Mejora en tratamiento de Cadenas: System.String y System.Text.


StringBuilder
Se ha sobrecargado los mtodos: String.Join y String.Concat.
Nuevo mtodo para verificar si una cadena esta vaca o nula o
con espacios en blanco: String.IsNullOrWhiteSpace.
Nuevo mtodo para limpiar el objeto constructor de cadenas:
StringBuilder.Clear.

Mejora en manejo de Colecciones: System.Collections


Nueva clase genrica SortedSet que permite ordenar
automticamente los elementos del conjunto despus de una
insercin, eliminacin o bsqueda de elementos.

Programacin Paralela: System.Threading.Tasks


Paralelismo de datos mediante: Parallel.For y Parallel.ForEach
Paralelismo de tareas mediante: Task.Start, Task.FactoryStart
New y Parallel.Invoke.
LINQ Paralelo (PLINQ) mediante operadores: AsParallel,
AsSequential, AsOrdered, ForAll, AsUnordered, WithCacellation,
WithDegreeOfParallelism.

Mejoras en Acceso a Datos: System.Data


ADO .NET Entity Framework:

Objetos que ignoran la persistencia

Funciones en consultas LINQ.

Generacin cdigo personalizado capa de objeto.

Datos dinmicos:

Validacin automtica basada en restricciones definidas


en el modelo de datos.

Servicios de Datos de WCF:

Enlace de datos.

Contar las entidades de un conjunto de entidades.

Paginacin controlada por servidor.

Proyecciones de consultas.

Proveedores de servicios de datos personalizados.

Transmitir por secuencias recursos binarios

Mejoras en ASP NET: System.Web


Nueva API cach, estado de sesin.
Nuevo administrador precarga de aplicacin.
Compatibilidad mejorada con estndares web.
Nuevas caractersticas en controles de datos.
Mejora en administracin de estados de vista.
Nuevo control Chart para graficos.
Mejoras en MVC.
Datos dinmicos.
Compatibilidad en Microsoft Ajax Library.

Intellisense mejorado para JScript.


Autocompletar HTML y ASP .NET

Mejoras en Windows Presentations Foundation (WPF):


Nuevos controles: Calendar, DataGrid y DatePicker.
VisualStateManager: cambio estados control.
Grficos y animacin admite redondeo diseo
Mejora en la presentacin de texto y color.
Enlace en Command de InputBinding, objetos dinmicos y la
propiedad Text.
XBAP admite la comunicacin con la pgina web y la
implementacin de plena confianza.
System.Windows.Shell permite comunicarse con la barra de
tareas de Windows 7.
Mejoras en WPF y Silverlight Designer VS2010.

Mejoras en Windows Communication Foundation (WCF):


Activacin basada en la configuracin: no svc.
System.Web.Routing: direcciones URL sin ex.
Compatibilidad varios enlaces de sitios de IIS.
Servicio enrutamiento: mensajes segn contenido.
Compatibilidad con WS-Discovery.
Servicios de flujo trabajo: integra WCF y WWF.
Caractersticas de WCF REST:

Cach de servicios Web HTTP.

Compatibilidad con formatos Web HTTP.

Pgina de ayuda de los servicios Web HTTP.

Control de Errores Web HTTP.

Compatibilidad con JavaScript en dominios: JSON.

Configuracin simplificada.

Mejoras en Windows Workflow Foundation (WWF):


Modelo mejorado de actividad de flujo de trabajo.
Opciones completas de actividad composicin.
Biblioteca de actividades integrada ampliada.
Modelo explcito de datos de actividad.
Opciones mejoradas de hospedaje, persistencia y seguimiento:

Persistencia explcita mediante la actividad Persist.

Persistencia sin descarga.

Impedir la persistencia mediante zonas sin persistencia.

Uso de transacciones de ambiente del host.

Grabacin de informacin de seguimiento en el registro


de eventos.

Reanudacin de flujos de trabajo pendientes usando un


objeto Bookmark.

Mayor facilidad para extender el diseador de WWF.

2. Visual Studio .NET 2010


Visual Studio .NET es la herramienta de desarrollo Microsoft que utiliza la
plataforma de desarrollo .NET Framework, para crear rpidamente
aplicaciones .NET de todo tipo. Podra crear aplicaciones simples usando el
bloc de notas y un compilador .NET, pero si la aplicacin es compleja y
tiene muchas pantallas demorara demasiado, el Visual Studio le permite
simplificar todo el desarrollo de desarrollo e inclusive las pruebas.
A continuacin se muestra la descripcin del IDE y las novedades de Visual
Studio 2010 obtenidas del MSDN de Microsoft (ver referencias 6 y 7 al final
del libro).

2.1.

Descripcin del Entorno Integrado de Desarrollo (IDE)

La gama de productos de Visual Studio comparte un nico entorno de


desarrollo integrado (IDE) que se compone de varios elementos: la barra
de mens, la barra de herramientas Estndar, varias ventanas de
herramientas que se acoplan u ocultan automticamente a la izquierda, en
la parte inferior y a la derecha, as como en el espacio del editor. Las
ventanas de herramientas, mens y barras de herramientas disponibles
dependen del tipo de proyecto o archivo en el que est trabajando.
Grfico 1.2: IDE con la configuracin de desarrollo general
aplicada

Dependiendo de la configuracin aplicada y de las subsiguientes


personalizaciones que haya realizado, variar la colocacin de las ventanas
de herramientas y de otros elementos en el IDE. Puede cambiar la
configuracin mediante el Import and Export Settings Wizard. Al
seleccionar la opcin Restablecer todas las configuraciones, se puede
cambiar el lenguaje de programacin predeterminado.
Puede desplazarse y acoplar ventanas con facilidad mediante el rombo de
gua visual u ocultar temporalmente las ventanas utilizando el comando
Ocultar automticamente.

Puede utilizar el modelo de automatizacin de Visual Studio para


automatizar y extender el IDE.

Sistema de Proyectos
Las soluciones y los proyectos contienen elementos en forma de
referencias, conexiones de datos, carpetas y archivos necesarios para crear
la aplicacin. Un contenedor de tipo solucin puede contener varios
proyectos y un contenedor de tipo proyecto normalmente contiene varios
elementos.
El Explorador de Soluciones muestra soluciones, sus proyectos y los
elementos incluidos en dichos proyectos. En el Explorador de soluciones,
puede abrir archivos para editar, agregar nuevos archivos a un proyecto y
ver las propiedades de las soluciones, proyectos y elementos.
Grfico 1.3: Ventana del Explorador de Soluciones

Editores y Diseadores
El editor y los diseadores que utilice dependern del tipo de archivo o
documento que est creando. El Editor de texto es el procesador de textos

bsico del IDE, mientras que el Editor de cdigo es el editor de cdigo


fuente bsico.
Otros editores, como el Editor CSS, el Diseador HTML y el Diseador de
pginas Web, comparten muchas de las caractersticas del Editor de
cdigo, junto con mejoras especficas en el tipo de cdigo o de marcado
admitido.
Los editores y diseadores normalmente tienen dos vistas: una vista de
diseo grfica y la vista de cdigo subyacente o vista de cdigo fuente. La
vista de diseo le permite especificar la ubicacin de los controles y otros
elementos en la interfaz de usuario o la pgina web. Puede arrastrar
controles desde el cuadro de herramientas y colocarlos en la superficie de
diseo.
Grfico 1.4: Diseador de Pginas Web vista Diseo

La vista Cdigo fuente muestra el cdigo fuente del archivo o documento.


Esta vista admite ayudas de codificacin como IntelliSense, secciones de
cdigo plegables, Refactorizacin (C#) e insercin de fragmentos de
cdigo. Otras caractersticas incluyen el ajuste automtico de lnea, los
marcadores y la visualizacin de nmeros de lnea, por citar algunos.

Grfico 1.5: Diseador de Pginas Web vista Cdigo Fuente

Algunos editores, como el Diseador de pginas web y el Diseador XAML,


tambin proporcionan una vista hbrida que le permite ver la vista del
grfico y del cdigo de un archivo simultneamente. Esta vista se llama la
Vista dividida.

Grfico 1.6: Diseador de Pginas Web vista Dividida

Herramientas de compilacin y depuracin


Visual Studio proporciona un slido conjunto de herramientas de
compilacin y depuracin. Con las configuraciones de compilacin puede
seleccionar los componentes que se van a generar, excluir los que no se
van a generar y determinar cmo se van a generar los proyectos
seleccionados y en qu plataforma. Puede tener configuraciones de
compilacin para soluciones y para proyectos.
Cuando genera, est comenzando el proceso de depuracin. La
compilacin de la aplicacin le ayuda a detectar errores de compilacin.
Estos errores pueden deberse a una sintaxis incorrecta, a palabras clave
mal escritas o a divergencias entre los tipos. La Resultados (Ventana)
muestra estos tipos de errores.

Grfico 1.7: Ventana de salida con informacin de compilacin

Despus de generar la aplicacin, puede utilizar el depurador para detectar


y corregir problemas como errores lgicos y semnticos que se descubren
en tiempo de ejecucin. En el modo de interrupcin, puede examinar las
variables locales y otros datos pertinentes utilizando herramientas como
Ventanas de variables y la Ventana Memoria.
Grfico 1.8: Ventana de formulario VB en modo interrupcin

Grfico 1.9: Ventanas de herramientas de depuracin

La Ventana Lista de errores muestra errores, advertencias y otros mensajes


relacionados con la depuracin.

2.2.

Novedades de Visual Studio 2010

A continuacin presentamos de forma resumida las novedades de Visual


Studio 2010:

Novedades en Lenguajes
Visual Basic 2010: Continuacin de lnea implcita,
propiedades
implementadas
automticamente
y
inicializadores de coleccin.

las
los

Visual C# 2010: Tipo dynamic, los argumentos opcionales y con


nombre, la programacin de Office mejorada y la varianza.
Visual C++ 2010: Expresiones lambda, el declarador de
referencias de valores R y las palabras clave auto, decltype y
static_assert.

Novedades del Editor de Visual Studio


Comportamiento de acoplamiento mejorado.
Zoom.
Seleccin de cuadros.
Jerarqua de llamadas.
Navegar a.
Resaltar referncias.
Generar a partir del uso.
Modo de sugerencia de Intellisense.

Novedades en el desarrollo de Office


Desarrollar Soluciones para Microsoft Office 2010.
Mayor compatibilidad con la cinta de opciones en las soluciones
para Microsoft Office 2010.

.NET Framework 4 como destino.


Microsoft Office 2010 incluye el Motor en tiempo de ejecucin
de Visual Studio Tools para Office.
Implementar las soluciones de Office para todos los usuarios.
Implementar varias soluciones de Office en un solo paquete.
Realizar acciones adicionales despus de la instalacin de la
solucin de Office.

Novedades en el desarrollo de Aplicaciones de Datos


Conectarse a orgenes de datos

Enlace de datos de arrastrar y colocar para WPF.

Enlace de datos de arrastrar y colocar para Silverlight.

Conectar a datos en varios objetos.

Extender consultas en el control EntityDataSource.

Herramientas de Entity Data Model

Generacin de cdigo de capa de objeto personalizado.

Compatibilidad con Model-First.

Compatibilidad con tipos complejos.

Servicio de asignacin de nombres.


Funcionalidad mejorada del Explorador de modelos.
Extensibilidad de Entity Designer.

Novedades en el desarrollo con SharePoint


Crear y ejecutar las pruebas unitarias y depurar las aplicaciones
de SharePoint con IntelliTrace. (Requiere Service Pack 1).
Importar, modificar y ampliar paquetes de soluciones (.wsp).

Desarrollar soluciones de SharePoint con plantillas para los


proyectos y elementos de proyecto.
Disear formularios de asociacin e iniciacin para flujos de
trabajo secuenciales y de estados.
Agregar e integrar datos back-end usando modelos de
Conectividad a datos profesionales (BDC).
Crear elementos web y pginas de aplicacin de sitios de
SharePoint.
Examinar los sitios de SharePoint con el Explorador de
servidores.
Empezar a depurar las aplicaciones de SharePoint presionando
F5.
Crear y validar paquetes de soluciones.
Ampliar los elementos de proyecto de SharePoint existentes y
agregar mens contextuales.

Novedades en desarrollo de Reportes con Microsoft Reports


Diseador de informes para el esquema RDL 2008.
Nuevo Asistente para informes.
Mejoras en los controles ReportViewer.
Compatibilidad de AJAX en el control de servidor web de ASP
.NET
Mejoras de programacin en los controles ReportViewer.

3. Visual Basic .NET 2010


Visual Basic 2010 es la ltima versin del lenguaje Visual Basic de Microsoft
que contina con la facilidad de las versiones anteriores pero agrega nueva
funcionalidad para mejorar el desarrollo.
En esta parte veremos algunas caractersticas del Lenguaje, tales como las
estructuras de control de flujo, los tipos de datos, operadores y variables,
adems de las novedades de la versin 2010, dicha informacin es tambin
obtenida del MSDN de Microsoft (ver referencias 8, 9, 10, 11 y 12 al final
del libro).

3.1.

Estructuras de Control de Flujo

Las estructuras de control de flujo se pueden clasificar en:

Estructuras de decisin
Visual Basic permite probar condiciones y realizar diferentes operaciones en
funcin de los resultados de la prueba. Puede comprobar si una condicin
es verdadera o falsa, los distintos valores de una expresin o las diferentes
excepciones que se generan al ejecutar una serie de instrucciones.
En el siguiente ejemplo se muestra una estructura de decisin que prueba
si el valor de una condicin es true y emprende distintas acciones en
funcin del resultado.
Grfico 1.10: Ejemplo de una estructura de decisin

Construccin If...Then...Else: Permiten probar una o ms condiciones y


ejecutar una o ms instrucciones en funcin de cada condicin. Puede
probar las condiciones y tomar medidas de las maneras siguientes:
Ejecutar una o ms instrucciones si una condicin es True.
Ejecutar una o ms instrucciones si una condicin es False.
Ejecutar algunas instrucciones si una condicin es True y otras
si es False.
Probar una condicin adicional si una condicin anterior es
False.
La estructura de control que proporciona todas estas posibilidades es
Instruccin If...Then.... Puede utilizar una versin de una lnea si tiene
simplemente una comprobacin y una instruccin para ejecutar. Si
tiene un conjunto ms complejo de condiciones y acciones, puede
utilizar la versin de varias lneas.
'Sintaxis de mltiples lneas:
If condicin1 [ Then ]
[ instrucciones ]
[ ElseIf condicin2 [ Then ]
[instrucciones] ]
[ Else
[instrucciones] ]
End If
'Sintaxis de una simple lnea:
If condicin Then [instruccin] [ Else [instruccin] ]

Construccin Select...Case: Permite evaluar una expresin una vez y


ejecutar distintos conjuntos de instrucciones basados en diferentes
valores posibles.
Select [ Case ] expression
[ Case listaExpressiones
[instrucciones] ]
[ Case Else

[instrucciones] ]
End Select

Construccin Try...Catch...Finally: Permiten ejecutar un conjunto de


instrucciones en un entorno que conserva el control si una de las
instrucciones provoca una excepcin. Puede tomar distintas medidas
para excepciones diferentes. Opcionalmente, puede especificar un
bloque de cdigo que se ejecuta antes de salir de la construccin
Try...Catch...Finally completa, sin tener en cuenta el resultado.
Try
[instrucciones]
[ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
[instrucciones]
[ Exit Try ] ]
[ Catch ... ]
[ Finally
[instrucciones] ]
End Try

Estructuras de bucles
Las estructuras de bucles de Visual Basic permiten ejecutar una o varias
lneas de cdigo de forma repetitiva. Puede repetir las instrucciones de una
estructura de bucles hasta que una condicin sea True, una condicin sea
False, un nmero de veces especificado o una vez para cada objeto de una
coleccin.
En el siguiente ejemplo se muestra una estructura de bucle que ejecuta un
conjunto de instrucciones hasta que una condicin se convierta en
verdadera.

Grfico 1.11: Ejemplo de una estructura de bucles

Bucles While: La construccin While...End While ejecuta un conjunto de


instrucciones mientras la condicin especificada en la instruccin While
sea True.
While condicin
[instrucciones]
[ Exit While ]
[instrucciones]
End While

Bucles Do: La construccin Do...Loop le permite probar una condicin al


comienzo o al final de una estructura de bucle. Tambin puede
especificar si repite el bucle mientras la condicin sigue siendo True o
hasta que se convierta en True.
Do { While | Until } condicin
[instrucciones]
[ Exit Do ]
[instrucciones]
Loop

Do
[instrucciones]
[ Exit Do ]
[instrucciones]
Loop { While | Until } condicin

Bucles For: La construccin For...Next ejecuta el bucle un nmero fijo


de veces. Utiliza una variable de control de bucle, tambin denominada
contador para realizar el seguimiento de las repeticiones. Especifica los
valores de inicio y fin de este contador, y puede especificar
opcionalmente la cantidad en la que se incrementa de una repeticin a
la siguiente.
For contador [ As TipoDato ] = inicio To fin [ Step paso ]
[instrucciones]
[ Continue For ]
[instrucciones]
[ Exit For ]
[instrucciones]
Next [contador]

Bucles For Each: La construccin For Each...Next ejecuta un conjunto


de instrucciones una vez para cada elemento de una coleccin.
Especifica la variable de control de bucle pero no tiene que determinar
los valores de inicio y fin para ella.
For Each elemento [ As TipoDato ] In lista
[instrucciones]
[ Continue For ]
[instrucciones]
[ Exit For ]
[instrucciones]
Next [ elemento ]

Estructuras de control adicionales

Construccin Using...End Using: Establece un bloque de instrucciones


dentro del cual utiliza un recurso como una conexin de SQL. Puede
adquirir el recurso opcionalmente con la instruccin Using. Cuando sale
del bloque Using, Visual Basic dispone automticamente del recurso
para que est disponible para otro cdigo. El recurso debe ser local y
ser descartable.

Using { listarecurso | expressionrecurso }


[instrucciones]
End Using

Construccin With...End With: Permite especificar una referencia de


objeto una vez y ejecutar luego una serie de instrucciones que tienen
acceso a sus miembros. Esto puede simplificar su cdigo y mejorar el
rendimiento porque Visual Basic no tiene que restablecer la referencia
para cada instruccin que tiene acceso a l.
With object
[instrucciones]
End With

3.2.

Tipos de Datos en Visual Basic

El tipo de datos de un elemento de programacin hace referencia al tipo de


datos que puede contener y a cmo se almacenan dichos datos. Los tipos
de datos se aplican a todos los valores que pueden almacenarse en la
memoria del equipo o participar en la evaluacin de una expresin. Cada
variable, literal, constante, enumeracin, propiedad, parmetro de
procedimiento, argumento de procedimiento y valor devuelto por un
procedimiento tiene un tipo de datos.

Tipos de datos declarados


A menos que utilice la programacin sin tipos, debe declarar los tipos de
datos de todos los elementos de programacin.
Un elemento de programacin se define con una instruccin de declaracin
y su tipo de datos se especifica con la clusula As. La tabla siguiente
muestra las instrucciones utilizadas para declarar diversos elementos.
Elemento de
programacin
Variable

Declaracin de tipos de datos


En una Instruccin Dim
Dim amount As Double
Static yourName As String
Public billsPaid As Decimal = 0

Literal

Con un carcter de tipo literal


Dim searchChar As Char = "."C

Constante

En una Instruccin Const


Const modulus As Single = 4.17825F

Enumeracin

En una Instruccin Enum


Public Enum colors

En una Instruccin Property

Propiedad

Property region() As String

Parmetro de

En una Instruccin Sub, Function u Operador

procedimiento

Sub addSale(ByVal amount As Double)

Argumento de

En el cdigo de llamada; cada argumento es un

procedimiento

elemento de programacin que ya se ha declarado o


una expresin que contiene los elementos declarados
subString = Left(inputString, 5)

Valor devuelto por

En una Instruccin u Operador

procedimiento

Function convert(ByVal b As Byte) As String

Resumen de Tipos de datos


En la tabla siguiente se muestran los tipos de datos de Visual Basic .NET,
los tipos compatibles con Common Language Runtime, su asignacin de
almacenamiento nominal y sus intervalos de valores.
Tipo de
Visual
Basic
Boolean

Tipo CLR

Asignacin de
almacenamiento
nominal

Boolean

En funcin de la
plataforma de

Intervalo de valores

True o False

implementacin

Byte

Byte

1 byte

0 a 255 (sin signo)

Char

Char

2 bytes

0 a 65535 (sin signo)

DateTime

8 bytes

0:00:00 (medianoche) del 1 de

(carcter
individual
)

Fecha

enero de 0001 a 11:59:59


p.m. del 31 de diciembre de
9999.

Decimal

Decimal

16 bytes

0 a +/79.228.162.514.264.337.593.5
43.950.335 (+/-7,9... E+28)

sin separador decimal; 0 a +/7,92281625142643375935439


50335 con 28 posiciones a la
derecha del decimal;
el nmero distinto de cero ms
pequeo es +/0,00000000000000000000000
00001 (+/-1E-28)

Double
(punto

Double

8 bytes

-1,79769313486231570E+308
a -4,94065645841246544E-

flotante

324 para los valores

de

negativos;

precisin

4,94065645841246544E-324 a

doble)

1,79769313486231570E+308

para los valores positivos

Integer

Int32

4 bytes

-2.147.483.648 a
2.147.483.647 (con signo)

Long

Int64

8 bytes

-9.223.372.036.854.775.808 a

(entero

9.223.372.036.854.775.807

largo)

(9,2...E+18 ) (con signo)

Objeto

Object

4 bytes en

Cualquier tipo puede

(clase)

plataforma de 32

almacenarse en una variable

bits

de tipo Object

8 bytes en
plataforma de 64
bits

SByte

SByte

1 byte

-128 a 127 (con signo)

Short

Int16

2 bytes

-32.768 a 32.767 (con signo)

Single

4 bytes

-3,4028235E+38 a -

(entero
corto)

Single
(punto

1,401298E-45 para los

flotante

valores negativos;

de

1,401298E-45 a

precisin

3,4028235E+38 para los

sencilla)

valores positivos

String

String

En funcin de la

0 a 2.000 millones de

(longitud

(clase)

plataforma de

caracteres Unicode aprox.

variable)

implementacin

UInteger

UInt32

4 bytes

0 a 4.294.967.295 (sin signo)

ULong

UInt64

8 bytes

0a
18.446.744.073.709.551.615
(1,8...E+19 ) (sin signo)

User-

(hereda de En funcin de la

Cada miembro de la estructura

Defined

ValueType plataforma de

tiene un intervalo de valores

(estructur )

implementacin

determinado por su tipo de


datos y es independiente de

a)

los intervalos de valores


correspondientes a los dems
miembros.

UShort

UInt16

2 bytes

0 a 65.535 (sin signo)

Consumo de memoria
Al declarar un tipo de datos bsico, no debe suponerse que su consumo de
memoria es igual a su asignacin de almacenamiento nominal. Esto se
debe a las consideraciones siguientes:

Asignacin de almacenamiento: El CLR puede asignar el


almacenamiento en funcin de las caractersticas actuales de la
plataforma en la que se ejecuta la aplicacin. Si la memoria est casi
completa, se pueden empaquetar los elementos declarados de la forma
ms estrecha posible. En otros casos, se podran alinear las direcciones
de memoria a los lmites del hardware naturales para optimizar el
rendimiento.
Ancho de plataforma: La asignacin de almacenamiento en una
plataforma de 64 bits es diferente a la asignacin en una plataforma de
32 bits.

Las mismas consideraciones se aplican a cada miembro de un tipo de datos


compuesto, como una estructura o una matriz. No se pueden sumar
simplemente todas las asignaciones de almacenamiento nominales de los
miembros de tipo. Adems, existen otras consideraciones, como las
siguientes:

Sobrecarga. Algunos tipos compuestos tienen requisitos adicionales de


memoria. Por ejemplo, una matriz utiliza memoria adicional para la
matriz en s y para cada dimensin. En una plataforma de 32 bits, esta
sobrecarga corresponde a 12 bytes y 8 bytes por cada dimensin. En
una plataforma de 64 bits, los requisitos se duplican.
Diseo de almacenamiento. No debe suponerse que el orden de
almacenamiento en la memoria es igual al orden de declaracin. Ni
siquiera pueden hacerse predicciones sobre la alineacin de bytes,
como un lmite de 2 bytes o de 4 bytes. Si define una clase o estructura
y necesita controlar el diseo de almacenamiento de sus miembros,
puede aplicar el atributo StructLayoutAttribute a la clase o estructura.

Una variable Object que haga referencia a un tipo de datos bsico o


compuesto, utiliza 4 bytes adems de los datos contenidos en el tipo de
datos.

3.3.

Operadores y Expresiones en Visual Basic

Un operador es un elemento de cdigo que realiza una operacin en uno o


ms elementos de cdigo que contienen valores. Los elementos de valor
incluyen variables, constantes, literales, propiedades, valores devueltos de
procedimientos Function y Operator y expresiones.
Una expresin es una serie de elementos de valor combinados con
operadores, que produce un nuevo valor. Los operadores actan sobre los
elementos de valor realizando clculos, comparaciones y otras operaciones.

Operadores aritmticos
Operador

Operacin

Ejemplo

Suma

Dim x As Integer = 67 + 34

Resta

Dim y As Integer = 67 34

Multiplicacin

Dim x As Double = 50 * 20
Resultado: 1000

Divisin decimal

Dim y As Double = 50 / 20
Resultado: 2.5

Exponenciacin

Dim x As Double = 5 ^ 2
Resultado: 25

Divisin entera

Dim x As Integer = 50 / 20

Resultado: 2

Mod

Residuo

Dim y As Double = 50 Mod 20


Resultado: 10

Operadores de comparacin
Operador
=

Operacin
Igualdad

Ejemplo
23 = 33 ' False
23 = 23 ' True

<>

Desigualdad

23 <> 33 ' True


23 <> 23 ' False

<

Menor que

23 < 33 ' True


23 < 23 ' False

>

Mayor que

23 > 33 ' False


33 > 23 ' True

<=

Menor o igual que

23 <= 33 ' True


33 <= 23 ' False

>=

Mayor o igual que

23 >= 33 ' False


23 >= 23 ' True

Operadores de concatenacin
Operador
+

Operacin
Suma 2 nmeros o
cadenas. Los 2
operandos deben ser

Ejemplo
1+2=3
1 + 2 = 12

del mismo tipo sino se 1 + 2 = Error


genera un error.

&

Solo se usa para


sumar cadenas.
Realiza una

1 & 2 = 12
1 & 2 = 12

conversin implcita si 1 & 2 = 12


uno o los 2 operandos
son nmeros.

Operadores lgicos
Operador
Not

Operacin
Negacin lgica.

Ejemplo
Dim x As Boolean = true
Dim y As Boolean = Not x ' False

And

Conjuncin lgica.

a = 23 > 14 And 11 > 8 ' True


b = 14 > 23 And 11 > 8 ' False

Or

Disyuncin lgica.

c = 23 > 14 Or 8 > 11 ' True


d = 23 > 67 Or 8 > 11 ' False

Xor

Exclusin lgica.

e = 23 > 67 Xor 11 > 8 ' True


f = 23 > 14 Xor 11 > 8 ' False
g = 14 > 23 Xor 8 > 11 ' False

AndAlso

Conjuncin lgica con a = 23 < 14 AndAlso 11 > 8 ' False


corto circuito.

OrElse

Al ser True la primera condicin sale

Disyuncin lgica con b = 23 > 14 OrElse 8 > 11 ' True


corto circuito.

Al ser True la primera condicin sale

3.4.

Variables en Visual Basic

Visual Basic, al igual que la mayora de los lenguajes de programacin, usa


variables para almacenar los valores. Una variable tiene un nombre (la
palabra que se usa para referirse al valor que contiene la variable). Una
variable tambin tiene un tipo de datos, que determina el tipo de datos que
puede almacenar la variable. Una variable puede representar una matriz si
tiene que almacenar un conjunto indizado de elementos de datos
estrechamente relacionados entre s.
La inferencia de tipos de variable local permite declarar las variables sin
tener que indicar de forma explcita un tipo de datos. En lugar de ello, el
compilador deduce el tipo de la variable a partir del tipo de la expresin de
inicializacin.

Niveles de Declaracin de Variables

Valor local y variables miembros


Una variable local es aquella que se declara dentro de un
procedimiento. Una variable miembro es un miembro de un tipo de
Visual Basic; se declara en el nivel de mdulo, dentro de una clase,
estructura o mdulo, pero no dentro de ningn procedimiento interno
de esa clase, estructura o mdulo.

Variables compartidas y de instancias


La categora de una variable miembro, en una clase o estructura,
depende de que la variable est o no compartida. Si una variable se
declara con la palabra clave Shared, es una variable compartida, y
existe en una nica copia compartida por todas las instancias de la
clase o estructura.
De lo contrario, es una variable de instancia, y se crea una copia
independiente de ella para cada instancia de la clase o estructura. Una
copia determinada de una variable de instancia slo est disponible en
la instancia para la cual se cre. Es independiente de una copia en
cualquier otra instancia.

Declarar el tipo de dato


La clusula As de la instruccin de declaracin permite definir el tipo de
datos o de objetos de la variable que se est declarando. Se puede
especificar cualquiera de los siguientes tipos para una variable:

Un tipo de datos bsico, como Boolean, Long o Decimal.


Un tipo de datos compuesto, como una matriz o una estructura.
Un tipo de objeto o clase, definido en su aplicacin o en otra aplicacin
Clase de .NET Framework, como Label o TextBox
Un tipo de interfaz, como IComparable o IDisposable

Se pueden declarar varias declarar distintas variables en la misma


instruccin sin necesidad de repetir el tipo de datos. En las instrucciones
siguientes, las variables i, jy k se declaran como tipo Integer, l y m como
Long, y x e y como Single:
Dim i, j, k As Integer
Dim l, m As Long, x, y As Single

Inferencia de tipo de variable local


La inferencia de tipos se usa para determinar los tipos de datos de las
variables locales que se han declarado sin ninguna clusula As. El
compilador deduce el tipo de la variable a partir del tipo de la expresin de
inicializacin. Esto permite declarar variables sin especificar un tipo de
forma explcita. En el ejemplo siguiente, num1 y num2 son con
establecimiento inflexible de tipos como enteros.
Public Sub inferenceExample()
' Usando declaracin explcita.
Dim num1 As Integer = 3
' Usando inferencia de tipo variable local.

Dim num2 = 3
End Sub

Declarar caractersticas
El perodo de duracin de una variable representa el tiempo durante el cual
la variable est disponible para que pueda ser utilizada. En general, una
variable existe mientras el elemento que lo declara (como un
procedimiento o clase) siga existiendo. En algunos casos es posible
extender la duracin de una variable.
El mbito de una variable est formado por todo cdigo que puede hacer
referencia a la variable sin tener que calificar su nombre. El mbito de una
variable est determinado por la ubicacin en la que se haya declarado la
variable. El cdigo de una regin determinada puede utilizar las variables
definidas en dicha regin sin necesidad de especificar los nombres de las
variables.
El nivel de acceso de una variable es la extensin de cdigo que tiene
permiso para tener acceso a ella. El modificador de acceso (como Public o
Private) que utiliza en la instruccin Dim es quien determina esto.

3.5.

Novedades de Visual Basic 2010

Propiedades auto implementadas


Las propiedades auto implementadas proporcionan una sintaxis abreviada
que permite especificar rpidamente una propiedad de una clase sin tener
que escribir el cdigo Get y Set para la propiedad.

Inicializadores de coleccin
Los inicializadores de coleccin proporcionan una sintaxis abreviada que
permite crear una coleccin y rellenarla con un conjunto inicial de valores.
Los inicializadores de coleccin son tiles cuando se est creando una
coleccin a partir de un conjunto de valores conocidos como, por ejemplo,
una lista de opciones de men o categoras.

Continuacin de lnea implcita


En muchos casos, la continuacin de lnea implcita permite continuar una
instruccin en la lnea consecutiva siguiente sin utilizar el carcter de
subrayado (_).

Expresiones lambda de mltiples lneas y subrutinas


La compatibilidad con la expresin lambda se ha expandido para admitir las
subrutinas adems de las funciones de lambda de mltiples lneas y
subrutinas.

Nueva opcin de la lnea de comandos para especificar una


versin de lenguaje

La opcin /langversion de la lnea de comandos hace que el compilador


acepte nicamente la sintaxis que sea vlida en la versin especificada de
Visual Basic.

Compatibilidad con la equivalencia de tipos


Ahora se puede implementar una aplicacin que contiene informacin de
tipo incrustada en lugar de informacin de tipos que se importa desde un
ensamblado de interoperabilidad primario (PIA). Con la informacin de
tipos incrustada, la aplicacin puede utilizar los tipos en un motor en
tiempo de ejecucin sin necesidad de una referencia al ensamblado en
tiempo de ejecucin. Si se publican varias versiones del ensamblado del
runtime, la aplicacin que contiene la informacin de tipos incrustada
puede funcionar con las diferentes versiones sin que sea necesario volver a
compilarla.

Compatibilidad dinmica
Visual Basic enlaza a los objetos de los lenguajes dinmicos como
IronPython e IronRuby.

Covarianza y contravarianza
La covarianza permite usar un tipo ms derivado que el especificado por el
parmetro genrico, mientras que la contravarianza permite utilizar un tipo
menos derivado. Esto permite la conversin implcita de las clases que
implementan interfaces variantes y proporciona mayor flexibilidad a la hora
de hacer coincidir las firmas de mtodo con tipos de delegado variantes. Se
pueden crear interfaces y delegados variantes mediante las nuevas
palabras clave In y Out. .NET Framework tambin incluye compatibilidad
con la varianza para varios delegados e interfaces genricos existentes,
incluidos la interfaz IEnumerable(Of T) y los delegados Action(Of T) y
Func(Of TResult).

Navegar a
Se puede usar la caracterstica Navegar a para buscar un smbolo o un
archivo en cdigo fuente. Puede buscar palabras clave incluidas en un
smbolo concatenado mediante notacin Camel o caracteres de subrayado
a fin de dividir dicho smbolo en palabras clave.

Resaltar referencias
Al hacer clic en un smbolo en el cdigo fuente, todas las instancias de ese
smbolo se resaltan en el documento.
En muchas estructuras de control, al hacer clic en una palabra clave, se
resaltan todas las palabras clave en la estructura. Por ejemplo, al hacer clic
en If en una construccin If...Then...Else, se resaltan todas las instancias
de If, Then, ElseIf, Else y End If de la construccin.
Para desplazarse al siguiente o anterior smbolo resaltado, puede usar
CTRL+MAYS+FLECHA ABAJO o CTRL+MAYS+FLECHA ARRIBA.

Generar a partir del uso


La caracterstica Generar a partir del uso permite usar clases y miembros
antes de definirlos. Puede generar un cdigo auxiliar para cualquier clase,
constructor, mtodo, propiedad, campo o enumeracin que desee utilizar
pero no ha definido todava. Puede generar nuevos tipos y miembros sin
salir de su ubicacin actual en el cdigo. De este modo, se minimizan las
interrupciones en el flujo de trabajo.
La caracterstica Generar a partir del uso admite estilos de programacin
como el desarrollo de pruebas en primer lugar. Para obtener ms
informacin, vea Generar a partir del uso.

Modo de sugerencia de IntelliSense


IntelliSense proporciona ahora dos alternativas para completar las
instrucciones de IntelliSense: el modo de finalizacin y el modo de
sugerencia. El modo de sugerencia se utiliza cuando las clases y los
miembros se usan antes de definirlos.

Preguntas de Repaso
1. Qu es .NET Framework?
2. Menciona 3 tipos de aplicaciones que se pueden crear en .NET
Framework.
3. Que tecnologas aparecieron con .NET Framework 3?
4. Menciona 5 lenguajes .NET.
5. Cul es el criterio principal para seleccionar un Lenguaje .NET?
6. Que lenguaje es recomendable para aquellos que no tienen experiencia
con C, Java o la POO.
7. Cules son los componentes principales de .NET Framework?
8. Que es la BCL del .NET Framework?
9. Cmo se clasifican los tipos en .NET Framework?
10. Menciona 3 tipos complejos por referencia.
11. Cul es la principal funcin de un espacio de nombres (Namespace)?
12. Menciona 5 espacios de nombres de la BCL.
13. Qu es el CLR del .NET Framework?
14. Cmo se llama el programa del CLR que se encarga de liberar
automticamente la memoria que no esta siendo utilizada?
15. En qu tipo de lenguaje escriben el cdigo los desarrolladores .NET
16. Qu es un ensamblado (Assembly) y en que lenguaje se encuentra?

17. Qu tipo de cdigo ejecuta el CLR y en que lenguaje se encuentra?


18. Menciona 3 funciones del CLR.
19. Cules son los nuevos mtodos de la clase Environment para verificar
sistemas y procesos de 64 bits?
20. Cules son los nuevos mtodos de la clase Directory para listar
directorios y archivos?
21. Con qu clase se puede manejar los archivos asignados a memoria?
22. Qu mtodos se han agregado para la clase String y StringBuilder
respectivamente para facilitar el manejo de cadenas?
23. Cul es el espacio de nombres para trabajar con programacin
paralela?
24. Menciona 3 mejoras en ASP .NET.
25. Cules son los nuevos controles que han aparecido en WPF?
26. Cul es la ventaja principal de usar el Visual Studio 2010 en el
desarrollo de una Aplicacin?
27. Menciona 3 ventanas del IDE de Visual Studio 2010.
28. Menciona 3 novedades del Editor de Visual Studio 2010.
29. Con qu otros productos Microsoft se integra el desarrollo desde Visual
Studio 2010?
30. Cules son las estructuras de decisin de Visual Basic .NET?
31. Cules son las estructuras de bucles de Visual Basic .NET?

32. Qu estructura adicional de Visual Basic simplifica la sintaxis y el acceso


a un objeto?
33. Menciona 5 tipos de datos simples en Visual Basic.
34. Menciona 5 operadores aritmticos de Visual Basic?
35. Qu operador es ms rpido para sumar 2 cadenas: + o &.
36. Cules son los operadores lgicos de corto circuito en Visual Basic?
37. Qu tipo de variable debe usarse en lo posible en Visual Basic?
38. Menciona 3 novedades de Visual Basic 2010.

También podría gustarte