La Biblia de Visual Basic NET (Capitulo 1)
La Biblia de Visual Basic NET (Capitulo 1)
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.
1.1.
1.2.
Construtores y Destructores
Enumeraciones
Operadores
Descripcin
Los
espacios
de
nombres
secundarios
Proporcionan
tipos
que
administran
eventos
Registro
del
sistema,
que
representan
System.Activities
System.Collections
System.Configuration Contienen
tipos
para
administrar
datos
de
configuracin,
configuracin
como
de
datos
equipos
de
archivos
de
aplicaciones.
Los
instaladores
personalizados
de
de
nombres
secundarios
forman
de
rendimiento.
secundarios
Los
contienen
espacios
tipos
de
para
de
diseo
con
la
supervisin
GDI+.
Los
espacios
de
nombres
de
procesamiento
servicios
tipogrficos
de
imgenes,
relacionados
con
y
la
canalizaciones
annimas
con
nombre,
System.Media
System.Messaging
System.Net
tienen
actualizan
acceso
valores
mediante
de
programacin
configuracin
para
y
los
multipropsito
de
correo
Internet
nombres
secundarios
implementacin
proporcionan
administrada
de
la
una
interfaz
Contienen
tipos
que
proporcionan
una
vista
emitir
metadatos
el
lenguaje
con
CLR,
tipos
que
habilitan
de
la
aplicacin,
control
avanzado
de
distribuidas,
serializacin
auditan,
permiten
autenticacin,
ofrecen
los
tipos
necesarios
para
compilar
Process
System.Speech
System.Text
le
permite
procesar
texto
usando
expresiones regulares.
System.Threading
System.Web
incluyen
tipos
que
admiten
el
servidor,
configuracin
de
aplicaciones
de
JSON,
funcionalidad
AJAX
incorporacin
ASP.NET,
de
seguridad
de
datos
conversin
de
tipos.
se
emplean
para
desarrollar
System.Xaml
System.Xml
de
nombres
secundarios
admiten
la
1.3.
1.4.
En esta versin del .NET Framework existen muchas novedades entre las
cuales podemos mencionar:
Datos dinmicos:
Enlace de datos.
Proyecciones de consultas.
Configuracin simplificada.
2.1.
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
2.2.
Novedades en Lenguajes
Visual Basic 2010: Continuacin de lnea implcita,
propiedades
implementadas
automticamente
y
inicializadores de coleccin.
las
los
3.1.
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
[instrucciones] ]
End Select
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.
Do
[instrucciones]
[ Exit Do ]
[instrucciones]
Loop { While | Until } condicin
3.2.
Literal
Constante
Enumeracin
Propiedad
Parmetro de
procedimiento
Argumento de
procedimiento
procedimiento
Tipo CLR
Asignacin de
almacenamiento
nominal
Boolean
En funcin de la
plataforma de
Intervalo de valores
True o False
implementacin
Byte
Byte
1 byte
Char
Char
2 bytes
DateTime
8 bytes
(carcter
individual
)
Fecha
Decimal
Decimal
16 bytes
0 a +/79.228.162.514.264.337.593.5
43.950.335 (+/-7,9... E+28)
Double
(punto
Double
8 bytes
-1,79769313486231570E+308
a -4,94065645841246544E-
flotante
de
negativos;
precisin
4,94065645841246544E-324 a
doble)
1,79769313486231570E+308
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)
Objeto
Object
4 bytes en
(clase)
plataforma de 32
bits
de tipo Object
8 bytes en
plataforma de 64
bits
SByte
SByte
1 byte
Short
Int16
2 bytes
Single
4 bytes
-3,4028235E+38 a -
(entero
corto)
Single
(punto
flotante
valores negativos;
de
1,401298E-45 a
precisin
sencilla)
valores positivos
String
String
En funcin de la
0 a 2.000 millones de
(longitud
(clase)
plataforma de
variable)
implementacin
UInteger
UInt32
4 bytes
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
Defined
ValueType plataforma de
(estructur )
implementacin
a)
UShort
UInt16
2 bytes
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:
3.3.
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
Operadores de comparacin
Operador
=
Operacin
Igualdad
Ejemplo
23 = 33 ' False
23 = 23 ' True
<>
Desigualdad
<
Menor que
>
Mayor que
<=
>=
Operadores de concatenacin
Operador
+
Operacin
Suma 2 nmeros o
cadenas. Los 2
operandos deben ser
Ejemplo
1+2=3
1 + 2 = 12
&
1 & 2 = 12
1 & 2 = 12
Operadores lgicos
Operador
Not
Operacin
Negacin lgica.
Ejemplo
Dim x As Boolean = true
Dim y As Boolean = Not x ' False
And
Conjuncin lgica.
Or
Disyuncin lgica.
Xor
Exclusin lgica.
AndAlso
OrElse
3.4.
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.
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.
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.
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?