Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual Basic 2008 PDF
Visual Basic 2008 PDF
Granada, Nicaragua
evertsfnic@hotmail.com
[www.vacationinnicaragua.com]
Qu es Visual Basic Express?
Es tanto una herramienta para aprender a programar en Visual Basic, como
una herramienta de desarrollo funcional para programadores que no necesitan
la versin completa de Visual Basic. Pero Visual Basic Express es ms que un
subconjunto de Visual Basic: incluye muchas caractersticas que simplifican
ms que nunca la programacin en Visual Basic.
La manera mejor de obtener informacin sobre lo que puede hacer con Visual
Basic Express es examinar las lecciones incluidas en Paseo con gua por Visual
Basic. Cuando termine, estar familiarizado con las herramientas y los
conceptos de Visual Basic, y preparado para empezar a escribir sus propios
programas.
Si tiene que escribir aplicaciones que conecten con una base de datos en red,
interacten con Microsoft Office, sean compatibles con dispositivos mviles o
sistemas operativos de 64 bits o requieran depuracin remota, necesitar una
versin ms avanzada de Visual Basic.
Si es principiante en programacin, quiz desee finalizar el paseo guiado por Visual Basic,
un conjunto de lecciones diseado para ensear los conceptos bsicos, y despus volver a
este tema. Para iniciar el paseo, vea Crear el primer programa en Visual Basic.
El proceso de desarrollo
Visual Basic Express facilita el proceso de desarrollar aplicaciones; en la
mayora de los casos, el proceso consta de los pasos siguientes:
Nota
Para aplicaciones que no tienen ninguna interfaz de usuario, como bibliotecas de clases o
aplicaciones de consola, este paso no es necesario.
Familiarizarse
A primera vista, la interfaz de usuario de Visual Basic Express, tambin
conocida como entorno de desarrollo integrado o IDE, puede resultar extraa,
pero una vez que se familiarice, la encontrar fcil de utilizar. En las secciones
siguientes se describen las partes del IDE que ms utilizar.
Al iniciar
Cuando abre por primera vez Visual Basic Express, ver que la ventana Pgina
de inicio ocupa la mayor parte. La Pgina de inicio contiene una lista de los
proyectos recientes en los que se puede hacer clic, un rea Introduccin con
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 3
vnculos a temas de Ayuda importantes y una lista de vnculos a artculos en
lnea y otros recursos. Si se conecta a Internet, esta lista se actualizar
regularmente.
Puede cambiar lo que aparece en la Pgina de inicio para que se ajuste a sus
preferencias personales. Para obtener ms informacin, vea Cmo: Personalizar
la seccin de noticias de la Pgina de inicio.
En el lado izquierdo del IDE, se muestra una ficha vertical marcada Cuadro de
herramientas. Tambin est en blanco inicialmente, pero a medida que trabaja
se rellenar con elementos que se pueden utilizar para la tarea en la que est
trabajando. Para obtener ms informacin, vea Usar el Cuadro de
herramientas.
En la parte superior del IDE hay una barra de mens y una barra de
herramientas. Los mens y los botones de la barra de herramientas cambian
En la parte ms inferior del IDE hay una barra de estado que muestra Listo.
Cuando trabaja en el IDE, la barra de estado cambia y muestra mensajes
relacionados con la tarea en curso, por ejemplo, la barra de estado muestra
informacin sobre el progreso de un proyecto que est generando.
Modo de diseo
Cuando abre o crea un proyecto, el aspecto del IDE cambia al modo de diseo.
sta es la parte visual de Visual Basic, donde se disea el aspecto de la
aplicacin.
Para algunos tipos de proyectos, como los proyectos de bibliotecas de clase que no
disponen de interfaz de usuario, se muestra el Editor de cdigo en lugar del Diseador de
Windows Forms.
Modo de ejecucin
Hay numerosas ventanas adicionales en el IDE, cada una para una tarea de
programacin concreta. Algunas de las ms comunes se muestran a
continuacin.
Personalizacin
El primer paso para crear un programa de Visual Basic Expresses abrir Visual
Studio y crear un proyecto. Esto se har al crear cualquier programa de Visual
Basic.
Para crear un proyecto para el programa
En el men Inicio de Windows, elija Microsoft Visual Basic Express.
Cuando crea un nuevo proyecto por primera vez, slo existe en la memoria. Si
cierra el entorno de desarrollo integrado (IDE) de Visual Basic, se le pide que
guarde o descarte el proyecto. Cuando lo guarde, puede darle un nombre ms
significativo.
Sugerencia
Haga clic en la ficha Todos los formularios Windows Forms del Cuadro de
herramientas, seleccione el control Panel y arrastre un panel a la esquina
superior izquierda del formulario.
Sugerencia
Sugerencia
Puede cambiar la posicin de los controles mediante una operacin de arrastrar y colocar.
Tambin puede cambiar el tamao de los controles haciendo clic y arrastrando el borde o
la esquina del control.
Sugerencia
Si tiene abierta la ventana Cuadro de herramientas, es posible que desee cerrarla ahora
para tener ms espacio de trabajo. Puede hacerlo haciendo clic una vez ms en el icono
Ocultar automticamente.
Informacin detallada
Acaba de agregar cuatro controles al formulario. Los controles contienen cdigo
que define el aspecto que tendrn y las tareas que pueden realizar.
Por ejemplo, considere el control Button: casi todos los programas tienen un
botn "Aceptar" o un botn "Salir". Si bien podra escribir su propio cdigo para
dibujar un botn en la pantalla, cambiar su apariencia cuando se presione y
Sugerencia
La propiedad Dock se encuentra bajo la categora Diseo. Puede ordenar las propiedades
alfabticamente haciendo clic en el botn AZ de la ventana Propiedades.
Nota
Informacin detallada
En esta leccin, se establecen varias propiedades que cambian la apariencia de
los controles para la aplicacin. Una propiedad en Visual Basic
Expressrepresenta un atributo de un objeto, en este caso, un control. Por
ejemplo, un atributo de un control Button es el texto que muestra. En este
caso, se establece la propiedad Text para mostrar "Ir". Para obtener ms
informacin sobre las propiedades, vea Informacin detallada: comprender
propiedades, mtodos y eventos.
Las propiedades pueden tomar muchos tipos diferentes de valores adems del
texto. Por ejemplo, la propiedad Dock utiliz una ventana de seleccin de
propiedades para mostrar las opciones disponibles. Otros valores de la
propiedad pueden ser nmeros, una opcin que se selecciona de una lista, o
una opcin true o false.
Un globo tambin tiene mtodos o acciones conocidas que puede realizar. Tiene
un mtodo para inflarse (llenarlo con helio), un mtodo para desinflarse
(expulsar su contenido) y un mtodo para elevarse (soltarlo). Asimismo, todos
los globos pueden tener estos mtodos.
Los globos tambin tienen respuestas a ciertos eventos externos. Por ejemplo,
un globo responde al evento de ser pinchado desinflndose o al evento de ser
soltado elevndose.
Propiedades
Balloon.Color = Red
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 13
Balloon.Diameter = 10
Balloon.Inflated = True
Observe el orden del cdigo: el objeto (Globo) seguido por la propiedad (Color)
seguida por la asignacin del valor (= Rojo). Puede cambiar el color del globo
sustituyendo un valor diferente.
Mtodos
Balloon.Inflate
Balloon.Deflate
Balloon.Rise(5)
El orden es parecido al de una propiedad: el objeto (un nombre), seguido por el
mtodo (un verbo). En el tercer mtodo, hay un elemento adicional, llamado
argumento, que especifica la distancia a que se elevar el globo. Algunos
mtodos tendrn uno o ms argumentos para describir an ms la accin que
se va a realizar.
Eventos
Copiar cdigo
Sub Balloon_Puncture()
Balloon.MakeNoise("Bang")
Balloon.Deflate
Balloon.Inflated = False
End Sub
WebBrowser1.Navigate(Textbox1.Text)
En el men Depurar del IDE de Visual Basic, haga clic en Iniciar depuracin.
Tambin puede finalizar el programa haciendo clic en el botn Cerrar situado en la esquina
superior derecha del formulario.
Informacin detallada
En esta leccin se ejecut el programa para ver si funcionaba. Para la mayora
de los programas de Visual Basic, se repetir este proceso muchas veces.
Generalmente, despus de agregar nuevo cdigo, ejecutar el programa para
ver si el cdigo lleva a cabo la accin que se espera; de lo contrario, deber
corregirlo. Este proceso se llama depuracin; se analizar en detalle en una
leccin posterior.
Solucin de problemas
Pasos siguientes
Trmino Definicin
Palabras y texto: utilizar variables de Cmo utilizar una variable String para representar
cadena para organizar palabras palabras y texto.
Matrices: variables que representan Cmo utilizar una variable Array para representar
ms de un valor varios valores del mismo tipo.
Aritmtica: crear expresiones con Cmo escribir cdigo que realiza operaciones
variables y operadores aritmticas.
Su primer programa
Preparado para un poco de programacin real? Los vnculos siguientes le
guiarn por el proceso de creacin de un programa simple y le mostrarn cmo
buscar los errores del programa.
Trmino Definicin
Hacer que el equipo haga algo: Cmo escribir cdigo que indica a su programa que
escribir el primer procedimiento realice una accin determinada.
Hacer que un programa repita Cmo escribir cdigo que repite acciones en su
acciones: establecer bucles programa y cuenta las veces que stas se han
Hacer que un programa elija entre Cmo escribir cdigo que hace cosas diferentes en
dos posibilidades: la instruccin respuesta a condiciones diferentes.
If...Then
Qu hacer cuando algo sale mal: Cmo escribir cdigo que controla los errores de sus
control de errores programas. Tambin obtendr informacin sobre los
diferentes tipos de errores.
Trmino Definicin
Informacin detallada: tipos de datos Cmo se almacenan los datos utilizando los
diferentes tipos de variables.
Informacin detallada: convertir un tipo Cmo convertir datos de un tipo en otro, junto
de variable en otro con algunos errores comunes de este proceso.
Paseo con gua por Visual Basic Ms cosas que puede hacer con el lenguaje de
programacin Visual Basic Express
Qu es un lenguaje de programacin?
Las personas se expresan utilizando un lenguaje con muchas palabras. Los
equipos utilizan un lenguaje simple que consta slo de nmeros 1 y 0, con un
1 que significa "activado" y un 0 que significa "desactivado". Tratar de hablar
con un equipo en su propio lenguaje sera como tratar de hablar con los
amigos utilizando el cdigo Morse, se puede hacer, pero para qu?
Car.Speed.Maximum = 55
Ms adelante aprender ms sobre la sintaxis y las herramientas de Visual
Basic, por ejemplo IntelliSense, que es una gua para utilizar la sintaxis
correcta al escribir los programas.
Se declara una variable utilizando las palabras clave Dim y As, como se
muestra a continuacin.
Visual Basic Express Copiar cdigo
Esta lnea de cdigo indica al programa que se desea utilizar una variable
denominada aNumber, que almacene nmeros enteros (el tipo de datos
Integer).
Asignar variables
Se asigna un valor a la variable con el signo =, que a veces se denomina
operador de asignacin, como se muestra en el ejemplo siguiente.
Visual Basic Express Copiar cdigo
aNumber = 42
Por esa razn, es mejor declarar y asignar las variables en una lnea nica.
Aunque no sepa an el valor que contendr la variable, puede asignar un valor
predeterminado. El cdigo para declarar y asignar las mismas variables
mostradas anteriormente ser similar al siguiente.
Visual Basic Express Copiar cdigo
Si declara las variables y asigna los valores predeterminados en una sola lnea,
puede evitar posibles errores. Todava puede utilizar la asignacin para dar
despus un valor diferente a la variable.
Intntelo
En este ejercicio, escribir un breve programa que crea cuatro variables, les
asigna valores y a continuacin muestra cada valor en una ventana llamada
cuadro de mensaje. Comencemos creando el proyecto donde se almacenar el
cdigo.
Al escribir el cdigo, quiz haya observado que despus de escribir As, aparece una lista
de palabras bajo el cursor. Esta caracterstica se llama Intellisense. Le permite escribir las
primeras letras de una palabra y seleccionarla en la lista. Una vez seleccionada, presione
la tecla TAB para finalizar la palabra.
Nota
Siempre que representa texto real en un programa, ste debe aparecer entre comillas ("").
Esto le dice al programa que interprete el texto como texto real en lugar de interpretarlo
como un nombre de variable. Cuando asigna a una variable Boolean un valor True o False,
no pone la palabra entre comillas, porque True y False son palabras clave de Visual Basic,
con significados especiales propios.
MsgBox(anInteger)
MsgBox(aSingle)
MsgBox(aBoolean)
End
Las primeras cuatro lneas del cdigo le dicen al programa que muestre cada
valor que asign en el paso anterior en una nueva ventana, utilizando la
funcin MsgBox. La lnea final indica al programa que finalice despus de
ejecutar este procedimiento: se utiliza la instruccin End.
Haga clic en el botn Aceptar en cada ventana segn aparezcan. Observe que
sucesivamente se muestra el valor de cada variable y, a continuacin, el
programa finaliza. Despus de que el programa finaliza, puede regresar y
cambiar los valores que se asignaron en el cdigo y ejecutar la aplicacin de
nuevo: ver que se muestran los nuevos valores.
No todos los nmeros son nmeros enteros; por ejemplo, cuando se divide dos
nmeros enteros, el resultado es a menudo un nmero entero ms una
fraccin (9 dividido por 2 es igual a 4,5). El tipo de datos Double se utiliza para
representar nmeros que tienen una parte fraccionaria.
Nota
Hay tipos de datos numricos adicionales como Decimal, Short, SByte y UInteger; stos se
suelen utilizar en programas muy grandes donde puede ser un problema utilizacin de la
memoria o la velocidad. De momento, los tipos de datos numricos bsicos es todo lo que
va a necesitar. Si desea obtener ms informacin sobre los tipos de datos avanzados, vea
Tipos de datos numricos.
Por cada variable que representa un nico carcter, tambin hay un tipo de
datos Char. Si slo necesita contener un carcter en una nica variable, utilice
el tipo de datos Char en lugar de String.
Finalmente, hay casos en los que el tipo de datos que necesita almacenar debe
ser distinto en momentos diferentes. El tipo de datos Object le permite declarar
una variable y a continuacin definir despus su tipo de datos. Tambin
obtendr ms informacin sobre el tipo de datos Object en una leccin
posterior.
Las variables String se crean del mismo modo que otras variables: declarando
primero la variable y asignndole un valor, como se muestra a continuacin.
Visual Basic Express Copiar cdigo
Copiar cdigo
MsgBox(aString & " " & cString & " " & dString)
Puede parecer extrao que el tamao de la matriz sea 8 cuando un equipo del
bisbol tiene 9 jugadores. Esto se debe a que la matriz est formada por una
cantidad de valores o elementos, que comienzan con el elemento 0 y terminan
con el nmero especificado en la declaracin. En este caso, la matriz contiene
los elementos 0 a 8, de un total de nueve.
Asignar valores a las matrices
Al igual que con otros tipos de valores, debe asignar valores a las matrices.
Para ello, se hace referencia al nmero del elemento como parte de la
asignacin, como se muestra a continuacin.
Visual Basic Express Copiar cdigo
players(0) = "John"
players(3) = "Bart"
Al igual que con otros tipos de valores, puede declarar y asignar los valores a
una matriz en una lnea nica de la siguiente manera.
Visual Basic Express Copiar cdigo
En este caso, las llaves indican una lista de valores. Los valores se asignan a
los elementos en el orden mostrado. Observe que no se especifica el tamao de
la matriz, lo determina el nmero de elementos que se muestran.
AtBat = players(3)
Observe que el cdigo anterior utiliza la funcin CInt para convertir el valor
String (TextBox1.Text) en un Integer (i). Puede obtener ms informacin
sobre las conversiones en Informacin detallada: convertir un tipo de variable
en otro.
5+4
Cuando se evala, la expresin 5 + 4 devuelve el valor 9 y se compone de dos
partes: los operandos (5 y 4), que son los valores en los que se realiza la
operacin, y el operador (+), que especifica la operacin que se va a realizar.
Tambin se puede convertir una variable de un tipo de datos en otra mediante las
funciones de conversin de Visual Basic. Para obtener ms informacin, vea Informacin
detallada: convertir un tipo de variable en otro.
Intntelo
Para sumar nmeros
MsgBox(A + B)
MsgBox(A - B)
MsgBox(A * B)
MsgBox(A / B)
Las primeras dos lneas declaran las variables A y B, que contendrn los
valores numricos utilizados en este programa y asignarn los valores de los
dos controles TextBox (su texto) a las variables A y B.
Las cuatro lneas finales crean expresiones con las dos variables y cada uno de
los operadores aritmticos bsicos y muestran los resultados de esas
expresiones en un cuadro de mensaje.
Las expresiones se crean utilizando los dos nmeros que se escriben y cada
uno de los cuatro operadores aritmticos bsicos (suma, resta, multiplicacin y
divisin). El resultado de cada expresin se muestra en un cuadro de mensaje
MsgBox(CStr(anInteger))
Este cdigo declara una variable de tipo entero llamada anInteger, le asigna
un valor de 54 y, a continuacin, convierte ese valor en texto y lo muestra en
un cuadro de mensaje llamando a la funcin CStr.
Probemos algo slo por diversin. En el Editor de cdigo, cambie la lnea que
indica MsgBox(CStr(anInteger)) para que indique
MsgBox(anInteger) y presione F5 para ejecutarla. Qu pasa? El
programa se comporta exactamente como hizo antes. Visual Basic Expresses lo
suficientemente inteligente como para saber que lo que desea realmente es
Dim A As Integer = 1
Dim B As Integer = 2
MsgBox(CDbl(A / B))
Este cdigo declara dos variables de tipo Integer (A y B), les asigna los valores
1 y 2 y, a continuacin, convierte el resultado de la operacin de divisin (A /
B) utilizando la funcin CDbl y lo muestra en un cuadro de mensaje.
Presione F5 para compilar y ejecutar la aplicacin. Aparece un cuadro de
mensaje que indica 0.5.
Visual Basic Express tambin tiene funciones para otros tipos de variables
numricas. Por ejemplo, si agrega dos variables de tipo Double y desea
redondear el resultado al nmero entero ms cercano, utilice la funcin CInt.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 36
Otras funciones de conversin numricas son CByte, CDec, CLng y CShort.
Para obtener una lista de todas las funciones de conversin de Visual Basic,
vea Funciones de conversin de tipos.
4=4
(verdadero)
<> (distinto de) Devuelve True si el nmero de la izquierda no es igual 5 <> 4 (True)
al nmero de la derecha.
4 <> 5 (True)
4 <> 4 (False)
> (mayor que) Devuelve True si el nmero de la izquierda es mayor 5 > 4 (True)
que el nmero de la derecha.
4 > 5 (False)
4 > 4 (False)
< (menor que) Devuelve True si el nmero de la izquierda es menor 5 < 4 (False)
que el nmero de la derecha.
4 < 5 (True)
4 < 4 (False)
4 >= 4 (True)
4 <= 4 (True)
Intntelo
Para comparar expresiones
MsgBox(A > B)
MsgBox(A < B)
MsgBox(A = B)
Las dos primeras lneas declaran las variables A y B, que contendrn los
valores numricos usados en este programa; utilizan la instruccin CDbl para
convertir el texto de Textbox1 y Textbox2 en valores numricos.
Finalmente, las ltimas tres lneas crean expresiones que permiten comparar
las dos variables mediante tres operadores de comparacin bsicos y muestran
los resultados de esas expresiones en tres cuadros de mensaje.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 38
Presione F5 para ejecutar la aplicacin.
Pruebe a escribir diferentes nmeros en los cuadros de texto para ver cmo
cambian los resultados.
PlaySounds
DisplayResults
Funciones y Subs
Existen dos tipos de procedimientos: funciones y subrutinas (llamadas a veces
sub). Una funcin devuelve un valor al procedimiento que la llam, mientras
que una subrutina simplemente ejecuta cdigo. Se llama a una subrutina
cuando una lnea de cdigo, que contiene el nombre de sta, se agrega al
programa como en el siguiente ejemplo.
DisplayResults
Las funciones son diferentes, porque las funciones no slo ejecutan cdigos,
tambin devuelven un valor. Por ejemplo, imagine una funcin llamada
GetDayOfWeek que devuelve un Integer que indica el da de la semana. Se
llama a esta funcin primero mediante la declaracin de una variable para
almacenar el valor devuelto y luego se asigna el valor devuelto a la variable
para un uso posterior, tal como se muestra a continuacin.
Sub MyFirstSub()
End Sub
End Function
Return 1
End Function
En el Editor de cdigo, busque la lnea que contiene End Class. ste es el fin
de la seccin de cdigo que compone el formulario. Inmediatamente antes de
esta lnea, agregue el siguiente procedimiento:
Visual Basic Express Copiar cdigo
Return CStr(Now)
End Function
Sub DisplayTime()
MsgBox(GetTime)
End Sub
DisplayTime()
My.Computer.Audio.Play(SoundFile, Volume)
End Sub
Se llamar a la subrutina con los valores para los parmetros como se muestra
a continuacin.
Visual Basic Express Copiar cdigo
PlaySound("Startup.wav", 1)
As Integer
Return N1 + N2
End Function
MsgBox(AddTwoNumbers(aNumber, bNumber))
Este cdigo declara dos enteros y convierte el texto de los dos cuadros de texto
en valores enteros. Luego pasa dichos valores a la funcin AddTwoNumbers y
muestra el valor devuelto en un cuadro de mensaje.
Cuando escribe un programa, debe repetir las acciones con frecuencia. Por
ejemplo, suponga que est escribiendo un mtodo que muestra una serie de
nmeros en pantalla. Desear repetir la lnea de cdigo que muestra el nmero
las veces que sea necesario.
Dim i As Integer = 0
For i = 1 To 10
DisplayNumber(i)
Next
Dim i As Integer = 0
For i = 1 To NumberOfRepetitions
MsgBox("This line has been repeated " & i & " times")
Next
sum = sum + 10
Loop
counter = counter + 1
Loop
Instruccin Do...Until
La instruccin Do...While repite un bucle mientras una condicin permanece
True, pero a veces es posible que desee que el cdigo se repita a s mismo
hasta que una condicin se convierta True. Puede utilizar la instruccin
Do...Until del siguiente modo.
Visual Basic Express Copiar cdigo
sum = sum + 10
Loop
Este cdigo es similar al cdigo para la instruccin Do...While, slo que esta
vez, el cdigo evala la variable sum para ver si es igual a o mayor que 100.
Intntelo
Para utilizar una instruccin Do...Until
counter2 = counter2 + 1
Loop
MsgBox("The loop has run " & CStr(counter2) & " times!")
MsgBox("Today is Monday!")
End If
Cuando se ejecuta este cdigo, se evala la condicin (la parte entre If y Then).
Si la condicin es true, se ejecuta la siguiente lnea de cdigo y se muestra un
cuadro de mensaje; si es false, el cdigo pasa a la lnea End If. En otras
palabras, el cdigo estipula "Si hoy es lunes, muestre el mensaje".
Intntelo
Para utilizar la instruccin If...Then
If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
MsgBox("Happy Weekend!")
End If
La clusula Else
Ha visto cmo utilizar la instruccin If...Then para ejecutar el cdigo si una
condicin es true, pero qu pasa si desea ejecutar un cdigo si una condicin
es true, pero otro si es false? En este caso, puede utilizar la clusula Else. La
clusula Else le permite especificar un bloque de cdigos que se ejecutar si la
condicin es false. El siguiente ejemplo muestra cmo funciona la clusula
Else.
Visual Basic Express Copiar cdigo
MsgBox("Today is Friday!")
Else
End If
If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
MsgBox("Happy Weekend!")
Else
End If
Case "red"
Case "blue"
Case "green"
End Select
Cuando se ejecuta este cdigo, la lnea Select Case determina el valor (Color)
de la expresin. Suponga que Color es una variable String y que esta variable
es un parmetro para un mtodo que contiene la instruccin Select Case. El
valor de Color se compara con el valor para la primera instruccin Case. Si el
valor coincide, se ejecuta la siguiente lnea de cdigo y el cdigo pasa a la lnea
End Select; si el valor no coincide, se evala la siguiente lnea Case.
Case 1 To 10
Case Is > 9
Case "red"
Case "blue"
Case "green"
Case Else
End Select
Case 1
Case 2 To 5
Case 6, 7, 8
Case 9 To 10
Case Else
End Select
Try
Finally
End Try
Try
Catch
Finally
End Try
Las lecciones de esta seccin le mostrarn cmo crear una interfaz de usuario
utilizando algunos de los controles de formularios Windows Forms ms
comunes.
En los primeros das de los equipos personales, los usuarios interactuaban con
programas principalmente a travs de una lnea de comandos. Se iniciaba un
programa y despus se haca una pausa para recibir los datos proporcionados
por el usuario. La mayora de los programas utilizados hoy, sin embargo, se
ejecutan en una o varias ventanas que permiten que el usuario se comunique,
o relacione, con el programa escribiendo, haciendo clic en los botones, eligiendo
elementos en los mens preestablecidos y as sucesivamente. En estas
lecciones y las subsiguientes, aprender a generar interfaces de usuarios
propias basadas en Windows.
Utilizar formularios
Cada control de Visual Basic Expresstiene una finalidad. Por ejemplo, los
controles TextBox se utilizan para introducir texto, mientras que los controles
PictureBox se utilizan para mostrar imgenes. Hay ms de cincuenta controles
diferentes incluidos en Visual Basic; tambin se pueden crear controles propios
conocidos como controles de usuario. Obtendr ms informacin sobre cada
tipo de control en lecciones posteriores.
Observe cmo aparecen las instrucciones cuando lo arrastra cerca de los otros
controles. Estas instrucciones pueden ayudarle a colocar los controles en
forma precisa.
Repita el proceso con los otros controles hasta que la interfaz de usuario tenga
el aspecto que desea.
Pruebe las propiedades de control durante algunos minutos. Haga clic en cada
control en el formulario para seleccionarlo y cambie algunas de sus
propiedades en la ventana Propiedades. Entre las propiedades que puede
tratar de cambiar se encuentran: Font, BackColor, ForeColor y Text.
Dado que el control Label tiene como objetivo principal mostrar texto, las
propiedades ms importantes para un control Label son las propiedades que
controlan su aspecto. La propiedad Text contiene el texto que se muestra en el
control Label. La propiedad Font determina la fuente con la que se mostrar el
texto en la propiedad Text. La propiedad ForeColor determina el color del texto
en s y la propiedad BackColor determina el color del rea que rodea el texto.
Recibir texto con el control TextBox
Cuando se necesita mostrar y recibir texto, se disea el control TextBox para
controlar el trabajo. Adems de mostrar el texto, el control TextBox permite a
los usuarios escribir texto en el control TextBox en tiempo de ejecucin, y el
programa puede recuperar ese texto.
Al igual que con el control Label, las propiedades que son ms importantes
para el control TextBox son aqullas relacionadas con la apariencia. Una
propiedad importante es la propiedad Text, que representa el texto del control
TextBox. Cuando un usuario escribe en el control TextBox, la propiedad Text
se actualiza para reflejar los cambios. De este modo, el texto que se muestra en
el control TextBox siempre refleja el valor de la propiedad Text.
Ahora cuando el puntero del mouse pasa sobre el botn, el texto cambia a The
mouse has entered, pero cuando el mouse ya no est sobre el botn, el
texto cambia a The mouse has left.
If sender.Equals(Button1) Then
Else
End If
Ahora, cuando el puntero del mouse (ratn) pasa sobre el botn, el texto
cambia a The mouse has entered junto con el nombre del botn, y
cuando el mouse ya no est sobre el botn, el texto vuelve a ser The mouse
has left.
Intente agregar ms controles al formulario y modificar las clusulas Handles
para incluirlos, ni siquiera deben ser del mismo tipo.
End If
End If
End If
End If
Else
End If
Intente seleccionar ambos botones de opcin al mismo tiempo. Observe que los
botones de opcin son excluyentes. Despus de hacer clic en uno, el otro se
borra automticamente.
Else
End If
Se dice que una imagen vale ms que mil palabras y, de hecho, muchos
programas las utilizan para transmitir informacin. Hay varias maneras de
mostrar imgenes en Visual Basic: la ms comn es utilizando un control
PictureBox.
Repita los dos pasos anteriores para agregar una segunda imagen al proyecto.
En la lista Entrada, elija una de las imgenes que agreg y haga clic en
Aceptar.
PictureBox1.Image = My.Resources.MyPictureName2
Sugerencia
En la lista Entrada, elija una de las imgenes que agreg antes y haga clic en
Aceptar.
Me.BackgroundImageLayout = ImageLayout.Center
Else
Me.BackgroundImageLayout = ImageLayout.Stretch
End If
Los mens proporcionan a los usuarios una manera fcil y familiar de realizar
elecciones relacionadas con el programa. Los usos comunes para los mens
incluyen: exponer las opciones del programa, agregar accesos directos para
tareas comunes como cortar y pegar o cargar y guardar los archivos.
Aparecen nuevos cuadros para las entradas adicionales del men abajo y a la
derecha del primer elemento de men. stos constituyen espacios para los
elementos adicionales del men. Puede continuar agregando elementos de
men en cualquier direccin hasta que se complete el men.
Application.Exit()
CopyToolStripMenuItem.Enabled = True
Else
CopyToolStripMenuItem.Enabled = False
End If
Haga doble clic en el elemento de men Option1 para abrir el Editor de cdigo.
Presione F5 para ejecutar el programa. Haga clic con el botn secundario del
mouse en el formulario y despus en uno de los elementos del men
contextual: aparecer un cuadro de mensaje que notifica la opcin elegida.
Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString
En este ejemplo hay una excepcin. Las excepciones son objetos que se crean
(y producen) cuando el programa detecta un error. Se crean distintos tipos de
excepciones, dependiendo del tipo de error generado. Con los valores
predeterminados del usuario, si se produce una excepcin cuando se ejecuta
el programa de Visual Basic, aparecer un cuadro de dilogo que describe el
error y ayuda a corregirlo.
MsgBox(numbers + 1)
Los errores lgicos son los ms difciles de detectar y corregir, pero Visual
Basic Expresstambin dispone de herramientas de depuracin que facilitan el
trabajo. Aprender a encontrar y corregir los errores lgicos en Qu? Esto no
debiera haber ocurrido. Detectar errores lgicos.
Como vimos en la leccin anterior, los errores del compilador aparecen cuando
el compilador de Visual Basic Expressse encuentra con cdigo irreconocible,
generalmente porque se cometi algn error al escribir. Dado que los errores
del compilador impiden que se ejecute un programa, deber encontrarlos y
corregirlos, o depurarlos, antes de ejecutar el programa.
Encontrar y corregir errores del compilador
Encontrar los errores del compilador es bastante fcil, ya que el programa no
se ejecuta hasta que se han corregido. Cuando presiona F5, si hay algn error
End If
Presione ENTRAR. Ver una lnea ondulada de color azul debajo de End If.
Si mantiene presionado el mouse sobre la lnea, ver el mensaje "'End If' debe
ir precedida por la instruccin 'If' " correspondiente.
If 1 < 2 Then
End If
MgBox("Hello")
Es necesario corregir el error para que pueda continuar con el programa; para
ello, debe inspeccionar el cdigo para encontrar la causa del error. Por ejemplo,
si sospecha que se produjo un error porque una variable contiene el valor
equivocado, estando todava en el modo de interrupcin, puede utilizar
IntelliSense para ver el valor de la variable. Cuando se coloca el mouse sobre la
variable en el Editor de cdigo, la informacin sobre herramientas muestra el
valor de la variable. Si el valor no es lo que esperaba, compruebe en el cdigo
anterior dnde se estableci el valor y despus arregle el cdigo y contine.
Intntelo
Para revisar el valor de una variable
miles = 55
Una lnea de puntos que va del cuadro de dilogo a su archivo de cdigo seala
la lnea de cdigo que produjo el error.
hours = 2
Esto permite que el programa contine desde esa lnea en lugar de continuar
desde la lnea que contiene el error. Para que se reconozca la solucin del error
es necesario ejecutar la nueva lnea de cdigo recin agregada.
miles = CInt(Textbox1.Text)
hours = CInt(Textbox2.Text)
Para evitar que se produzca este error en tiempo de ejecucin, agregue un controlador de
errores que compruebe que hay un nmero vlido en el bloque Try y muestre un mensaje
al usuario en el bloque Catch. Para obtener ms informacin sobre controladores de
errores, vea Qu hacer cuando algo sale mal: control de errores.
hours = minutes / 60
As String
End Function
Inspeccione los valores de las variables en esta lnea; observar que el valor de
miles es ahora 0.166666672 y el de hours es 5.0, lo contrario de lo que
eran en la lnea anterior. Ha encontrado el error.
Puede parecer que se corrigi el programa, pero hay otro error lgico aun ms
difcil de encontrar. Si desea probar y encontrarlo, mantenga el proyecto
abierto, lo utilizar de nuevo en la leccin Crdito extra: todava hay algo
errneo.
Por ejemplo, en un programa que calcula millas por hora dividiendo el nmero
de millas recorridas por el nmero de horas que demor el viaje, qu pasa si el
usuario escribe cero para las horas o las millas? Probmoslo y vea.
Intntelo
Para probar el programa
Else
hours = minutes / 60
End If
El cdigo que forma un programa puede ser difcil de leer y entender, sobre
todo si el usuario no es la persona que lo escribi originalmente. Al utilizar
comentarios, puede crear notas para s mismo o para otros usuarios del cdigo.
Los comentarios son entradas de texto del Editor de cdigo y que omite el
compilador de Visual Basic Expresscuando se ejecuta el programa. Por tanto,
puede escribir una nota que explique lo que hace una seccin determinada del
programa, o bien un aviso para finalizar las tareas de programacin
incompletas.
Al igual que con los comentarios de una nica lnea, el programa omite todo lo
que vaya despus del carcter ' de esa lnea.
Utilizar comentarios para depuracin
Otro uso comn de los comentarios es evitar temporalmente que una lnea de
cdigo se ejecute mientras depura su programa. Por ejemplo, suponga que
tena una lnea que mostraba un cuadro de mensaje.
Visual Basic Express Copiar cdigo
MsgBox("Hello World!")
Si quiere ejecutar el programa sin mostrar esa lnea, pero no desea eliminarla
permanentemente, utilice el carcter del comentario (') para ocultarla
temporalmente de su programa, tal y como se muestra a continuacin.
Como todo lo que va despus del carcter ' se omite, el programa se ejecutar
sin ejecutar esa lnea. Puede quitar el carcter ' despus y se mostrar el
cuadro de mensaje.
Intntelo!
Para insertar comentarios
Observe que esta vez el programa omite la primera lnea del cuadro de mensaje
y slo se muestra el segundo cuadro de mensaje.
En programas muy simples, los datos se representan como campos dentro del
programa. Sin embargo, para programas ms complejos, los datos se
almacenan en una estructura separada del programa, denominada base de
datos.
En programas muy simples, los datos se representan como campos dentro del
programa. Sin embargo, para programas ms complejos, los datos se
almacenan en una estructura separada del programa, denominada base de
datos.
Qu es una base de datos?
Una base de datos es una coleccin de datos, almacenados en un archivo
independiente del programa. Los datos almacenados en una base de datos
pueden ser de muchos tipos distintos: texto, nmeros, imgenes y otros.
Pueden conectarse distintos programas a la misma base de datos para ver y
actualizar los datos que contiene.
Con Visual Basic Express puede tener acceso a dos tipos diferentes de bases de
datos: bases de datos de Microsoft SQL Server o de Microsoft Access. Para el
propsito de estas lecciones, se utilizar una base de datos de SQL Server.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 100
En la leccin anterior, aprendi que una base de datos se puede utilizar para
almacenar y recuperar datos para los programas de Visual Basic. Primero,
debe tener una base de datos a la cual tener acceso. Si bien se puede utilizar
una base de datos existente, para estas lecciones aprender a crear una nueva
base de datos mediante Visual Database Tools, que se incluye en Visual Basic.
Requisitos previos
Para crear y tener acceso a una base de datos de SQL Server con Visual Basic
Express, tambin debe instalar SQL Server . ste se instala de manera
predeterminada durante la instalacin de Visual Basic Express, sin embargo, si
decidi no instalarlo, deber hacerlo antes de continuar.
Intntelo
Para crear una base de datos
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 101
En el men Ver, seleccione Explorador de base de datos.
Repita los dos pasos anteriores para agregar cuatro columnas ms con los
siguientes valores:
Una columna clave, tambin conocida como una clave principal, designa una
columna o columnas en la tabla como un valor nico. Slo puede haber una
fila en la tabla que contenga este valor; si intenta escribir una segunda fila con
el mismo valor recibir un error.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 102
En el Diseador de tablas, desactive la casilla de verificacin Permitir valores
nulos para las filas Nombre y Apellido
Puede hacer clic en el cuadrado gris a la izquierda del campo Nombre, presionar la tecla
CTRL y hacer clic en la fila LastName para seleccionar ambos.
Observe que cuando selecciona el campo por primera vez, aparece el valor NULL en cada
campo; null es un trmino de la base de datos que significa que el campo est vaco.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 103
Ahora ha definido el primer registro en la tabla Addresses.
Repita los cinco pasos anteriores para agregar dos registros ms con los
siguientes valores:
Segn ha escrito los datos, quiz haya observado un pequeo icono de lpiz
junto a los datos, que desaparece al utilizar la tecla TAB para moverse a la fila
siguiente. El icono de lpiz significa que los datos no se han guardado en la
base de datos. Cuando se desplaza fuera de la fila en la que est escribiendo
los datos, los datos de la fila completa se guardan automticamente en la base
de datos.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 104
En la ventana Orgenes de datos, seleccione Agregar nuevo origen de datos.
Ahora que ha creado una conexin a un archivo de base de datos local, el paso
siguiente es crear una interfaz de usuario para mostrar los datos. La
programacin subyacente a la recuperacin de los datos de una base de datos
y mostrarlos en una interfaz de usuario es muy complicada. Afortunadamente,
Visual Basic Expresscrea y configura automticamente los objetos de datos
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 105
necesarios para usted, por lo que todo lo que necesita hacer es seleccionar y
colocar los objetos. En esta leccin, obtendr informacin sobre cmo crear un
sencillo formulario de visualizacin de datos.
Intntelo!
Para crear un formulario de acceso a datos
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 106
Agregar o modificar registros: actualizar datos
En esta leccin, obtendr informacin sobre cmo crear un formulario de
entrada de datos para actualizar los datos de la base de datos local.
En realidad estos datos eran una copia de los datos de la base de datos,
almacenados en un DataSet local. Cada vez que el programa se inicia, DataSet
recupera sus datos de la base de datos. Cuando los cambios se realizan en el
DataSet, no se realizan en la base de datos.
Se agregan controles TextBox por cada campo de la tabla, junto con los
controles Label que describen los campos.
Copiar cdigo
Me.AddressesBindingSource.EndEdit()
Me.AddressesTableAdapter.Update(Me.FirstDatabaseDataSet.Addresses)
En este conjunto de lecciones, obtuvo informacin sobre cmo crear una base
de datos y un programa para tener acceso a la base de datos. En el conjunto
siguiente de lecciones, obtendr informacin sobre clases, las guas para
objetos que puede reutilizar en sus programas
Qu es una clase?
En esta leccin, aprender a utilizar clases para representar objetos en sus
programas.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 108
se pueden utilizar para representar cosas reales como personas, equipos
informticos o incluso algo ms abstracto, como una cuenta bancaria.
Aunque puede que no se haya dado cuenta, ya ha utilizado las clases. Por
ejemplo, el control TextBox lo define una clase TextBox, que define su aspecto
y sus funciones. Cada vez que arrastra un control TextBox a un formulario,
realmente est creando una nueva instancia de la clase TextBox.
Cada control TextBox es una copia exacta, aunque distinta, de la clase que lo
define, la clase TextBox. Puesto que cada objeto es una "instancia"
independiente de una clase, la accin de crear una clase se denomina creacin
de instancias.
Por ejemplo, una clase que representa una cuenta bancaria podra tener
propiedades como AccountNumber o AccountBalance, mtodos como
CalculateInterest y eventos como BalanceChanged. Una vez creada
la instancia de un objeto de cuenta bancaria, puede tener acceso a sus
propiedades, mtodos y eventos de igual manera que si se tratara de un objeto
TextBox.
Algunos miembros de una clase son privados; slo se tiene acceso a ellos
mediante cdigo dentro de la clase. Por ejemplo, una clase de cuenta bancaria
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 109
puede tener un mtodo para calcular un saldo. Lo lgico es permitir que un
programa lea ese balance pero no que pueda cambiarlo directamente.
Puede ocultar los miembros de una clase si los declara como Private o
exponerlos si los declara como Public. Tambin puede permitir el acceso a una
propiedad y a la vez impedir que el programa cambie su valor declarndolo
como ReadOnly. El cdigo siguiente muestra cmo podra ser una clase
BankAccount.
Visual Basic Express Copiar cdigo
Class BankAccount
End Sub
Get
Return AccountBalance
End Get
End Property
End Class
En esta leccin y las siguientes crear una clase que representa una persona;
puede guardar esta clase y utilizarla en otros programas que escriba en el
futuro.
Las clases se pueden crear de tres maneras: como parte del cdigo en un
mdulo de formulario en un proyecto de aplicacin para Windows, como un
mdulo de clase separado agregado a un proyecto de aplicacin para Windows
o como un proyecto de bibliotecas de clase independiente.
Crear clases
Habr observado que en algunas de las lecciones anteriores al hacer doble clic
en un formulario y abrir el Editor de cdigo se vea algo parecido a lo siguiente.
Copiar cdigo
End Sub
End Class
Copiar cdigo
End Class
End Class
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 111
La desventaja de crear clases de esta manera es que slo estn disponibles
dentro del proyecto donde se crearon. Si desea compartir una clase con otros
proyectos, puede colocarla en un mdulo de clase.
Mdulos de clase
Un mdulo de clase es un archivo de cdigo separado, que contiene una o ms
clases. Como es un archivo independiente, se puede reutilizar en otros
proyectos. Los mdulos de clase se pueden crear de dos maneras: como un
mdulo agregado a un proyecto de aplicacin para Windows o como un
proyecto de bibliotecas de clase independiente.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 112
Agregar propiedades a una clase
En esta leccin, aprender a agregar propiedades a la clase que cre en la
leccin anterior.
Para agregar un campo a una clase, el cdigo podra ser como el que sigue.
Visual Basic Express Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 113
Get
Name = nameValue
End Get
nameValue = value
End Set
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 114
Agregue el siguiente cdigo de declaracin debajo de la lnea Public Class
Persons.
Visual Basic Express Copiar cdigo
Get
FirstName = firstNameValue
End Get
firstNameValue = value
End Set
End Property
Get
MiddleName = middleNameValue
End Get
middleNameValue = value
End Set
End Property
Get
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 115
LastName = lastNameValue
End Get
lastNameValue = value
End Set
End Property
Get
ID = IDValue
End Get
End Property
Para crear una propiedad de slo escritura, se crear una propiedad con un
procedimiento Set pero sin procedimiento Get, tal como se muestra a
continuacin.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 116
Visual Basic Express Copiar cdigo
passwordValue = value
End Set
End Property
birthYearValue = value
End Set
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 117
ReadOnly Property Age() As String
Get
End Get
End Property
End Sub
End Function
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 118
Si bien la mayora de los mtodos de clase son pblicos, tambin se pueden
agregar mtodos que slo la clase en s puede utilizar. Por ejemplo, la clase
Persons puede tener su propia funcin para calcular la edad de una persona.
Al declarar la funcin como Private, no se puede ver o llamar desde fuera de la
clase.
End Function
FullName = firstNameValue & " " & middleNameValue & " " _
& lastNameValue
Else
End If
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 119
End Function
End Function
Get
Age = CalcAge(birthYearValue)
End Get
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 120
Se pueden crear varias versiones de un mtodo mediante una tcnica llamada
sobrecarga. Cuando una clase tiene ms de un mtodo con el mismo nombre
pero con un conjunto de argumentos diferente, el mtodo se sobrecarga.
Sobrecarga
Para crear un mtodo sobrecargado, agregue dos o ms procedimientos Sub o
Function a la clase, cada uno con el mismo nombre. En las declaraciones de
procedimiento, el conjunto de argumentos para cada procedimiento debe ser
distinto o se producir un error.
El siguiente ejemplo muestra un mtodo con dos sobrecargas, una que acepta
una String y la otra que acepta un Integer como argumento.
Visual Basic Express Copiar cdigo
MsgBox(input)
End Sub
MsgBox(CStr(input))
End Sub
Puede crear tantas sobrecargas como sea necesario y cada una de ellas puede
contener un nmero diferente de argumentos.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 121
Agregue el siguiente cdigo debajo de los mtodos existentes.
Visual Basic Express Copiar cdigo
MiddleInitial = Left$(middleNameValue, 1)
End Function
End Function
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 122
Para crear un proyecto de prueba para la clase
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 123
En el Explorador de soluciones, seleccione Form1 y en el men Ver,
seleccione Diseador.
Haga doble clic en el primer botn (Update) para abrir el Editor de cdigo y en
el controlador de eventos Button1_Click, agregue el siguiente cdigo.
Visual Basic Express Copiar cdigo
With person1
.FirstName = Textbox1.Text
.MiddleName = Textbox2.Text
.LastName = Textbox3.Text
.BirthYear = Textbox4.Text
.Alive = CheckBox1.Checked
End With
Observe que cuando escribe, se muestra una lista que contiene todos los
miembros de la clase Persons. Puesto que se agreg como una referencia,
IntelliSense muestra la informacin sobre la clase tal como lo hara para
cualquier otra clase.
En el controlador de eventos Button2_Click, agregue el siguiente cdigo.
Visual Basic Express Copiar cdigo
MsgBox(person1.FullName)
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 124
If person1.Alive = True Then
Else
End If
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 125
Seleccione el cuarto control Button y en la ventana Propiedades establezca su
propiedad Text en Without.
Haga doble clic en el primer botn (With) para abrir el Editor de cdigo y
escriba el siguiente cdigo en el controlador de eventos Button3_Click.
Visual Basic Express Copiar cdigo
Observe que cuando escribe, se muestra una lista que contiene todos los
miembros de la clase Persons. Puesto que se agreg como una referencia,
IntelliSense muestra la informacin sobre la clase tal como lo hara para
cualquier otra clase.
Class DerivedClass
Inherits BaseClass
End Class
Suponga que desea una clase que represente jugadores de bisbol: los
jugadores del bisbol tienen todos los atributos definidos en la clase Persons,
pero tambin tienen atributos nicos, como su nmero y posicin. En lugar de
agregar esas propiedades a la clase Persons, se crear una nueva clase
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 127
derivada que se hereda de Persons, a la que se agregan las nuevas
propiedades.
Intntelo
Para crear una clase derivada
Inherits Persons
Get
Number = numberValue
End Get
numberValue = value
End Set
End Property
Get
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 128
Position = positionValue
End Get
positionValue = value
End Set
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 129
Esto declara dos nuevas instancias de la clase Players.
With player1
.FirstName = "Andrew"
.LastName = "Cencini"
.Number = 43
.Position = "Shortstop"
End With
With player2
.FirstName = "Robert"
.LastName = "Lyon"
.Number = 11
.Position = "Catcher"
End With
Haga doble clic en el primer botn (At Bat) para abrir el Editor de cdigo y
escriba el siguiente cdigo en el controlador de eventos Button1_Click.
Visual Basic Express Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 130
MsgBox(player1.Position & " " & player1.FullName & ", #" & _
MsgBox(player2.Position & " " & player2.FullName & ", #" & _
Presione F5 para ejecutar el programa. Haga clic en cada botn para ver los
resultados.
Por ejemplo, podra crear una clase Truck que se derive de una clase Car con
un mtodo StartEngine. Si el objeto Truck tiene un motor diesel, el proceso
de encendido del motor puede ser distinto al de un objeto Car; en este caso,
puede que desee reemplazar el mtodo StartEngine para que se adapte
mejor al objeto Truck.
Reemplazar propiedades y mtodos
De manera predeterminada, no se pueden reemplazar las propiedades ni los
mtodos en una clase. Para permitir que una clase derivada reemplace una
propiedad o un mtodo, se debe marcar como reemplazable declarndolo con la
palabra clave Overridable.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 131
Public Overridable Sub StartEngine(ByVal EngineType As
String)
Al heredar de una clase base, las propiedades y los mtodos que estn
marcados como Overridable se pueden utilizar tal como estn o se pueden
modificar para satisfacer las necesidades del usuario declarndolos con la
palabra clave Overrides.
FullName = FirstName & " " & LastName & ", #" & numberValue
End Function
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 132
En el Explorador de soluciones, seleccione el nodo Form1.vb en el proyecto
PlayerTest y, a continuacin, en el men Ver, elija Cdigo.
" is on deck.")
Presione F5 para ejecutar el programa y haga clic en cada botn para mostrar
los resultados.
Observe que los resultados son los mismos que antes, aun cuando ahora se
est utilizando el mtodo FullName reemplazado.
Al igual que una matriz, cada elemento de un objeto Collection tiene un ndice
que se puede utilizar para identificar dicho elemento. Adems, cada elemento
de un objeto Collection tiene una clave, un valor String que se puede utilizar
para identificar el elemento. La ventaja de utilizar una clave es que no necesita
recordar el ndice de un elemento; en su lugar, puede referirse a l a travs de
un nombre significativo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 133
Crear una coleccin
Las colecciones son tiles cuando el programa utiliza varias instancias de la
misma clase. Por ejemplo, examine la clase Players que cre en una leccin
anterior. Es probable que necesite varios objetos Players para representar
un equipo de bisbol.
El primer paso para crear una coleccin es crear una instancia de un objeto
Collection, tal como se muestra en la siguiente declaracin.
Visual Basic Express Copiar cdigo
baseballTeam.Remove("Player's Name")
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 134
En el Editor de cdigo, agregue lo siguiente a la seccin de declaraciones
(debajo de la declaracin para player2).
With player3
.FirstName = "Eduardo"
.LastName = "Saavedra"
.Number = 52
End With
With player4
.FirstName = "Karl"
.LastName = "Jablonski"
.Number = 22
.Position = "Pitcher"
End With
team.Add(player1, player1.Position)
team.Add(player2, player2.Position)
team.Add(player3, player3.Position)
team.Add(player4, player4.Position)
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 135
En la ventana Propiedades, seleccione la propiedad Items y haga clic en el
botn ....
Catcher
First Base
Pitcher
Shortstop
Haga doble clic en el control ComboBox para abrir el Editor de cdigo y escriba
el siguiente cdigo en el controlador de eventos
ComboBox1_SelectedIndexChanged.
Copiar cdigo
SelectedPlayer = team(ComboBox1.SelectedItem)
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 136
Aunque este sistema funciona para el ejemplo, no es el procedimiento
recomendado, pues cada vez que agregue un nuevo jugador, tambin tendr
que actualizar la coleccin Items del control ComboBox.
ComboBox1.Items.Add(player.Position)
Next
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 137
Dim player As Persons.Players
ComboBox1.Items.Add(player.Position)
Next
Los controles tambin son clases que se pueden reutilizar en varios proyectos.
Probablemente se encontrar diseando la misma interfaz una y otra vez, por
ejemplo, agregando controles TextBox para especificar el nombre y los
apellidos y, a continuacin, agregando cdigo para combinarlos en un nombre
completo. No sera ms prctico evitar todo ese trabajo extra?
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 138
Cuando disea programas, organiza los controles y decide su apariencia en el
diseador de formularios. Hay tambin un diseador para los controles de
usuario, el diseador de controles de usuario, que le permite a usted, al
desarrollador, decidir la apariencia del control.
Crear controles de usuario
Un control de usuario es similar a cualquier otra clase, pero con la posibilidad
agregada de poder colocarlo en el Cuadro de herramientas y mostrarlo en un
formulario. Donde un mdulo de clase tiene slo cdigo, un mdulo de control
de usuario tiene cdigo y un diseador. El Diseador de controles de usuario
es similar a un diseador de formularios: tiene las propiedades para controlar
el aspecto y comportamiento del control de usuario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 139
En el panel Plantillas, del cuadro de dilogo Nuevo proyecto, haga clic en
Biblioteca de controles de Windows.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 140
En el Cuadro de herramientas, arrastre un control Label al diseador.
Sugerencia
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 141
En el Explorador de soluciones, seleccione NamesControl.vb y en el men Ver
elija Cdigo.
Copiar cdigo
' Display the contents of the three text boxes in the label.
FullName.Text = FirstName.Text & " " & MiddleName.Text & " " & LastName.Text
End Sub
Tal y como est ahora, no hay modo de recuperar el texto que se especifica en
los controles FirstName, MiddleName y LastName de la etiqueta
FullName. Necesita exponer los valores como propiedades para que el control
resulte til. Dado que no desea que el valor de la etiqueta FullName se
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 142
modifique fuera de su propio cdigo, desear exponerlo como una propiedad de
slo lectura.
Intntelo
Para agregar propiedades
Get
Return FirstName.Text
End Get
FirstName.Text = value
End Set
End Property
Get
Return MiddleName.Text
End Get
MiddleName.Text = value
End Set
End Property
Get
Return LastName.Text
End Get
LastName.Text = value
End Set
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 143
Agregue el cdigo siguiente para exponer el valor de la etiqueta FullName
como una propiedad de slo lectura.
Copiar cdigo
Get
Return FullName.Text
End Get
End Property
En Visual Basic, puede crear una enumeracin que contiene los valores que
desea. "Enumeracin" en realidad significa "lista numerada"; Visual Basic
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 144
Expressalmacena los nmeros, de forma que puede hacer referencia a los
valores por el nombre. Una enumeracin se declara utilizando la palabra clave
Enum, como en el ejemplo siguiente.
Copiar cdigo
FirstMiddleLast
FirstLast
LastFirstMiddle
LastFirst
End Enum
Cuando ha creado una enumeracin, puede utilizarla como cualquier otro tipo.
Para agregar una propiedad que muestre una lista de valores, en primer lugar
declara una variable del mismo tipo que Enum y, a continuacin, declara una
propiedad del mismo tipo. En tiempo de diseo, una lista de valores incluida en
la enumeracin aparecer en la ventana Propiedades.
Intntelo!
Para agregar una propiedad que muestre una lista de valores
Copiar cdigo
FirstMiddleLast
FirstLast
LastFirstMiddle
LastFirst
End Enum
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 145
Agregue el siguiente cdigo para agregar una nueva propiedad.
Copiar cdigo
Get
Return DisplayStyleList
End Get
DisplayStyleList = value
End Set
End Property
Copiar cdigo
Case Display.FirstLast
Case Display.FirstMiddleLast
FullName.Text = FirstName.Text & " " & MiddleName.Text & " " & LastName.Text
Case Display.LastFirst
Case Display.LastFirstMiddle
FullName.Text = LastName.Text & ", " & FirstName.Text & " " & MiddleName.Text
End Select
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 146
En el men Archivo, elija Guardar todo para guardar el trabajo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 147
En el men Archivo, elija Guardar todo para guardar el trabajo.
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 148
Get
Return text1
End Get
text1 = value
Label1.Text = text1
End Set
End Property
Get
Return text2
End Get
text2 = value
Label2.Text = text2
End Set
End Property
Get
Return text3
End Get
text3 = value
Label3.Text = text3
End Set
End Property
Observe que el cdigo declara tres variables Private para el texto de etiqueta y
que las declaraciones incluyen el valor predeterminado que se va a mostrar.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 149
En el Editor de cdigo, seleccione (NamesControl Events) del cuadro de lista
desplegable izquierdo y, a continuacin, seleccione el evento Load del cuadro
de lista desplegable derecho.
Copiar cdigo
Me.Label1.Text = Label1Text
Me.Label2.Text = Label2Text
Me.Label3.Text = Label3Text
Copiar cdigo
Get
Return required
End Get
required = value
End Set
End Property
Get
Return errormessage
End Get
errormessage = value
End Set
End Property
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 151
MsgBox(ValidationErrorMessage)
End If
Else
MsgBox(ValidationErrorMessage)
End If
End If
Ver grficos
En esta leccin, aprender a utilizar los mtodos de grficos en Visual Basic
Expresspara dibujar en un formulario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 152
En una leccin anterior, aprendi a mostrar imgenes en un formulario
utilizando un control PictureBox. Eso funciona bien si ya tiene una imagen,
pero a veces desear dibujar algo directamente en el formulario. Por ejemplo,
puede desear dibujar una lnea para separar dos campos o un crculo para
resaltar una etiqueta importante.
Los pxeles tambin se utilizan para expresar el ancho y alto de los grficos.
Para definir un cuadrado que tiene 100 pxeles de ancho y 100 pxeles de alto,
cuya esquina superior izquierda se encuentra 10 pxeles a la izquierda y 10
pxeles hacia abajo, se expresar en coordenadas como 10, 10, 100, 100.
Al igual como utilizara un lpiz para dibujar una lnea en una pgina de papel,
Visual Basic Expressutiliza un objeto Pen para dibujar en el formulario. Pen
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 153
define el aspecto de la lnea; en este caso, el color. En el siguiente
procedimiento, dibujar lneas horizontales, verticales y diagonales en un
formulario.
Intntelo
Para dibujar lneas
' Draw a 400 pixel black line 25 pixels from the top of the form.
' Draw a 500 pixel red line 100 pixels from the left of the form.
' Draw a diagonal blue line from the upper left to the lower right.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 154
Dibujar una forma es similar a dibujar una lnea: se deben definir las
coordenadas y el color con los que se va a dibujar. Mientras que una lnea
adopta las coordenadas que definen un punto inicial y final, una forma como
un cuadrado o un rectngulo adopta coordenadas que describen su esquina
superior izquierda, su ancho y su alto.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 155
Mantenga el proyecto abierto: le agregar elementos en el procedimiento
siguiente.
Dibujar formas con relleno
Hasta ahora, las formas que ha dibujado son slo contornos. Para dibujar
formas con colores slidos, debe utilizar uno de los mtodos de relleno, como
FillRectangle o FillEllipse. Los mtodos de relleno utilizan un objeto Brush,
otro tipo de objeto grfico que puede pintar.
Al rellenar una forma con un color diferente, deber definir coordenadas que
sean ms pequeas que la forma; de lo contrario se cubrir el borde. Por
ejemplo, para rellenar un cuadrado con las coordenadas 0, 0, 150, 150,
se especificar un relleno con las coordenadas 1, 1, 148, 148, que tiene
en cuenta el grosor de un pxel de la lnea.
' Fill the circle with the same color as its border.
Observe que el cuadrado con relleno aparece por encima del crculo con
relleno, pero esa parte de su borde ha desaparecido. El orden en el que se
llama a los mtodos grficos determina el orden en el que se dibujan; en este
caso, el crculo con relleno se dibuj despus del rectngulo con borde azul.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 156
est inclinado, no puede utilizar un control Label, pero s puede utilizar
mtodos grficos para dibujar texto en cualquier ngulo.
Dibujar texto
Para dibujar texto en un formulario o control, se utiliza el mtodo grfico
DrawString. Al igual que los otros mtodos de dibujo, DrawString toma un
objeto Brush que determina el color y las coordenadas que especifican dnde
dibujar el texto, en este caso, las coordenadas X e Y de la esquina superior
izquierda del rectngulo delimitador para el texto.
20, 10)
Presione F5 para ejecutar el programa. Debe poder ver el texto que se muestra
en el formulario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 157
Dibujar texto girado
Para dibujar texto en un ngulo, debe utilizar otro tipo de mtodo grfico que
se llama transformacin. Hay varios tipos de transformaciones disponibles para
diversos efectos grficos; en este caso, se utilizar el mtodo RotateTransform.
e.Graphics.RotateTransform(45)
100, 0)
Presione F5 para ejecutar el programa. Debe poder ver el texto girado que se
muestra en el formulario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 158
como argumento, junto con las coordenadas X e Y que definen la esquina
superior izquierda de la imagen.
Intntelo
Para mostrar una imagen girada
e.Graphics.RotateTransform(45)
e.Graphics.DrawImage(My.Resources.picture, 50, 0)
Nota
Reemplace picture con el nombre del recurso que agreg en un paso anterior.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 159
Distribuir un programa
Hay varias maneras de compartir el programa con otros. Mediante el uso de la
publicacin de ClickOnce, se puede poner el programa a disposicin en un CD-
ROM o DVD-ROM, o bien puede publicarlo en un sitio Web donde otros
usuarios puedan descargarlo y ejecutarlo. Tambin puede enviarlo por correo
electrnico o simplemente copiarlo en un disco.
Una vez que termina de escribir, probar y depurar, es probable que desee
compartir su obra maestra con los dems. El proceso de realizar copias del
programa y distribuirlas se conoce como implementacin.
Tal vez piense que puede copiar los archivos de programa en otro equipo y
ejecutar el programa. Sin embargo, en muchos casos se encontrar con que el
programa no se ejecuta. Esto es porque la mayora de los programas depende
de otro software conocidos como componentes que se deben instalar en el otro
equipo. Si intenta ejecutar el programa y falta un componente, el programa no
se ejecutar.
Publicacin de ClickOnce
Visual Basic Expressincluye herramientas para implementar el programa con
un mtodo conocido como publicacin de ClickOnce, que facilita la
implementacin incluyendo e instalando automticamente todos los
componentes necesarios junto con el programa. ClickOnce permite publicar el
programa en un CD-ROM o DVD que puede compartir con otros usuarios.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 160
En esta leccin, aprender a publicar el programa en un CD-ROM o DVD para
compartirlo con otros usuarios.
Nota
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 161
Cuando se ejecuta el Asistente para publicacin, ste determina
automticamente cualquier requisito previo para el programa. De manera
predeterminada, los requisitos previos como .NET Framework no se
empaquetan realmente con el programa de instalacin; durante la instalacin,
el programa de instalacin busca los requisitos previos y, si es necesario, los
descarga e instala desde Internet.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 162
Ahora puede utilizar la aplicacin de grabacin de CD o DVD para grabar un
CD o DVD para el programa. Debe incluir todos los archivos en la carpeta
donde public el programa.
Para evitar esto, se pueden empaquetar los requisitos previos, como por
ejemplo, los archivos redistribuibles de .NET Framework junto con el
programa.
Nota
Si todas las personas que van a instalar el programa tienen acceso a Internet, se debe
utilizar el mtodo predeterminado; de esta forma, si una versin ms reciente del requisito
previo est disponible, se obtendr la ltima versin.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 163
En el Explorador de soluciones, seleccione el nodo del proyecto y en el men
Proyecto, elija Propiedades.
Para publicar en un servidor Web, el servidor Web debe ejecutar IIS (Servicios de Internet
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 164
Information Server), las Extensiones de FrontPage deben estar instaladas y debe tener
privilegios administrativos en IIS.
Nota
Para publicar en un servidor Web, el servidor Web debe ejecutar IIS (Servicios de Internet
Information Server), las Extensiones de FrontPage deben estar instaladas y debe tener
privilegios administrativos en IIS.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 165
El programa se publicar en el sitio Web especificado y se crear una pgina
HTML.
En otro equipo, abra Internet Explorer, vaya a la direccin URL que escribi en
el paso 6 y haga clic en el vnculo Instalar para instalar el programa.
Si utiliza Visual Basic Express, quiz algunos vnculos de Ayuda en esta pgina no estn
disponibles, en funcin de las opciones que seleccione durante la instalacin. Para obtener
ms informacin, vea Solucin de problemas de Visual Basic Express.
Fragmentos de cdigo
Un modo de aumentar la productividad es evitar escribir el mismo cdigo una y
otra vez. Visual Basic Express incluye una biblioteca de cdigo con 500
miniprogramas aproximadamente, denominados fragmentos de cdigo de
IntelliSense, listos para ser insertados en una aplicacin. Cada miniprograma
realiza una tarea de programacin completa, como crear un archivo, enviar un
mensaje de correo electrnico o dibujar un crculo. Puede insertar un
miniprograma en el cdigo fuente con unos pocos clics del mouse (ratn).
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 166
Una vez que se inserta el miniprograma, se resaltan los fragmentos de cdigo
que es preciso sustituir; puede especificar sus valores si lo prefiere. Por
ejemplo, un fragmento de cdigo que dibuja una lnea en un formulario tendr
valores para el color, la ubicacin y la longitud. Puede cambiar estos valores
segn sus necesidades personales, o no hacer nada y dibujar una lnea con los
valores predeterminados.
Una tarea comn que se puede llevar a cabo con fragmentos de cdigo es leer y
escribir texto en un archivo. El procedimiento siguiente muestra cmo los
fragmentos de cdigo pueden hacerle ms productivo.
Intntelo
Para utilizar fragmentos de cdigo
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 167
My.Computer.FileSystem.WriteAllText("C:\Test.txt", "Text", True)
Nota
Copiar cdigo
fileContents = My.Computer.FileSystem.ReadAllText("C:\Test.txt")
Copiar cdigo
MsgBox(fileContents)
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 168
Otra caracterstica RAD incluida en Visual Basic Express se llama My. My es
un conjunto de objetos que contienen las funciones ms utilizadas
relacionadas con el equipo, la aplicacin, el usuario, etc. Puede considerar My
una marcacin rpida para llegar a funciones que, de otro modo, requeriran
mucho cdigo adicional.
Copiar cdigo
VersionNumber = System.Diagnostics.FileVersionInfo.GetVersionInfo _
(System.Reflection.Assembly.GetExecutingAssembly.Location).FileVersion
Copiar cdigo
VersionNumber = My.Application.Info.Version.ToString
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 169
IntelliSense tambin es de utilidad en la depuracin. En el Editor de cdigo,
puede mover el cursor sobre una variable para mostrar informacin sobre
herramientas con el valor actual de la variable. IntelliSense tambin est
disponible al escribir el cdigo en la ventana Inmediato. Para obtener ms
informacin, vea Utilizar IntelliSense.
Si utiliza Visual Basic Express, es posible que algunos vnculos de esta pgina de Ayuda no
estn disponibles, en funcin de las opciones seleccionadas durante la instalacin. Para
obtener ms informacin, vea Solucin de problemas de Visual Basic Express.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 171
Visual Basic Express tambin tiene un componente BackgroundWorker que
facilita realizar tareas en segundo plano. Para obtener ms informacin, vea
Tutorial: Implementar un formulario que utiliza una operacin en segundo
plano.
Crear documentacin XML
La documentation XML permite agregar comentarios a una clase o control de
usuario para que otro programador entienda cmo utilizarlos. Por ejemplo,
suponga que el control de usuario tiene una propiedad denominada "Stretch",
el nombre no le indica lo que la propiedad realmente hace. La documentacin
XML permite agregar una descripcin como "Determina si se expandir el texto
para rellenar la pancarta"; se mostrar la descripcin en la ventana
Propiedades y en IntelliSense. Para obtener ms informacin, vea Documentar
el cdigo con XML (Visual Basic).
Instalar .NET Framework junto con su programa
Todo programa creado con Visual Basic Express requiere que el motor en
tiempo de ejecucin de .NET Framework est instalado en el equipo en el que
se ejecutar el programa; algunos programas pueden requerir otros archivos o
requisitos previos. Si comparte el programa usando la publicacin ClickOnce,
puede utilizar una caracterstica llamada requisito previo de inicio para incluir
estos archivos e instalarlos automticamente. Para obtener ms informacin,
vea Cmo: Instalar requisitos previos mediante una aplicacin ClickOnce.
Microsoft Office
2007
Windows Xp
Sp3
Visual Studio
2008
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 172