Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual Basic 2008 PDF
Visual Basic 2008 PDF
Visual Basic 2008 PDF
Granada, Nicaragua
evertsfnic@hotmail.com
[www.vacationinnicaragua.com]
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
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
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 4
segn la tarea del momento, tmese algo de tiempo para explorar y ver qu
opciones estn disponibles. Tambin puede personalizar los mens y la barra
de herramientas para que se ajusten a sus preferencias personales. Para
obtener ms informacin, vea Cmo: Personalizar las barras de herramientas
(Visual Studio).
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.
Modo de ejecucin
Cuando ejecuta o depura la aplicacin, el IDE cambia a modo de ejecucin. Se
inicia la aplicacin y aparece una ventana adicional relacionada con la
depuracin. Cuando est en el modo de ejecucin, no puede hacer cambios en
el Diseador de Windows Forms, la ventana Propiedades ni en el Explorador
de soluciones, pero puede modificar el cdigo en el Editor de cdigo.
Informacin detallada
Acaba de crear un proyecto para el programa de exploracin Web. Un proyecto
en Visual Basic Expresses un lugar para almacenar partes del programa y
mantenerlas organizadas.
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.
Al abrir el cuadro de dilogo Nuevo proyecto, haba diversos tipos de
proyectos entre los cuales elegir. El programa de exploracin Web es una
Aplicacin para Windows normal; es decir, un programa que se puede ejecutar
desde el men Inicio.
Al crear el proyecto, apareca un formulario (tambin conocido como diseador
de formularios) en el entorno de desarrollo integrado (IDE). Este formulario
representa una ventana que se mostrar cuando se ejecuta el programa.
Muchos programas muestran ms de una ventana, por lo que un proyecto
puede contener mltiples formularios.
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
Si tiene dificultades para encontrar el control correcto, haga clic con el
botn secundario del mouse (ratn) en el Cuadro de herramientas y
seleccione Ordenar elementos alfabticamente.
En la misma ficha, arrastre un control Button y colquelo en la parte superior
del control Panel.
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.
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
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 10
realizar alguna tarea cuando se haga clic en l, hacerlo para cada programa
enseguida se convertir en un asunto tedioso. El control Button ya contiene el
cdigo necesario para hacer estas tareas, lo que le ahorra mucho trabajo
innecesario.
Como puede ver, el Cuadro de herramientas contiene numerosos controles y
cada uno de ellos tiene un propsito nico. Los controles Panel se pueden
utilizar para contener otros controles, como los que acaba de agregar. Los
controles Button se utilizan generalmente para realizar tareas cuando el
usuario hace clic en ellos; por ejemplo, cerrar el programa. Los controles
TextBox se utilizan para escribir texto en una pantalla a travs del teclado. Un
control WebBrowser proporciona funciones de exploracin Web integradas
similares a Internet Explorer: seguro que no desea escribir todo el cdigo de
esa funcin.
En prximas lecciones aprender a personalizar la apariencia de stos y de
otros muchos controles, as como tambin a escribir el cdigo que define su
comportamiento. Adems de utilizar los controles del Cuadro de
herramientas, tambin puede crear sus propios controles, los que se conocen
como controles de usuario; tambin se hablar de ellos en una prxima leccin.
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.
Si se cambi el tamao de un control o se reubic, tambin se establecieron las
propiedades. Las propiedades Size y Location determinan el tamao y la
ubicacin del control en el formulario. Para ver esto en accin, seleccione la
propiedad Size en la ventana Propiedades y utilice el mouse para cambiar el
tamao del control. Cuando se suelta el botn del mouse, los nuevos valores
Size se mostrarn en la ventana Propiedades.
Adems de establecer las propiedades en la ventana Propiedades, la mayora
de stas se pueden establecer escribiendo un cdigo. En una prxima leccin,
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 12
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
Los mtodos de un globo se denominan de este modo.
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
El globo podra responder a un evento de la siguiente manera.
Copiar cdigo
Sub Balloon_Puncture()
Balloon.MakeNoise("Bang")
Balloon.Deflate
Balloon.Inflated = False
End Sub
Copiar cdigo
WebBrowser1.Navigate(Textbox1.Text)
Informacin detallada
Es posible que haya observado que cuando se abre el Editor de cdigo, ste ya
contiene algn cdigo con el siguiente aspecto:
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.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 16
Puede parecer increble que el programa vaya a una pgina Web y que la
muestre, como resultado de escribir una sola lnea de cdigo. Esto es lo bueno
de Visual Basic, todo el cdigo necesario se integra en el control WebBrowser,
lo que le permite ahorrar tiempo y esfuerzo. Si tuviera que hacerlo todo
personalmente, tomara cientos o incluso miles de lneas de cdigo.
Solucin de problemas
Si el programa no se ejecuta ni muestra la pgina Web, hay algunas cosas que
puede comprobar:
Asegrese de estar conectado a Internet. Abra Internet Explorer e intente
desplazarse a la pgina principal de Microsoft. Si funciona en Internet
Explorer, tambin debe funcionar en el programa.
Asegrese de que escribi la direccin
(http://www.microsoft.com/spanish) correctamente.
Regrese y compruebe Paso 2: Crear una interfaz de usuario y asegrese de
que coloc los controles correctos en el formulario.
Regrese a Paso 4: agregar cdigo de Visual Basic y asegrese de que escribi
el cdigo correctamente.
Pasos siguientes
Enhorabuena! Ha completado su primer programa de Visual Basic. Ha
mostrado cmo se pueden desarrollar programas eficaces en forma rpida y
fcil utilizando Visual Basic. En las siguientes lecciones, se presentarn ms
caractersticas del lenguaje de programacin de Visual Basic.
Definicin
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
For...Next
realizado.
Definicin
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?
Un lenguaje de programacin acta como un traductor entre el usuario y el
equipo. En lugar de aprender el lenguaje nativo del equipo (conocido como
lenguaje mquina), se puede utilizar un lenguaje de programacin para dar
instrucciones al equipo de un modo que sea ms fcil de aprender y entender.
Un programa especializado conocido como compilador toma las instrucciones
escritas en el lenguaje de programacin y las convierte en lenguaje mquina.
Esto significa que, como desarrollador de Visual Basic, no precisa entender lo
que el equipo hace o cmo lo hace, slo es necesario entender cmo funciona el
lenguaje de programacin de Visual Basic.
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.
El lenguaje hablado y escrito tambin posee su estructura: por ejemplo, un
libro consta de captulos con prrafos que contienen frases. Los programas
escritos en Visual Basic Expresstambin tiene una estructura: los mdulos son
como los captulos, los procedimientos como los prrafos y las lneas de cdigo
como las frases.
Declarar variables
Cuando declara una variable, tiene que decidir cmo llamarla y qu tipo de
datos asignarle.
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).
Puesto que aNumber es un Integer, slo puede almacenar nmeros enteros.
Por ejemplo, si desea almacenar 42,5 utilizar el tipo de datos Double. Y si
desea almacenar una palabra, utilizar un tipo de datos String. Otro tipo de
datos que vale la pena mencionar en este punto es Boolean, que puede
almacenar un valor True o False.
Aqu hay ms ejemplos de cmo declarar las variables.
Visual Basic Express
Copiar cdigo
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
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.
Para crear el proyecto
Si an no est abierto, abra Visual Basic Expressen el men Inicio de
Windows.
En el men Archivo, haga clic en Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Variables y haga clic en Aceptar.
Copiar cdigo
Copiar cdigo
MsgBox(anInteger)
MsgBox(aSingle)
MsgBox(aString)
MsgBox(aBoolean)
Visual Basic Express
Copiar cdigo
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.
Presione F5 para ejecutar el programa.
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.
Qu es una cadena?
Una cadena es cualquier serie de caracteres de texto, como letras, nmeros,
caracteres especiales y espacios. Las cadenas pueden ser frases y oraciones
legibles, como "El rpido zorro de color caf salta sobre el perro perezoso" o una
combinacin aparentemente ininteligible como "@#fTWRE^3 35Gert".
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
bString = aString
Copiar cdigo
Intntelo
Para unir las cadenas
En el men Archivo, haga clic en Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto:
En el panel Plantillas, haga clic en Aplicacin para Windows.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 28
Copiar cdigo
Copiar cdigo
Copiar cdigo
Copiar cdigo
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.
Copiar cdigo
players(0) = "John"
players(3) = "Bart"
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.
Copiar cdigo
Intntelo
Para almacenar los valores en una matriz
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba MyFirstArray y, a continuacin, haga clic en
Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control Textbox al formulario.
En el Cuadro de herramientas, arrastre un control Button al formulario.
Haga doble clic en Button para abrir el Editor de cdigo.
En el procedimiento de evento Button1_Click, agregue el siguiente cdigo:
Visual Basic Express
Copiar cdigo
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.
Presione F5 para ejecutar el programa.
Escriba un nmero comprendido entre 0 y 8 en el cuadro de texto y haga clic
en el botn. Se muestra el nombre que corresponde a ese elemento en un
cuadro de mensaje
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.
Copiar cdigo
Operadores aritmticos
Las expresiones habitualmente se utilizan para realizar operaciones aritmticas
con variables: suma, resta, multiplicacin o divisin. La tabla siguiente
describe los operadores normalmente utilizados para operaciones aritmticas.
Operador
Descripcin
Ejemplo
+ (suma)
5+4
- (resta)
5-4
* (multiplicacin)
5*4
/ (divisin)
5/4
Intntelo
Para sumar nmeros
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Arithmetic y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre dos controles Textbox al formulario.
En el Cuadro de herramientas, arrastre un control Button al formulario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 33
Copiar cdigo
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.
Presione F5 para ejecutar la aplicacin.
Escriba un nmero en cada uno de los cuadros de texto y haga clic en
Button1.
Nota
Si escribe algn otro carcter en los cuadros de texto, se producir un error.
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
Intntelo!
Para convertir una variable en texto
En el men Archivo, haga clic en Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Conversion y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el controlador del evento Form1_Load, escriba el siguiente cdigo.
Visual Basic Express
Copiar cdigo
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.
Presione F5 para compilar y ejecutar la aplicacin. Aparece un cuadro de
mensaje que indica 54.
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
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 35
Intntelo!
Para convertir tipos de datos numricos
En el Editor de cdigo, elimine el cdigo que escribi en el procedimiento
anterior y escriba lo siguiente:
Visual Basic Express
Copiar cdigo
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
Descripcin
Ejemplos
= (igual)
5 = 4 (falso)
4 = 5 (falso)
4=4
(verdadero)
5 <> 4 (True)
4 <> 5 (True)
4 <> 4 (False)
5 > 4 (True)
4 > 5 (False)
4 > 4 (False)
5 < 4 (False)
4 < 5 (True)
4 < 4 (False)
>= (mayor o
igual que)
5 >= 4 (True)
4 >= 5 (False)
4 >= 4 (True)
<= (menor o
igual que)
5 <= 4 (False)
4 <= 5 (True)
4 <= 4 (True)
Intntelo
Para comparar expresiones
En el men Archivo, haga clic en Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Comparison y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre dos controles Textbox al formulario.
En el Cuadro de herramientas, arrastre un control Button al formulario.
Haga doble clic en Button para abrir el Editor de cdigo.
En el controlador de eventos Button1_Click, escriba el siguiente cdigo:
Visual Basic Express
Copiar cdigo
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
Qu es un procedimiento?
Un procedimiento es un bloque de cdigo independiente que se puede ejecutar
desde otros bloques de cdigo. En general, cada procedimiento contiene el
cdigo necesario para realizar una tarea. Por ejemplo, puede tener un
procedimiento llamado PlaySound que contiene el cdigo necesario para
reproducir un archivo de onda. Aunque puede escribir cdigo que reproduzca
un sonido cada vez que el programa deba realizar un ruido, tiene ms sentido
crear un procedimiento nico al que se pueda llamar en cualquier parte del
programa.
Un procedimiento se ejecuta llamndolo en el cdigo. Por ejemplo, para ejecutar
el procedimiento PlaySound, simplemente se agrega una lnea de cdigo al
programa con el nombre del procedimiento, como se muestra a continuacin.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 39
PlaySound
Es todo lo que tiene que hacer. Cuando el programa llegue a esa lnea, ir al
procedimiento PlaySound y ejecutar el cdigo contenido all. A continuacin,
el programa regresa a la siguiente lnea que viene despus de la llamada a
PlaySound.
Puede llamar a tantos procedimientos como desee. Los procedimientos se
ejecutan en el orden de llamada. Por ejemplo, podra tener tambin un
procedimiento llamado DisplayResults; para ejecutarlo despus de ejecutar el
procedimiento PlaySounds, llame a los procedimientos como se muestra a
continuacin.
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.
Escribir procedimientos
Los procedimientos se escriben colocando primero una declaracin de
procedimiento. Una declaracin de procedimiento realiza varias acciones: indica
si el procedimiento es una funcin o una subrutina, denomina el
procedimiento y detalla todos los parmetros que puede tener (los parmetros
se analizarn en detalle ms adelante en esta leccin). A continuacin, se
ofrece un ejemplo de una declaracin de procedimiento sencilla.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 40
Copiar cdigo
Sub MyFirstSub()
End Sub
Copiar cdigo
Copiar cdigo
Intntelo
Para crear procedimientos
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba MyFirstProcedure y, a continuacin, haga
clic en Aceptar.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 41
Copiar cdigo
Copiar cdigo
Sub DisplayTime()
MsgBox(GetTime)
End Sub
Copiar cdigo
DisplayTime()
Copiar cdigo
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)
Intntelo
Para crear una funcin con parmetros
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba parameters y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre dos controles Textbox al formulario.
En el Cuadro de herramientas, arrastre un control Button al formulario.
Haga doble clic en Button para abrir el Editor de cdigo.
Inmediatamente despus de la lnea End Sub del controlador de eventos
Button1_Click, agregue el siguiente procedimiento:
Visual Basic Express
Copiar cdigo
Copiar cdigo
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.
Presione F5 para ejecutar el programa.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 44
Copiar cdigo
Dim i As Integer = 0
For i = 1 To 10
DisplayNumber(i)
Next
Intntelo
Para utilizar la instruccin For...Next
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 45
Copiar cdigo
Dim i As Integer = 0
Dim NumberOfRepetitions As Integer = CInt(Textbox1.Text)
For i = 1 To NumberOfRepetitions
MsgBox("This line has been repeated " & i & " times")
Next
Copiar cdigo
Intntelo
Para utilizar una instruccin Do...While
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba DoWhile y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control TextBox y un control
Button al formulario.
Haga doble clic en Button para abrir el Editor de cdigo.
En el controlador de eventos Button1_Click, escriba el siguiente cdigo:
Visual Basic Express
Copiar cdigo
MsgBox("The loop has run " & CStr(counter) & " times!")
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
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
Agregue el siguiente cdigo debajo de la lnea MsgBox.
Visual Basic Express
Copiar cdigo
Copiar cdigo
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
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 49
Copiar cdigo
If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
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
Intntelo
Para utilizar la clusula Else
Cambie el cdigo en la instruccin If...Then de la siguiente forma.
Visual Basic Express
Copiar cdigo
If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
MsgBox("Happy Weekend!")
Else
MsgBox("Happy Weekday! Don't work too hard!")
End If
Copiar cdigo
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.
La instruccin Case adopta muchas formas distintas; en el ejemplo anterior es
String. Pero puede ser cualquier tipo de datos o expresin.
Puede evaluar un intervalo de nmeros utilizando la palabra clave To, como
sigue:
Visual Basic Express
Copiar cdigo
Case 1 To 10
Copiar cdigo
Copiar cdigo
Case Is > 9
Case Else
El ejemplo anterior funciona cuando conoce todas las condiciones posibles,
pero qu sucede si hay una condicin con la que no contaba? Por ejemplo, si
el valor de Color es yellow, el cdigo simplemente evaluar los tres casos
sin encontrar una coincidencia y no se mostrar ningn cuadro de mensaje.
La instruccin Case Else se puede utilizar para ejecutar el cdigo cuando no se
encuentra ninguna coincidencia, como en el siguiente ejemplo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
El bloque Try...Catch...Finally.
Se puede utilizar el bloque Try...Catch...Finally para controlar errores en
tiempo de ejecucin en el cdigo. Puede utilizar Try para un segmento de
cdigo; si ese cdigo produce una excepcin, salta al bloque Catch y se ejecuta
el cdigo del bloque Catch. Despus de que ese cdigo ha finalizado, se ejecuta
cualquier cdigo en el bloque Finally. La instruccin End Try cierra el bloque
Try...Catch...Finally completo. En el ejemplo siguiente se ilustra cmo se
utiliza cada bloque.
Visual Basic Express
Copiar cdigo
Try
' Code here attempts to do something.
Catch
' If an error occurs, code here will be run.
Finally
' Code in this block will always be run.
End Try
Intntelo
Para utilizar el bloque Try...Catch
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba TryCatch y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control TextBox y un control
Button al formulario.
Haga doble clic en Button para abrir el Editor de cdigo.
En el controlador de eventos Button1_Click, escriba el siguiente cdigo:
Visual Basic Express
Copiar cdigo
Try
Dim aNumber As Double = CDbl(Textbox1.Text)
MsgBox("You entered the number " & aNumber)
Catch
MsgBox("Please enter a number.")
Finally
MsgBox("Why not try it again?")
End Try
Utilizar formularios
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 57
Intntelo
Para cambiar las propiedades de un formulario
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba FirstForm y haga clic en Aceptar.
Se crea un nuevo proyecto de formularios Windows Forms. Aparece un nuevo
formulario en la ventana principal y sus propiedades son visibles en la ventana
Propiedades, en la esquina inferior derecha del IDE de Visual Basic.
Haga clic en el formulario una vez para seleccionarlo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 58
Intntelo!
Para utilizar los botones
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 60
Copiar cdigo
Intntelo
Para crear una interfaz de usuario con los controles Label y Textbox
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba TextBoxExample y, a continuacin, haga clic
en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control TextBox, Label y Button
hasta el formulario.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 62
Copiar cdigo
Intntelo!
Para controlar el evento MouseEnter
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba EventHandler y, a continuacin, haga clic en
Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control Button hasta el formulario.
En las ventanas Propiedades, establezca la propiedad AutoSize en True.
En el men Ver, elija Cdigo para abrir el Editor de cdigo.
Justo sobre el Editor de cdigo, observe los dos cuadros desplegables. El
cuadro de la izquierda contiene una lista de todos los controles que aparecen
en el formulario, al igual que Form1, (General) y (Eventos de Form1). El
cuadro de la derecha muestra cada uno de los eventos disponibles para el
elemento que se muestra en el cuadro de la izquierda.
En el cuadro de la izquierda, elija Button1.
En el cuadro de la derecha, elija MouseEnter.
Aparece un nuevo controlador de eventos denominado Button1_MouseEnter
en el Editor de cdigo.
En el controlador de eventos Button1_MouseEnter, escriba el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
Intntelo
Para compartir un controlador de eventos
Abra el proyecto EventHandler que cre en la leccin anterior. Si no lo guard,
primero deber regresar a la leccin anterior, Hacer que el programa reaccione
ante el usuario: crear un controlador de eventos y finalizar los procedimientos
de dicha leccin.
En el Explorador de soluciones, seleccione Form1.vb y, a continuacin, en el
men Ver elija Diseador.
En el Cuadro de herramientas, arrastre otro control Button hasta el
formulario.
En la ventana Propiedades, establezca la propiedad AutoSize en True.
En el men Ver, elija Cdigo para abrir el Editor de cdigo.
En la declaracin de mtodo Button1_MouseEnter (Private Sub
Copiar cdigo
If sender.Equals(Button1) Then
Copiar cdigo
Intntelo
Para utilizar casillas de verificacin
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba UserChoices y, a continuacin, haga clic en
Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control Button y tres controles
CheckBox hasta el formulario.
En la ventana Propiedades, cambie la propiedad Text de CheckBox1,
CheckBox2 y CheckBox3 para que diga Pepperoni, Sausage y
Mushrooms respectivamente.
En la ventana Propiedades, cambie la propiedad Text de Button1 para que
diga Order Pizza.
En el formulario, haga doble clic en el botn; se abrir el controlador de
eventos Button1_Click en el Editor de cdigo.
Agregue el cdigo siguiente al controlador de eventos Button1_Click:
Visual Basic Express
Copiar cdigo
Al definir un grupo de elecciones, siempre debe establecer una eleccin para que sea el
valor predeterminado.
Copiar cdigo
Intntelo!
Para utilizar un control GroupBox como un contenedor
Abra el proyecto UserChoices que cre en la leccin anterior. Si no lo guard,
necesitar regresar primero a la leccin anterior, Obtener opciones
seleccionadas por el usuario: utilizar casillas de verificacin y botones de
opcin, y finalizar los procedimientos.
En el Explorador de soluciones, seleccione Form1.vb y, a continuacin, en el
men Ver elija Diseador.
En el Cuadro de herramientas, arrastre un control GroupBox hasta el
formulario.
En la ventana Propiedades, cambie la propiedad Text del control GroupBox
para que se lea Select a crust.
Con el control GroupBox seleccionado, arrastre dos controles RadioButton del
Cuadro de herramientas y colquelos sobre el control GroupBox.
En la ventana Propiedades, cambie las propiedades Text de RadioButton3 y
RadioButton4 a Thin crust y Thick crust, respectivamente.
En el formulario, haga doble clic en el botn Pedir pizza para abrir el
controlador del evento Button1_Click del Editor de cdigo.
En el controlador del evento Button1_Click, agregue el siguiente cdigo:
Visual Basic Express
Copiar cdigo
Intntelo
Para agregar una imagen como un recurso
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Pictures y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En la ventana Explorador de soluciones, haga doble clic en el nodo My
Project para abrir el Diseador de proyectos.
En el Diseador de proyectos, haga clic en la ficha Recursos.
Haga clic en Agregar recurso y, a continuacin, elija Agregar archivo
existente de la lista desplegable.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 72
Copiar cdigo
PictureBox1.Image = My.Resources.MyPictureName2
Intntelo
Para mostrar una imagen de fondo en un formulario
En el Explorador de soluciones, seleccione Form1.vb y en el men Ver elija
Diseador.
Seleccione el formulario haciendo clic en l fuera del control PictureBox.
En la ventana Propiedades, haga clic en el botn ... ubicado junto a la
propiedad BackgroundImage para abrir el cuadro de dilogo Seleccionar
recurso.
En la lista Entrada, elija una de las imgenes que agreg antes y haga clic en
Aceptar.
Observe que la imagen se muestra en el formulario detrs de PictureBox y se
ordena en mosaico de manera predeterminada.
Nota
Si la imagen en el control PictureBox es demasiado grande, es posible que no se pueda ver
la imagen de fondo. En este caso, seleccione el control PictureBox y arrstrelo hacia la
parte inferior del formulario.
Copiar cdigo
Intntelo
Para agregar un men
En el men Archivo, seleccione Nuevo proyecto.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 75
Copiar cdigo
Application.Exit()
Intntelo!
Para deshabilitar o habilitar elementos de men
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Menus2 y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control MenuStrip y un control
TextBox hasta el formulario.
En el formulario, haga clic en el control MenuStrip y escriba Edit, a
continuacin, presione ENTRAR.
En el cuadro situado debajo del primer cuadro, escriba Copy,, a continuacin,
presione ENTRAR.
En la ventana Propiedades, establezca la propiedad Enabled de
CopyToolStripMenuItem en False.
Haga doble clic en el control TextBox para abrir el Editor de cdigo.
En el controlador del evento TextBox1_TextChanged, escriba el siguiente
cdigo.
Visual Basic Express
Copiar cdigo
Intntelo
Para crear un men contextual
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba ContextMenus y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 78
Copiar cdigo
Copiar 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.
Intntelo
Para utilizar un componente Timer
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Timer y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control Label y un control Timer
hasta el formulario.
El componente Timer no aparece en el propio formulario, sino en la bandeja de
componentes bajo el formulario. Esto es porque el componente Timer no tiene
una representacin visual.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 80
Copiar cdigo
Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString
Intntelo!
Nota
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.
Para utilizar el proceso de editar y continuar
En el men Archivo, seleccione Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Edit y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el controlador del evento Form_Load, agregue el siguiente cdigo:
Visual Basic Express
Copiar cdigo
Errores de compilacin
Los errores de compilacin, tambin conocidos como errores del compilador,
son errores que impiden que su programa se ejecute. Cuando se presiona F5
para ejecutar un programa, Visual Basic Expresscompila el cdigo en un
lenguaje binario que entiende el equipo. Si el compilador de Visual Basic
Expressse encuentra con cdigo que no entiende, emite un error de
compilador.
La mayora de los errores del compilador se deben a errores cometidos al
escribir el cdigo. Por ejemplo, puede escribir mal una palabra clave, omitir
alguna puntuacin necesaria o intentar utilizar una instruccin End If sin
antes utilizar una instruccin If.
Afortunadamente el Editor de cdigo de Visual Basic Expressfue diseado para
identificar estos errores antes de que se intente ejecutar el programa.
Aprender a encontrar y corregir los errores de compilacin en la leccin
siguiente, Error ortogrfico: encontrar y eliminar errores del compilador.
Errores lgicos
Los errores lgicos son errores que impiden que su programa haga lo que
estaba previsto. Su cdigo puede compilarse y ejecutarse sin errores, pero el
resultado de una operacin puede generar un resultado no esperado.
Por ejemplo, puede tener una variable llamada FirstName y establecida
inicialmente en una cadena vaca. Despus en el programa, puede concatenar
FirstName con otra variable denominada LastName para mostrar un
nombre completo. Si olvida asignar un valor a FirstName, slo se mostrar el
apellido, no el nombre completo como pretenda.
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.
Intntelo
Para encontrar y corregir errores del compilador
En el men Archivo, seleccione Nuevo Proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba CompilerErrors y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el controlador de eventos Form_Load, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
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.
Cambie el cdigo para que tenga la siguiente apariencia.
Copiar cdigo
If 1 < 2 Then
End If
Copiar cdigo
MgBox("Hello")
Intntelo
Para revisar el valor de una variable
En el men Archivo, seleccione Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba RunTimeErrors y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el controlador de eventos Form_Load, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
miles = 55
speed = miles / hours
Copiar cdigo
hours = 2
La ventana Inmediato
Cuando el programa est en modo de interrupcin, se puede utilizar la ventana
Inmediato para ejecutar fragmentos de cdigo o evaluar variables y
expresiones. Por ejemplo, si aparece un error en tiempo de ejecucin debido a
una variable vaca, puede comprobar el valor de la variable. Puede utilizar
tambin la ventana Inmediato para asignar un valor a esa variable y
comprobar cmo se ejecuta el resto del programa.
Sugerencia
Cuando ejecuta el programa en modo de depuracin, puede poner el programa en modo
de interrupcin en cualquier momento, seleccionando Interrumpir del men Depurar.
Intntelo!
Para probar el cdigo en la ventana Inmediato
En el men Archivo, elija Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Immediate y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre dos controles TextBox y un control
Button al formulario.
Haga doble clic en el botn para abrir el Editor de cdigo.
En el controlador de eventos Button_Click, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
miles = CInt(Textbox1.Text)
hours = CInt(Textbox2.Text)
speed = miles / hours
MsgBox(CStr(speed) & " miles per hour")
Intntelo
Para observar un error lgico
En el men Archivo, elija Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba LogicErrors y haga clic en Aceptar.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 91
Copiar cdigo
Copiar cdigo
Intntelo
Para establecer un punto de interrupcin y recorrer el cdigo
En el Editor de cdigo, busque la lnea hours = minutes / 60 y haga clic
en el margen izquierdo.
Aparecer un punto rojo en el margen y el cdigo resaltado en rojo, lo que
representa un punto de interrupcin.
Presione F5 para ejecutar el programa nuevamente. En el primer cuadro de
texto, escriba 10 y en el segundo cuadro de texto, escriba 5. Haga clic en
Button1.
El programa se detendr cuando llegue al punto de interrupcin. La lnea
hours = minutes / 60 aparecer resaltada en amarillo.
Inspeccione los valores de las variables manteniendo el mouse sobre ellos; el
valor de hours debe ser 0 y el valor de minutes debe ser 10.
Presione F8 para ejecutar la lnea hours = minutes / 60 y pasar a la
siguiente lnea.
Inspeccione los valores de las variables de la lnea MsgBox("Average
speed " & GetMPH(hours, miles)), el valor de hours debe ser ahora
0.166666672 y el valor de miles debe ser 5.0.
Presione F8 de nuevo para ejecutar la lnea actual.
Observe que la ejecucin baja a la lnea Function GetMPH.
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.
Mantenga abierto el proyecto: en el siguiente procedimiento aprender a
corregir el error lgico.
Intntelo
Para corregir el error lgico
En el Editor de cdigo, cambie la lnea MsgBox("Average speed " &
GetMPH(hours, miles)) para que se lea de la siguiente manera:
Visual Basic Express
Copiar cdigo
ejemplo de esa leccin, an existe un error grave oculto: uno que es ms difcil
de encontrar porque slo se produce en situaciones determinadas.
Probar un programa
Como desarrollador, se encuentra en desventaja cuando debe probar el
programa para ver si se comporta segn lo deseado. Sabe cmo debe
funcionar, de modo que es improbable que se cometa un error que pueda
revelar un error lgico. Sin embargo, un usuario que no est familiarizado con
el programa puede y har cosas en las que no ha pensado.
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
Abra el proyecto LogicErrors que se cre en la leccin anterior, Qu? Esto
no debiera haber ocurrido. Detectar errores lgicos.
Nota
Si no finaliz o no guard el proyecto anterior, deber regresar y finalizarlo antes de poder
continuar.
Puesto que no es til mostrar una velocidad de cero, una manera de corregir el
problema es probar un valor de cero y advertir al usuario que debe escribir un
nmero mayor. Mientras se realiza esto, tambin se puede evitar que el usuario
escriba nmeros negativos, puesto que los nmeros negativos tambin pueden
generar un resultado falso.
En el siguiente procedimiento, se modificar el cdigo en el controlador de
eventos Button1_Click para llamar slo a la funcin GetMPH si los valores son
mayores que cero.
Intntelo
Para corregir el error
En el Editor de cdigo, cambie el cdigo en el controlador de eventos
Button1_Click de la siguiente manera:
Visual Basic Express
Copiar cdigo
Pasos siguientes
En esta leccin, aprendi a encontrar y corregir un error lgico que produjo un
comportamiento inesperado. En la siguiente leccin, aprender a utilizar los
comentarios en el cdigo.
Copiar cdigo
Copiar cdigo
Al igual que con los comentarios de una nica lnea, el programa omite todo lo
que vaya despus del carcter ' de esa lnea.
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.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 97
Copiar cdigo
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
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Comments y, a continuacin, haga clic en
Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el controlador del evento Form1_Load, escriba el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
que representara los productos, otra tabla para los pedidos y otra para los
clientes.
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
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba FirstDatabase y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
En el men Proyecto, elija Agregar nuevo elemento.
En el cuadro de dilogo Agregar nuevo elemento, seleccione Base de datos SQL.
En el cuadro Nombre, escriba FirstDatabase y haga clic en Agregar.
Se iniciar el Asistente para la configuracin de orgenes de datos.
En el Asistente para la configuracin de orgenes de datos, haga clic en
Cancelar.
Se agregar una nueva base de datos, FirstDatabase.mdf, al proyecto y
aparecer en el Explorador de soluciones.
Intntelo
Para agregar una tabla a la base de datos
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 101
Intntelo
Para agregar una clave a la tabla
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 102
Agregar datos
Ahora tiene una base de datos que contiene una tabla nica, Addresses. Por
supuesto, una base de datos no es muy til a menos que contenga datos. En el
siguiente procedimiento, se agregarn algunos datos a la tabla Addresses. Si
desea, puede sustituir los nombres y las direcciones de las personas que
conoce por aquellos proporcionados en el ejemplo.
Intntelo
Para agregar datos a la tabla
En el Explorador de base de datos, expanda el nodo Tables, seleccione el
nodo Direcciones y, a continuacin en el men Datos, elija Mostrar datos de
tabla.
Se abrir una ventana de tabla de datos.
En la ventana de tabla de datos, seleccione el campo Nombre y escriba
Samantha.
Nota
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.
Intntelo!
Para conectar a una base de datos existente
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Addresses y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Explorador de soluciones, haga clic en la ficha Orgenes de datos .
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 104
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
Abra el proyecto Addresses de la leccin anterior. Si no lo ha finalizado
todava, vaya a Obtener la informacin necesaria: conectarse a una base de
datos existente y finalice la leccin antes de continuar.
En el Explorador de soluciones, seleccione Form1.vb y, a continuacin, en el
men Ver elija Diseador.
En el Explorador de soluciones, haga clic en la ficha Orgenes de datos .
En la ventana Orgenes de datos, explore sin prisas los nodos
FirstDatabaseDataSet y Addresses. Puede expandir el nodo Addresses para
ver todos los campos individuales de la tabla.
Arrastre el nodo Addresses desde la ventana Orgenes de datos al formulario.
Nota
Algunos controles se agregan automticamente al formulario, adems se crean y se
agregan varios componentes a la bandeja de componentes debajo del formulario. Hay un
control DataGridView que mostrar las filas y columnas de la tabla y un control para la
exploracin (AddressesBindingNavigator). Asimismo, Visual Basic Expresscrea
componentes que se conectan a la base de datos, administran la recuperacin y
actualizacin de datos y almacenan los datos en un DataSet local
(AddressesBindingSource, AddressesTableAdapter y FirstDatabaseDataSet,
respectivamente).
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 106
Intntelo!
Para actualizar su archivo de base de datos local
Abra el proyecto Addresses de la leccin anterior. Si no ha completado
todava la leccin anterior, vaya a Mostrar informacin al usuario: mostrar
datos en la interfaz de usuario y complete los pasos.
En el Explorador de soluciones, seleccione Form1 y, a continuacin, en el
men Ver elija Diseador.
En el formulario, seleccione el control AddressesDatGridView y elimnelo.
En el Explorador de soluciones, haga clic en la ficha Orgenes de datos .
En la ventana Orgenes de datos, seleccione la tabla Direcciones y, a
continuacin, seleccione Detalles en la lista desplegable.
Arrastre el nodo Addresses desde la ventana Orgenes de datos al nuevo
formulario.
Se agregan controles TextBox por cada campo de la tabla, junto con los
controles Label que describen los campos.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En la lista desplegable Eventos, haga clic en FormClosing.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 107
Qu es una clase?
En esta leccin, aprender a utilizar clases para representar objetos en sus
programas.
Como aprendi en una leccin anterior, los programas de Visual Basic
Expressse crean con objetos como formularios o controles. Los objetos tambin
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 108
Copiar cdigo
Copiar cdigo
Class BankAccount
Private AccountNumber As String
Private AccountBalance As Decimal
Public Sub UpdateBalance()
' add code to recalculate balance.
End Sub
ReadOnly Property Balance() As Decimal
Get
Return AccountBalance
End Get
End Property
End Class
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
Public Class Form1
Private Sub Form1_Load...
End Sub
End Class
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 111
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.
Puede agregar un nuevo mdulo de clase a un proyecto existente seleccionando
Clase en el cuadro de dilogo Agregar nuevo elemento, disponible en el men
Proyecto. Para trabajar en esta unidad de lecciones, crear un proyecto de
bibliotecas de clase independiente.
Intntelo
Para crear un proyecto de biblioteca de clases
En el men Archivo, elija Nuevo proyecto.
En el panel Plantillas, del cuadro de dilogo Nuevo proyecto, haga clic en
Biblioteca de clases.
En el cuadro Nombre, escriba Persons y haga clic en Aceptar.
Se abrir un nuevo proyecto de bibliotecas de clase y el Editor de cdigo
mostrar el mdulo de clase Class1.vb.
En el Explorador de soluciones, haga clic con el botn secundario del mouse
en Class1.vb y seleccione Cambiar nombre y, a continuacin, cambie el
nombre a Persons.vb.
Observe que el nombre en el Editor de cdigo tambin cambia a Persons.vb.
En el men Archivo, elija Guardar todo.
En el cuadro de dilogo Guardar proyecto, haga clic en Guardar.
Sugerencia
En lugar de guardar el proyecto en la ubicacin predeterminada, podra crear un directorio
en el cual puede almacenar todas sus clases para reutilizarlas. Puede especificar esa
carpeta en el campo Location del cuadro de dilogo Guardar proyecto antes de guardar.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 112
Copiar cdigo
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 113
Get
Name = nameValue
End Get
Set(ByVal value As String)
nameValue = value
End Set
End Property
Intntelo
Para agregar propiedades a la clase
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
primero deber regresar a la leccin anterior, Modelar un objeto en una
situacin real: crear la primera clase, y realizar hasta el final los
procedimientos de esa leccin.
En el Explorador de soluciones, seleccione Persons.vb y en el men Ver
seleccione Cdigo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 114
Copiar cdigo
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 115
LastName = lastNameValue
End Get
Set(ByVal value As String)
lastNameValue = value
End Set
End Property
Copiar cdigo
Copiar cdigo
Intntelo
Para agregar propiedades ReadOnly y WriteOnly a la clase
Agregue el siguiente cdigo de declaracin debajo de las otras declaraciones en
la parte superior del mdulo de clase.
Visual Basic Express
Copiar cdigo
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 117
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 118
Copiar cdigo
Intntelo
Para agregar un mtodo a la clase
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
primero deber regresar a la leccin anterior, Agregar propiedades a una clase
y finalizar los procedimientos.
En el Explorador de soluciones, seleccione Persons.vb y, en el men Ver,
elija Cdigo.
Agregue el siguiente cdigo a continuacin de los procedimientos de propiedad.
Visual Basic Express
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 119
End Function
Visual Basic Express
Copiar cdigo
Copiar cdigo
Pasos siguientes
En esta leccin, aprendi a agregar mtodos pblicos y privados a una clase.
Puede obtener ms informacin sobre los mtodos en Informacin detallada:
crear varias versiones del mismo mtodo con sobrecarga o puede continuar con
la siguiente leccin y aprender a utilizar y probar la clase que cre.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 120
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
Intntelo
Para crear un mtodo sobrecargado
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
regrese a la leccin anterior, Agregar mtodos a una clase y finalice los
procedimientos.
En el Explorador de soluciones, seleccione Persons.vb y, en el men Ver,
elija Cdigo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 121
Copiar cdigo
Copiar cdigo
Intntelo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 122
Copiar cdigo
Intntelo
Para probar la clase
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 123
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
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 124
Intntelo
Para probar los mtodos sobrecargados
En el Explorador de soluciones, seleccione Form1 y en el men Ver,
seleccione Diseador.
En el Cuadro de herramientas, arrastre dos controles ms Button al
formulario.
Seleccione el tercer control Button y en la ventana Propiedades establezca su
propiedad Text en With.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 125
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.
En el controlador de eventos Button4_Click, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Copiar cdigo
Class DerivedClass
Inherits BaseClass
End Class
Intntelo
Para crear una clase derivada
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
regrese a Probar una clase y finalice los procedimientos.
En el Explorador de soluciones, seleccione el nodo del proyecto Persons.
En el men Proyecto, elija Agregar clase.
En el cuadro de dilogo Agregar nuevo elemento, escriba Players en el
cuadro Nombre, a continuacin, haga clic en Agregar.
Se agregar un nuevo mdulo de clase al proyecto.
En el Editor de cdigo, agregue lo siguiente justo debajo de la lnea Public
Class Players.
Visual Basic Express
Copiar cdigo
Inherits Persons
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 128
Position = positionValue
End Get
Set(ByVal value As String)
positionValue = value
End Set
End Property
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 129
Copiar cdigo
With player1
.FirstName = "Andrew"
.LastName = "Cencini"
.Number = 43
.Position = "Shortstop"
End With
With player2
.FirstName = "Robert"
.LastName = "Lyon"
.Number = 11
.Position = "Catcher"
End With
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 130
MsgBox(player1.Position & " " & player1.FullName & ", #" & _
CStr(player1.Number) & " is now at bat.")
Copiar cdigo
MsgBox(player2.Position & " " & player2.FullName & ", #" & _
CStr(player2.Number) & " is on deck.")
Presione F5 para ejecutar el programa. Haga clic en cada botn para ver los
resultados.
En el men Archivo, elija Guardar todo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 131
Intntelo
Para reemplazar el mtodo FullName
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
regrese a la leccin anterior, Generar una clase en una clase existente:
utilizacin de la herencia y complete los procedimientos.
En el Explorador de soluciones, seleccione el nodo Persons.vb y, en el men
Ver, elija Cdigo.
En el Editor de cdigo, modifique la declaracin del mtodo FullName de la
siguiente manera.
Visual Basic Express
Copiar cdigo
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 132
Copiar cdigo
Copiar cdigo
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.
En el men Archivo, elija Guardar todo.
Copiar cdigo
Copiar cdigo
Copiar cdigo
baseballTeam.Remove("Player's Name")
Intntelo
Para crear una coleccin de objetos
Abra el proyecto Persons que cre en la leccin anterior. Si no lo guard,
regrese a la leccin anterior, Generar una clase en una clase existente:
utilizacin de la herencia y finalice los procedimientos.
En el Explorador de soluciones, en el proyecto PlayerTest, seleccione el nodo
Form1.vb y en el men Ver, seleccione Cdigo.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 134
Copiar cdigo
Copiar cdigo
With player3
.FirstName = "Eduardo"
.LastName = "Saavedra"
.Number = 52
.Position = "First Base"
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)
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
Dim SelectedPlayer As Persons.Players
SelectedPlayer = team(ComboBox1.SelectedItem)
MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
SelectedPlayer.FullName & "!")
Copiar cdigo
Intntelo
Para recorrer una coleccin
Abra el proyecto Persons de la leccin anterior. Si no lo ha acabado, regrese a
la leccin anterior, Realizar seguimientos: utilizar colecciones para administrar
varios objetos, y complete los procedimientos.
En el Explorador de soluciones, seleccione el nodo Form1.vb en el proyecto
PlayerTest y, a continuacin, en el men Ver, elija Diseador.
Seleccione el control ComboBox. A continuacin, en la ventana Propiedades,
seleccione la propiedad Items y haga clic en el botn ....
En el Editor de la coleccin de cadenas, elimine las cuatro entradas
existentes y, a continuacin, haga clic en Aceptar.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el Editor de cdigo, agregue lo siguiente a la seccin de declaraciones
(debajo de la declaracin para team).
Visual Basic Express
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 137
Intntelo!
Para crear un control de usuario mediante Visual Basic Express
En el men Archivo, haga clic en Nuevo proyecto.
En el panel Plantillas, del cuadro de dilogo Nuevo proyecto, haga clic en
Biblioteca de clases y luego en Aceptar.
En el men Proyecto, haga clic en Agregar control de usuario.
En el cuadro de dilogo Agregar nuevo elemento, seleccione Control de usuario.
En el cuadro Nombre, escriba NamesControl y haga clic en Agregar.
Se agregar una nueva plantilla Control de usuario al proyecto y se abrir el
Diseador de controles de usuario.
En el Explorador de soluciones, haga clic con el botn secundario del mouse
en Class1.vb y elija Suprimir, a continuacin, haga clic en Aceptar.
En el men Archivo, haga clic en Guardar todo.
En el cuadro de dilogo Guardar proyecto, especifique NamesUserControl
y haga clic en Guardar.
Para crear un control de usuario en Visual Studio 2008
En el men Archivo, haga clic en Nuevo proyecto.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 139
Intntelo
Para agregar controles a un Control de usuario
Abra el proyecto NamesUserControl que cre en la leccin anterior. Si no lo
guard, primero deber regresar a la leccin anterior, Comprender el Diseador
de controles de usuario, y realizar hasta el final los procedimientos de esa
leccin.
En el Explorador de soluciones, seleccione NamesControl.vb y en el men Ver
seleccione Diseador.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 140
Intntelo
Para agregar cdigo a un control de usuario
Abra el proyecto NamesUserControl que cre en la leccin anterior. Si no lo
guard, primero deber regresar a la leccin anterior, Comprender el Diseador
de controles de usuario, y realizar hasta el final los procedimientos de esa
leccin.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 141
Intntelo
Para agregar propiedades
En el Editor de cdigo, agregue el cdigo siguiente para exponer los valores
FirstName, MiddleName y LastName como propiedades.
Copiar cdigo
Property FirstNameText() As String
Get
Return FirstName.Text
End Get
Set(ByVal value As String)
FirstName.Text = value
End Set
End Property
Property MiddleNameText() As String
Get
Return MiddleName.Text
End Get
Set(ByVal value As String)
MiddleName.Text = value
End Set
End Property
Property LastNameText() As String
Get
Return LastName.Text
End Get
Set(ByVal value As String)
LastName.Text = value
End Set
End Property
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 143
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
Abra el proyecto NamesUserControl que cre en la leccin anterior. Si no lo
guard, primero deber regresar a la leccin anterior, Agregar cdigo al control
de usuario, y realizar hasta el final los procedimientos de esa leccin.
En el Explorador de soluciones, seleccione NamesControl.vb y en el men
Ver haga clic en Cdigo.
En el Editor de cdigo, agregue el siguiente cdigo para crear una
enumeracin.
Copiar cdigo
Public Enum Display
FirstMiddleLast
FirstLast
LastFirstMiddle
LastFirst
End Enum
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 145
Intntelo
Para probar el control de usuario
Abra el proyecto NamesUserControl que cre en la leccin anterior. Si no lo
guard, primero deber regresar a la leccin anterior, Agregar cdigo al
control de usuario, y realizar hasta el final los procedimientos de esa leccin.
En el men Archivo, elija Agregar y haga clic en Nuevo proyecto.
En el cuadro de dilogo Agregar nuevo proyecto, seleccione Aplicacin para
Windows.
En el cuadro Nombre, escriba UserControlTest y haga clic en Aceptar.
Se agregar un nuevo proyecto en el Explorador de soluciones y se mostrar
un nuevo formulario.
En el Explorador de soluciones, seleccione el proyecto UserControlTest y en el
men Proyecto, seleccione Establecer como proyecto de inicio.
En el Cuadro de herramientas, seleccione NamesControl y arrstrelo hasta el
formulario.
En la ventana Propiedades, establezca las propiedades FirstNameText,
MiddleNameText y LastNameText que correspondan a su nombre.
Presione F5 para ejecutar el programa. Cambie los nombres de los cuadros de
texto para asegurarse de que la etiqueta se actualiza correctamente.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 147
Agregar etiquetas
En la ltima leccin, prob que el control de usuario NamesControl
funcionaba debidamente. Quiz tambin haya pensado posibles formas para
mejorarlo. Por ejemplo, no resulta obvio qu nombre debe escribirse en qu
cuadro de texto y no hay modo de saber con certeza si los usuarios han
especificado tres nombres.
Para que el control de usuario resulte de mayor utilidad, puede agregar
etiquetas que identifiquen todos los cuadros de texto. Podra establecer el texto
para que las etiquetas indicaran "Nombre", "Segundo nombre" y "Apellido",
pero, qu sucede si despus decide que prefiere una "Inicial de segundo
nombre"? Es preferible crear propiedades para el texto de etiqueta de modo que
pueda cambiar el texto en tiempo de diseo y dar un valor predeterminado a
cada propiedad.
Intntelo
Para personalizar el control de usuario
Abra el proyecto NamesUserControl que cre en la leccin anterior. Si no lo
guard, primero deber regresar a la leccin anterior, Probar un control de
usuario, y realizar hasta el final los procedimientos de esa leccin.
En el Explorador de soluciones, seleccione NamesControl.vb y en el men Ver
seleccione Diseador.
En el Cuadro de herramientas, arrastre tres controles Label al diseador y
coloque uno sobre cada TextBox.
En el Explorador de soluciones, seleccione NamesControl.vb y en el men Ver
elija Cdigo.
En el Editor de cdigo, agregue el cdigo siguiente para crear las propiedades
para el texto de la etiqueta.
Copiar cdigo
Private text1 As String = "First Name"
Property Label1Text() As String
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 148
Get
Return text1
End Get
Set(ByVal value As String)
text1 = value
Label1.Text = text1
End Set
End Property
Private text2 As String = "Middle Name"
Property Label2Text() As String
Get
Return text2
End Get
Set(ByVal value As String)
text2 = value
Label2.Text = text2
End Set
End Property
Private text3 As String = "Last Name"
Property Label3Text() As String
Get
Return text3
End Get
Set(ByVal value As String)
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
Agregar validacin
Otra personalizacin de utilidad sera agregar cdigo para validar lo que se
escribe con el fin de asegurarse de que es correcto. En lugar de validar cada
uno de los controles TextBox, puede escribir cdigo de validacin para el
control de usuario completo.
La mayora de los controles tiene un evento Validating que se produce cuando
se desplaza el foco fuera del control; aqu es donde especificar el cdigo de
validacin. En este caso, desear escribir el cdigo para asegurarse de que
cada cuadro de texto contiene un nombre.
Si estn vacos uno o varios cuadros de texto, desear mostrar un cuadro de
mensaje para recordar al usuario que especifique su nombre. Puede exponer
una propiedad que contenga un mensaje predeterminado; de ese modo, el
usuario del control puede cambiar el mensaje lo que dice el mensaje.
Tambin es posible que el usuario del control no requiera un segundo nombre,
de modo que tambin desear agregar una propiedad Boolean para desactivar
la validacin para el cuadro de texto MiddleName.
Intntelo
Para agregar la validacin
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 150
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 151
MsgBox(ValidationErrorMessage)
End If
Else
' Middle name isn't required.
If FirstName.Text = "" Or LastName.Text = "" Then
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
Fundamentos de grficos
Antes de comenzar a dibujar, hay algunas cosas que debe saber. La pantalla de
un equipo se compone de miles de puntos diminutos llamados pxeles; al
definir el color de cada pxel, el programa controla lo que se muestra en la
pantalla. Por supuesto, la mayora de este trabajo ya se realiza
automticamente en el cdigo que define formularios y controles.
Piense en un formulario como en un lienzo en el que puede dibujar o pintar: al
igual que un lienzo real, un formulario tiene dimensiones. Mientras un lienzo
real se mide en pulgadas o centmetros, un formulario se mide en pxeles. Un
sistema de coordenadas determina donde se ubica cada pxel, con la
coordenada X que mide de izquierda a derecha y la coordenada Y que mide de
arriba a abajo.
Las coordenadas se inician en la esquina superior izquierda del formulario, de
manera que si desea dibujar un punto nico 10 pxeles desde la izquierda y 10
pxeles hacia abajo, las coordenadas X e Y se expresarn como 10, 10.
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.
El acto de dibujar en la pantalla se conoce como pintar. Los formularios y
controles tienen un evento Paint que aparece siempre que es necesario volver a
dibujarlo, por ejemplo cuando se muestra un formulario por primera vez o
cuando otra ventana lo ha cubierto. Generalmente, cualquier cdigo que
escribe para mostrar los grficos lo tiene el controlador de eventos Paint.
Intntelo
Para dibujar lneas
En el men Archivo, elija Nuevo proyecto.
En el panel Plantilla, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Lines y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo y seleccione
Pintar de la lista desplegable Eventos.
En el controlador de eventos Form1_Paint, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
' Draw a 400 pixel black line 25 pixels from the top of the form.
e.Graphics.DrawLine(Pens.Black, 0, 25, 400, 25)
' Draw a 500 pixel red line 100 pixels from the left of the form.
e.Graphics.DrawLine(Pens.Red, 100, 0, 100, 500)
' Draw a diagonal blue line from the upper left to the lower right.
e.Graphics.DrawLine(Pens.Blue, 0, 0, Me.Width, Me.Height)
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.
Los crculos y valos (tambin conocidos como elipses) no tienen esquina
superior izquierda, por lo que en su lugar las coordenadas describen la esquina
superior izquierda de su rectngulo delimitador: un rectngulo imaginario del
mismo ancho y alto del crculo u valo.
Intntelo
Para dibujar formas
En el men Archivo, elija Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, seleccione
Aplicacin para Windows.
En el cuadro Nombre, escriba Shapes y, a continuacin, haga clic en
Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo y seleccione
Pintar en la lista desplegable Eventos.
En el controlador del evento Form1_Paint, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 155
Copiar cdigo
' Fill the circle with the same color as its border.
e.Graphics.FillEllipse(Brushes.Red, 0, 0, 150, 150)
' Fill the square with a different color.
e.Graphics.FillRectangle(Brushes.Aquamarine, 31, 31, 148, 148)
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.
El mtodo DrawString tambin tiene dos argumentos adicionales: la cadena
que desea dibujar y la fuente que determina el aspecto del texto. Para
especificar la fuente, primero debe crear un objeto Font y utilizar dicho objeto
como un argumento al mtodo DrawString.
Intntelo
Para dibujar texto
En el men Archivo, elija Nuevo proyecto.
En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba DrawText y haga clic en Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo y seleccione
Pintar de la lista desplegable Eventos.
En el controlador de eventos Form1_Paint, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
Presione F5 para ejecutar el programa. Debe poder ver el texto que se muestra
en el formulario.
Mantenga abierto el proyecto: continuar utilizndolo en el siguiente
procedimiento.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 157
Intntelo
Para dibujar texto girado
En el controlador de eventos Form1_Paint, agregue el siguiente cdigo debajo
del cdigo que escribi antes.
Visual Basic Express
Copiar cdigo
Presione F5 para ejecutar el programa. Debe poder ver el texto girado que se
muestra en el formulario.
Intntelo
Para mostrar una imagen girada
En el men Archivo, elija Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba DrawImage y haga clic en Aceptar.
Se abrir un nuevo proyecto de formularios Windows Forms.
En el Explorador de soluciones, haga doble clic en el nodo Mi proyecto para
abrir el Diseador de proyectos.
En el Diseador de proyectos, haga clic en la ficha Recursos, seleccione
Agregar recursos y, a continuacin, Agregar archivo existente.
En el cuadro de dilogo Agregar archivo existente a los recursos, vaya a
cualquier archivo de imagen, seleccinelo y, a continuacin, haga clic en Abrir.
En el Explorador de soluciones, seleccione el nodo Form1 y, en el men Ver,
seleccione Cdigo para abrir el Editor de cdigo.
En el Editor de cdigo, seleccione la opcin Pintar de la lista desplegable
Eventos.
En el controlador de eventos Form1_Paint, agregue el siguiente cdigo.
Visual Basic Express
Copiar cdigo
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 CDROM 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.
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.
Si tiene acceso a un servidor Web, tambin puede utilizar ClickOnce para
publicar el programa en un sitio Web; el programa se puede descargar a travs
de Internet. Si cambia el programa ms adelante, puede publicar la nueva
versin y cualquier persona que lo haya descargado podr descargar
automticamente la nueva versin la siguiente vez que lo ejecute.
Para publicar un programa utilizando ClickOnce, debe tener acceso a un
grabador de CD o DVD o a un servidor Web. Si no tiene acceso a ninguno de
estos dispositivos, puede compartir el programa comprimindolo y copindolo
en un disquete o envindolo a travs del correo electrnico.
Intntelo
Para publicar en un CD
En el men Archivo, seleccione Abrir proyecto.
En el cuadro de dilogo Abrir proyecto, vaya a cualquier proyecto Aplicacin
para Windows que haya creado en una leccin anterior y haga clic en Abrir.
Presione F5 para ejecutar el proyecto. Si hay algn error, deber corregirlo
antes de continuar.
En el men Depurar, elija Detener depuracin.
En el men Generar, seleccione Publicar nombre de proyecto, donde Nombre
de proyecto es el nombre del proyecto.
Se iniciar el Asistente para publicacin.
En la pgina Dnde desea publicar la aplicacin? del Asistente para
publicacin, escriba la ruta de acceso donde desea publicar el programa, por
ejemplo , C:\My Programs. Si la carpeta no existe, se le solicitar que la
cree.
Haga clic en Siguiente para ir a la siguiente pgina del asistente.
En la pgina Cmo instalarn los usuarios la aplicacin?, seleccione Desde un
CD-ROM o un DVD-ROM y haga clic en Siguiente.
En la pgina Dnde buscar la aplicacin las actualizaciones?, seleccione La
aplicacin no comprobar si hay actualizaciones.
Haga clic en Finalizar. El programa se publicar en la ubicacin que especific
en la primera pgina del asistente.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 162
Intntelo
Para incluir requisitos previos
Abra el proyecto de la leccin anterior, Distribuir un programa en CD: publicar
con ClickOnce.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 163
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.
Intntelo!
Para publicar en un servidor Web
En el men Archivo, seleccione Abrir proyecto.
En el cuadro de dilogo Abrir proyecto, vaya a cualquier proyecto de
Aplicacin para Windows y haga clic en Abrir.
Presione F5 para ejecutar el proyecto. Si hay algn error, deber corregirlo
antes de continuar.
En el men Depurar, elija Detener depuracin.
En el men Generar, seleccione Publicar nombre de proyecto, donde Nombre
de proyecto es el nombre del proyecto.
Se iniciar el Asistente para publicacin.
En la pgina Dnde desea publicar la aplicacin? del Asistente para
publicacin, escriba la direccin URL del sitio Web donde desea publicar el
programa, por ejemplo http://www.microsoft.com/myprogram.
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.
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
Intntelo
Para utilizar fragmentos de cdigo
En el men Archivo, seleccione Nuevo proyecto.
En el panel Plantillas, en el cuadro de dilogo Nuevo proyecto, haga clic en
Aplicacin para Windows.
En el cuadro Nombre, escriba Snippets y, a continuacin, haga clic en
Aceptar.
Se abre un nuevo proyecto de formularios Windows Forms.
Haga doble clic en el formulario para abrir el Editor de cdigo.
En el Editor de cdigo, haga clic con el botn secundario del mouse en el
controlador de eventos Form1_Load y elija Insertar fragmento de cdigo en
el men desplegable.
Se mostrar una lista de categoras de miniprograma.
Haga doble clic en Procesar unidades, carpetas y archivos
Se mostrar una lista de miniprogramas.
Haga doble clic en Escribir texto en un archivo.
Se insertar el cdigo siguiente y se resaltarn "C\Test.txt" y "Text".
Copiar cdigo
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 167
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 168
IntelliSense
A medida que avanzaba por las lecciones y escriba cdigo, quiz haya
observado que segn escriba, apareca una lista desplegable de opciones en el
Editor de cdigo. ste es un ejemplo de la caracterstica conocida como
IntelliSense.
IntelliSense ofrece varias caractersticas que facilitan el acceso a referencias del
lenguaje. Al escribir el cdigo, no necesita abandonar el Editor de cdigo para
obtener informacin sobre los elementos del lenguaje. Puede quedarse donde
est, buscar la informacin que necesite, insertar elementos del lenguaje
directamente en el cdigo e, incluso, dejar que IntelliSense termine de escribir
el texto automticamente.
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 169
Reproducir sonidos
Si crea un juego, probablemente desear que el programa reproduzca sonidos
en respuesta a distintos eventos. El objeto My.Computer.Audio permite hacer
exactamente eso, reproducir archivos de onda que puede incluir en la
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 170
Agregue personalizacin
Se ha preguntado alguna vez cmo las pginas Web recuerdan el nombre de
un usuario y muestran mensajes como "Bienvenido de nuevo (insert your name
here)" ? Puede hacer algo similar en su aplicacin utilizando la propiedad
My.User.Name (Propiedad) para obtener el nombre del usuario que ha iniciado
la sesin en curso en el equipo. Para obtener ms informacin, vea My.User
(Objeto).
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 171
Microsoft Office
2007
Windows Xp
Sp3
Visual Studio
2008
Everts Garay | Granada, Nicaragua| Paseo por Visual Basic 2008 172