Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN EN VISUAL BASIC Personalizado
PROGRAMACIÓN EN VISUAL BASIC Personalizado
Sede Valdivia
Note que el signo igual no se usa en los métodos. Para ellos se debe tener en
cuenta si necesitan de argumentos para funcionar correctamente. Por otro
lado, no todos los métodos necesitan de argumentos.
Argumentos
En el caso de los métodos son variables de entrada o valores que deben
conocerse previamente para que el método pueda ejecutarse correctamente.
La cantidad y el tipo de argumentos dependerá del método.
Página 1 de 29
Nuevamente, la práctica y el conocimiento de Visual Basic permitirán
discriminar de aquellos métodos que requieren argumentos de los que no los
necesitan.
Nota
Un argumento puede ser un valor de tipo entero, objeto, carácter, booleano,
etc.
Evento
Acción reconocida por un objeto. Estas acciones pueden ser producidas por otros
objetos, el usuario y/o el Sistema Operativo.
Dentro de la categoría otros objetos se encuentran la aplicación que posee el objeto que
es capaz de reconocer acciones, así como también, objetos de otras aplicaciones.
No todos los objetos son capaces de reconocer todos los eventos. Por ejemplo, el objeto
TextBox (cuadro de texto) es capaz de reconocer el evento de un Click del mouse sobre
él. El objeto CommandButton también es capaz de hacerlo, pero el CommanButton no
es capaz de reconocer el evento de cambio del texto escrito sobre él. El TextBox si lo
puede hacer.
Nota
Visual Basic provee herramientas para crear un nuevo CommandButton, que sea capaz
de reconocer el cambio del texto escrito sobre él. Esto se verá más adelante ya que son
materias que involucran el manejo de los Controles ActiveX.
Procedimientos de Evento:
Sintaxis General
Página 2 de 29
Private/Public Sub OBJETO _ EVENTO ( {argumentos} )
<CODIGO>
End Sub
Ejemplo
Supongamos que se desea crear un aplicación Visual Basic que reciba el nombre del
usuario en un cuadro de texto y al presionar un botón tanto el botón como el cuadro de
texto desaparezcan. Luego, el nombre del usuario debe aparecer en letras grandes en el
Form.
Solución
Primero se deben poner en el Form los controles que se usarán. Usted ya sabe hacer eso.
Ponga además una etiqueta (Label).
Luego, se debe dar a las propiedades de los controles los valores adecuados. La
propiedad Visible del Label debe ser False. La propiedad Text del TextBox debe ser
borrada (por defecto dice Text1, el nombre dado por Visual Basic al TextBox). La
propiedad Caption del CommandButton debe decir Escriba su Nombre.
Es necesario, dadas las exigencias de esta aplicación, escribir código Visual Basic.
Página 3 de 29
Imagen N° 7 : Vista de la Ventana Editora de Código. Al hacer dobleclick sobre el
botón aparece la ventana mostrando el Procedimiento de Evento por defecto del botón.
Esta ventana muestra el Módulo de Código del Form1. Es en este módulo en donde se
escribe la mayoría del código de un programa Visual Basic.
Si se agregan más Form al proyecto, más módulos de código se agregarán.
Nota
Más tarde se verán otros tipos de módulos de código. Los Módulos Estándar y los
Módulos de Clase. Como avance, estos módulos hacen lo mismo, la diferencia es la
forma en que lo hacen. El primero trabaja en base a, exclusivamente, código Visual
Basic El segundo trabaja en base a los objetos definidos en él y que prestan alguna
función específica.
En este módulo de código del Form van apareciendo los procedimientos de evento de
cada objeto que se encuentre sobre el Form, según se hace doble click sobre ellos.
Cuando se hizo doble click sobre el CommandButton apareció en el módulo del Form el
procedimiento de evento click del Command1. (Command1 es el nombre dado por
Visual Basic al CommandButton cuando fue puesto en el Form. Si se pusiera otro
CommandButton, sin cambiar el nombre del primero, Visual Basic llamaría a este
segundo CommandButton, Command2).
End Sub
Página 4 de 29
En el espacio en blanco es donde se debe escribir código Visual Basic. Haga la
comparación con la sintaxis general de un procedimiento de evento.
Los números escritos para cada línea no pertenecen a Visual Basic, no los escriba
en el código.
Las líneas 1 y 2 hacen que los objetos Text1 y Command1 no puedan ser vistos sobre el
Form.
Las líneas 3 y 4 ubican el Label1 en una coordenada precisa dentro del Form1. Esquina
superior izquierda.
La línea 5 es una de las más importantes. Esta línea es una asignación (así como se
hacen asignaciones en otros lenguajes, como por ejemplo el lenguaje C).
Específicamente, se asigna a la propiedad Caption del Label1 el contenido actual de la
propiedad Text del Text1. (En el momento en que se hace la asignación, es decir,
cuando se presiona el botón, el contenido de la propiedad Text del Text1 debe ser el
nombre del usuario).
Si suponemos que ya se está ejecutando la aplicación, note que el Label1 aun está
invisible a estas alturas de la ejecución de la aplicación.
Las líneas 6 y 7 son también asignaciones. Se asigna a las propiedades Height y Width
del Label1 los respectivos valores guardados en las propiedades Height y Width del
Form1. Es decir, se da al Label1 las mismas dimensiones del Form1.
La línea 9 permite dimensionar el tamaño de las letras del texto escrito en la propiedad
Caption del Label1.
Nota
Esta notación parece romper la sintaxis general del lenguaje Visual Basic indicada al
principio del capítulo, pero no es así. La propiedad Font es de tipo Objeto (si. . .Objeto
también es un tipo de dato, como lo es Entero, Booleano, String, etc.). Por consiguiente,
Font, como todo objeto también tiene sus propiedades. Size es entonces una propiedad
de Font y Font es a su vez propiedad de Label1. La sintaxis sigue siendo válida.
Nota
Página 6 de 29
Vea que todo el código está dentro del procedimiento de evento Click del Command1.
Es decir, cuando el usuario presione el botón con el mouse, todo ese código se ejecutará.
Y si el usuario no presiona el botón nada del código será ejecutado.
Por lo anterior es que se dice que Visual Basic es orientado a eventos. Todo depende de
la ocurrencia de un evento, sea este el click sobre un botón, el cambio en el texto de un
textbox, el cambio de dimensiones de un Form, etc.
Ya debe haber notado que Visual Basic proporciona algunas ayudas al programador. De
hecho, al escribir el nombre del objeto y el punto aparecen opciones de propiedades y
métodos pertenecientes a ese objeto.
Si bien es cierto que Visual Basic da un nombre a todos los objetos que se ponen en un
Form, esto lo hace de forma automática. En el caso de TextBox, los llama Text1, Text2,
Text3, etc. Para Label, los llama Label1, Label2, etc.
Ejemplo
Suponga que implementa un Form con 15 Label, 25 TextBox, 5 CommandButton y 3
Image (Image es un control que ofrece Visual Basic, así como un TextBox o un Label,
pero para el manejo de imágenes). En general, suponga un Form con muchos controles.
Página 7 de 29
Cuando ya ha escrito el código respectivo de la mayoría de estos controles suponga que
por algún motivo debe dejar este proyecto de lado, por ejemplo, por otro que en ese
momento es más urgente (cosa no muy alejada de la realidad de un desarrollador).
Luego de un tiempo (que podrían ser semanas o meses) retoma su proyecto. Usted
mismo se preguntará ¿Qué hace el text15? ¿Qué hace el Command3? ¿Qué texto tiene
el Label8?
Por esto se acostumbra dar un nombre a todos los controles que se usan en un Form,
incluso se da un nombre al mismo Form o Forms de la aplicación. Aun más, existe un
listado de prefijos que, si bien no es un acuerdo mundial sobre el tema, es una opción
bastante buena y útil.
De aquí en adelante (y hasta el final del curso) se hará uso de los prefijos y se
incentivará su utilización así como el hábito de dar un nombre descriptivo a los objetos
según su uso o función dentro de la aplicación Visual Basic.
Lista de Prefijos
OBJETO PREFIJO EJEMPLO
Form frm frmMenu
TextBox txt txtApellido
CommandButton cmd cmdGuardar
Image img imgFoto1
ComboBox cbo cboAreas
ListBox lst lstMunicipalidades
Shape shp shpCirculo
OptionButton opt optArea1
CheckBox chk chkArea1
Label lbl lblTitulo
A medida que se avance en el curso irán apareciendo más prefijos, pero los mostrados
son los que con mayor frecuencia se usan en aplicaciones Visual Basic.
Variables y Constantes:
La definición de variable siempre trae algún conflicto al tratar de explicar un concepto
que, en realidad se explica por sí mismo. O por lo menos eso parece.o:p>
Variable es una porción de memoria que se ha destinado para guardar datos que van a
cambiar dentro de la ejecución de una aplicación.
Página 8 de 29
Visual Basic, como un lenguaje de programación, necesita que las variables a usar en
una aplicación sean declaradas.
Declaración de Variables:
En Visual Basic las variables pueden ser declaradas de dos maneras, como Públicas
(Public) o Privadas (Private). Esta declaración tiene asociado otro concepto que es muy
importante, el alcance (Scope).
Recuerde que un Módulo de Código es un módulo que está asociado a todo Form, es
decir, todo Form posee uno.
La importancia de un Módulo de Código radica en que es en este Módulo de Código
donde se escribe gran parte del código del programa Visual Basic.
Sintaxis
Ejemplo
Declarar la variable CONTADOR como una variable de tipo entero, pero sólo visible
para el Form.
Solución
Private CONTADOR As Integer
Página 9 de 29
Algunas consideraciones:
Ya que se pidió que la declaración de la variable fuera sólo para el Form, la variable se
declara en la parte superior del Módulo de Código. De hecho esta parte del Módulo de
código del Form se llama Sección de Declaraciones Generales. Nótese que una línea
separa esta sección del resto del módulo
En realidad Visual Basic no obliga a hacer una declaración explícita de las variables que
se usan en un programa. Siempre es aconsejable declarar las variables que se usen, por
una cuestión de orden y buen hábito de programación.
Si no se declaran las variables, Visual Basic asume que son de tipo Variant. Variant es
un tipo de dato general, aun más general que el tipo de dato Object. Eso significa que la
porción de memoria asignada a las variables no declaradas es mucho mayor, ya que
eventualmente se podría asignar a estas variables elementos tan grandes como objetos o
tan pequeños como enteros simples. También se puede declara una variable como
Variant en forma explícita.
Ejemplo
Dim strNombre As Variant
Lo mismo sería si la variable strNombre fuera usada sin declararla. Dada la falta de la
declaración, Visual Basic asumiría que es de tipo Variant.
La verdad es que es atrayente no declarar las variables ya que Visual Basic lo hará por
uno, se puede pensar que es un problema menos, pero no es así.
Segundo, se dificulta la administración del contenido de las variables (ya que se puede
guardar cualquier tipo de valor).
Página 10 de 29
Ejemplo
Public X As Form
Set X = Form1
Ejemplo
X . BackColor = vbRed
Si una variable debe ser declarada a nivel de Módulo o nivel de formulario, debe ser
declarada en este lugar específicamente. En la Sección de Declaraciones Generales.
Al ser declarada como Private, sólo es visible desde este Módulo de Código. No puede
ser usada desde otro Módulo de Código perteneciente a otro Form.
Por otro lado, el código escrito en los procedimientos de evento de este módulo pueden
usar esta variable como si fuera propia.
Imagen N° 14 : Alcance de Variable definida a nivel de Form. La variable X es de
tipo Double y es definida en la Sección de Declaraciones Generales del Form como
Private, es decir, sólo es posible de usar por los Procedimientos de Evento definidos
dentro del Módulo de Código del Form. No es necesario volver a definir la variable
dentro de los Procedimientos de Evento, estos la usan como si fuera propia.
Para hacer posible su uso desde otro Form debe ser declarada como Public. De hecho
esto haría que esta variable sea posible de usar desde cualquier otro Form perteneciente
al proyecto (o aplicación).
Página 11 de 29
Ejemplo
Declarar la variable X como una variable de tipo String. Esta variable debe ser posible
de usar en toda la aplicación.
Solución
Public X As String
Imagen N° 15 : Declaración de una variable Pública a nivel de Form. Desde un
Módulo de Código de otro Form (Form2) es posible usar la variable del Form1, pero es
necesario indicar el origen de la variable. Un ejemplo de esto se muestra en el evento
Click de un botón ubicado en el Form2.
Más consideraciones
Ya habrá notado que luego de escribir el operador As y dejar un espacio, Visual Basic
provee un pequeño listado de opciones de tipos de dato. Esta es otra opción de ayuda
del ambiente de desarrollo de Visual Basic. Más tarde se verá donde es posible
modificar estas, y otras opciones del ambiente de desarrollo.
Ejemplo
Declarar una variable. Esta variable sólo debe existir en un Procedimiento de Evento.
La variable debe ser de tipo entero.
Solución
Dim intCuenta As Integer
Página 12 de 29
Algunas consideraciones:
Sí. Se había indicado que existían dos formas de declarar una variable (Public y
Private), pero, a modo de permitir la compatibilidad de versiones de Visual Basic
(Visual Basic 6 con las anteriores) la palabra clave Dim es usada dentro de los
procedimientos de evento en vez de usar Private.
De hecho, no es posible usar Private (ni Public) para declarar variables dentro de un
procedimiento de evento. Se genera un error aun antes de la ejecución de la aplicación.
De aquí en adelante se usará la notación de prefijos tanto para las variables como
para los objetos.
Ejemplo
Asigne a la variable intCuenta el valor guardado en la propiedad Text de un TextBox
llamado txtEdad.
Solución
intCuenta = txtEdad . Text
Algunas consideraciones:
Se está asignando un dato de tipo string a una variable de tipo entero. Esto no representa
problema. Visual Basic hace uso de la Conversión Automática. Pero hay que tener esto
en cuenta y tomar las precauciones del caso.
Ejemplo
Declare la variable strNombre como de tipo String pero sólo para el Form donde será
usada y haga que este valor string aparezca en un label llamado lblName.
Solución
Primero hay que declarar la variable a nivel de Form. En la Seción de Declaraciones
Generales se debe hacer la declaración:
Página 13 de 29
Dim strNombre As String
Algunas consideraciones:
Ejemplo
Declarar una variable para contar las veces que un usuario presiona un botón.
Solución
Debe ser más o menos claro que la variable debe ser declarada dentro de un
Procedimiento de Evento, específicamente en el evento Click de un botón. Es decir, la
variable debe ser una Variable Local.
intContador=intContador + 1
Print intContador
End Sub
El problema es que cada vez que el usuario presione el botón se ejecutará el código
dentro del procedimiento de evento, es decir, cada vez que se presione el botón la
variable se volverá a definir (o declarar) lo que hará que cada vez retome su valor
inicial, el valor cero ( 0 ).
Para resolver este problema se usa otra palabra clave Static en la definición de
variables. Al definir la variable con la palabra clave Static el código debe quedar así:
Página 14 de 29
Private Sub cmdBoton _ Click ( )
Static intContador as Integer
intContador = intContador + 1
Print intContador
End Sub
El efecto de esta palabra clave es retener el valor de la variable. Ahora si, cada vez que
el usuario presione el botón el valor de la variable será retenido y resguardado hasta el
momento que se use su valor.
Justamente este tipo de declaraciones se usa cuando se desean definir variables usadas
como contador.
Constantes
La definición de una constante parece un poco más sencilla luego de haber establecido
la de una variable.
Una Constante es una porción de memoria destinada para guardar datos que no van
sufrir cambios durante la ejecución de una aplicación. Es decir, al momento de ejecutar
la aplicación estos valores son fijados y no son cambiados.
Sintaxis
Algunas consideraciones:
Las constantes sólo pueden ser declaradas como Private en un Módulo de Código de un
Form y sólo en la Sección de Declaraciones Generales de un Módulo de Código de un
Form.
Para declara una constante que pueda ser usada en toda la aplicación debería ser
declarada como Public, pero en otro tipo de Módulo de Cödigo. Este se verá más
adelante en el curso.
Ejemplo
Declarar una constante strEmpresa. Esta sólo será usada en los procedimientos de
evento de un Form.
Solución
Private Const STREMPRESA As String = “LADECO”
Página 15 de 29
Ejemplo
Use la constante del ejemplo anterior para asignar a un TextBox el nombre de la Línea
Aérea guardada en la constante.
Solución
txtEmpresa = STREMPRESA
Algunas consideraciones:
Una vez definida la constante no es necesario volver a hacerlo. La constante puede ser
usada como un valor más.
Instrucciones Condicionales y de Iteración:
Estructuras Condicionales (If . . . Then . . .End if)o:p>
Sintaxis:
If <Condicion> Then
<código a ejecutar si la condición es verdadera>
Else
<código a ejecutar si la condición es falsa>
End if
Ejemplo
Implemente una aplicación Visual Basic que permita determinar si la clave ingresada a
un TextBox es la clave que corresponde. Luego de escribir la clave, el usuario debe
presionar un botón. Si la clave es la correcta debe aparecer “Bienvenido” en el TextBox.
Si no es la correcta, debe aparecer “No Bienvenido”.
Solución
Como siempre, lo primero es la interfaz de usuario. Ponga un TextBox y un botón.
Cambie las propiedades de los controles para hacer una mejor interfaz de usuario.
Algunas consideraciones:
Por lo general la clave está en una Base de Datos. Pero el acceso a Base de Datos viene
más tarde en el curso.
Parece algo extraño que se haga el traspaso desde el TextBox a la variable y luego se
use la variable para verificar la clave. ¿Por qué no hacerlo directamente? Es decir:
La cuestión es que esto implica un paso extra antes de hacer la verificación de clave.
Visual Basic debe ratificar si el TextBox existe y luego ver el contenido de la propiedad
Text del TextBox para finalmente hacer la verificación de clave. Si este código se repite
muchas veces podría afectar la rapidez con que la aplicación verifica la clave (que es
precisamente su función y utilidad). Claro, se habla de repetir el proceso muchas veces,
tanto como para hacer que el funcionamiento de la aplicación se vea comprometido.
Por lo anterior, el uso de variables es mucho más rápido que usar las propiedades de un
objeto.
If <condición> Then
<código a ejecutar si condición es verdadera>
ElseIf <condición2> Then
<código a ejecutar si condición2 es verdadera>
Else
<código a ejecutar si las condiciones anteriores son falsas>
End If
Ejemplo
Imagen N° 16 : Posible vista inicial del ejercicio. Se debe dar los valores a las
propiedades para conformar la interfaz de usuario de la aplicación.
Solución
Una vez construida la interfaz de usuario, la pregunta es en qué evento se debe escribir
el código.
Para simplificar, una vez que el usuario escriba la opción de número de región,
presionar la tecla Enter es una buena opción para iniciar el proceso de verificación de la
región.
Luego, el evento debe pertenecer al textBox, ya que el cursor del mouse estará en el
TextBox cuando la tecla Enter sea presionada.
En Visual Basic, que el cursor del mouse esté en un objeto u otro se describe como
tener el foco. Por lo tanto, mientras se escribe en el TextBox txtOpcion, este objeto
tiene el foco.
End Sub
Página 19 de 29
Nótese que este evento posee un argumento llamado KeyAscii y es de tipo entero. Este
argumento es absolutamente necesario para resolver el problema de discriminar entre
las teclas presionadas por el usuario.
Toda tecla alfanumérica (números y letras) y algunas otras teclas como la Enter poseen
un código que las identifica. Este código es el Código Ascii.
El código Ascii de la tecla Enter es 13. Así que usando un simple bloque If se resuelve
ese problema.
End If
End Sub
intOpcion = txtOpcion
Select case intOpcion
Case 1
lblCiudad . Caption = “Anda lejos”
Case 2
lblCiudad . Caption = “Anda lejos”
Case 3
lblCiudad . Caption = “Anda lejos”
Case 4
lblCiudad . Caption = “Se acerca”
Case 5
lblCiudad . Caption = “Se acerca”
Case 6
lblCiudad . Caption = “Se acerca”
Case 7
lblCiudad . Caption = “Casi llega”
Case 8
lblCiudad . Caption = “Correcto”
Case 9
lblCiudad . Caption = “Se pasó”
Case 10
lblCiudad . Caption = “Se aleja”
Página 20 de 29
Case 11
lblCiudad . Caption = “Se aleja”
Case 12
lblCiudad . Caption = “Anda lejos”
Case 13
lblCiudad . Caption = “Anda lejos”
End Select
Con este código se resuelve el problema. Pero ya que existen opciones que se repiten es
posible deshacerse de algunas líneas que, en realidad están de más.
intOpcion = txtOpcion
Select case intOpcion
Case 1, 2, 3, 12, 13
lblTexto . Caption = “Anda lejos”
Case 4, 5, 6, 10, 11
lblTexto . Caption = “Anda cerca”
Case 7
lblTexto . Caption = “Casi llega”
Case 8
lblTexto . Caption = “Correcto”
Case 9
lblTexto . Caption = “Se pasó”
End Select
Aun más, si el usuario escribe un número que no está entre 1 y 13 sería bueno darle un
mensaje correspondiente.
Tenga en mente el evento KeyPress, es un evento muy útil y muy usado en muchas
aplicaciones Visual Basic, sobre todo cuando se desea que la aplicación pueda
discriminar entre teclas presionadas.
Basta con pensar en que se desea repetir una operación o un proceso una cierta cantidad
de veces para ver que es necesaria alguna estructura de repetición dentro del lenguaje.
Visual Basic posee Estructuras de Control de Repeticiones así como existen en otros
lenguajes.
Estructura Do … Loop
En realidad estas estructuras son muy similares a las de otros lenguajes ya conocidos
por el lector.
Do
<código que se repetirá mientras la condición sea verdadera>
Do While <condición>
<código que se repetirá mientras la condición sea verdadera>
Loop
Página 22 de 29
Nótese que el código se repetirá mientras la condición sea verdadera, incluyendo la
primera vez.
Do
<código que se repetirá hasta que la condición sea verdadera>
Loop Until <condición>
Do Until <condición>
<código que se repetirá hasta que la condición sea verdadera>
Loop
Se sugiere revisar estas estructuras con la palabra clave Until y asegurarse que se ha
comprendido su funcionamiento.
Ejemplo
Algunas consideraciones:
Ejemplo
Página 23 de 29
¿Ahora cuántas veces se repitió el incremento de x?...Respuesta: 4 veces.
El comando Print permite imprimir en el Form lo que se indique. A través del uso de
los caracteres de concatenación de string (recuerde que tanto el & como el carácter +
son caracteres de concatenación) es posible armar frases completas e imprimir una serie
de valores de variables de una aplicación.
Esta estructura de repetición se usa cuando, a diferencia de los casos anteriores, se sabe
la cantidad de repeticiones (o iteraciones) que es necesario realizar.
En las estructuras anteriores la cantidad de repeticiones dependía de una condición, pero
no se podía especificar cuantas veces se haría la repetición.
Ejemplo
For i = 1 To 10
Print i
Next i
Algunas consideraciones:
Este código puede ser puesto en el evento Click de un botón. La variable i puede ser
declarada dentro del procedimiento de evento o en la Sección de Declaraciones
Generales del Form.
Tenga en cuenta que el contador de una repetición For…Next siempre terminará con
uno más que el valor indicado como final.
Hay una excepción a lo indicado anteriormente. Puede darse el caso en que bajo ciertas
circunstancias sea necesario salir de la repetición (o quebrar el ciclo). Para hacer esto
se usa el comando Exit For.
Página 24 de 29
Ejemplo
For i = 1 To 10
If i = 5 Then
Exit For
Else
Print i
End if
Next i
Algunas consideraciones:
Ejemplo
Dim x As Boolean
Dim y As Integer
Do While x = True
<código que puede cambiar el valor de x a False (Falso)>
If x = False Then
y=0
Exit Loop
End If
y = y +1
Loop
Print “y = ” & y
Antes de iniciar los ejercicios serán presentadas dos funciones de Visual Basic que se
encuentran entre las más ampliamente usadas en cualquier aplicación Visual Basic.
Función MsgBox
Sintaxis
Algunas consideraciones:
Button indica tanto la imagen como el botón que aparecerá en el Cuadro de Mensaje (o
MsgBox). En el ejemplo, sólo se indica una imagen, la de información. Al no indicar un
botón en particular Visual basic asume que debe aparecer sólo el botón por defecto, el
de Aceptar (u OK).
Title corresponde al string que aparece en la barra de título del Cuadro de Mensaje (o
MsgBox)
Ejemplo
Imagen N° 17 : Uso de la función MsgBox dentro de un trozo de código.
Página 26 de 29
Si se hace una revisión rápida de los ejemplos expuestos con anterioridad se podrá ver
que cada vez que se quería dar un mensaje al usuario se usaban Label o TextBox,
incluso en algunas ocasiones hasta CommandButton. Si bien no es un error hacer esto,
lo mejor, dado que fueron diseñados para eso, es usar unos MsgBox.
Función InputBox
Esta función de Visual Basic permite poner en pantalla un cuadro de mensaje con un
TextBox incluido. Así se da la ocasión al usuario para ingresar valores a la aplicación.
Sintaxis
Title es el string de texto que aparece en la Barra de Título del Cuadro de Entrada de
Datos.
Default es el valor que aparece en el TextBox para que el usuario tenga algún
conocimiento sobre el valor que debe poner en el TextBox (formato, rango, tipo, etc.)
XPos e YPos indican la posición que se desea para este Cuadro de Entrada de Datos
Ejemplo
Algunas consideraciones:
Comparando con el MsgBox se verá que en este caso se deben usar los paréntesis y
además se hace uso de una variable. Esto es obligatorio.
Ya que el InputBox recibirá un valor de parte del usuario, este valor debe ser guardado
en algún lugar durante la ejecución de la aplicación. De ahí el uso de la variable.
Los paréntesis son, sencillamente, por reglas del lenguaje.
Página 27 de 29
Imagen N° 18 : Ejemplo de InputBox. El Prompt es el string “Hola”, el Title es el
string “Titulo del InputBox” y Default es el string “Valorpordefecto”.
Lo usual es que cuando se necesita que el usuario ingrese un valor a la aplicación se use
el InputBox. Y cuando se deba dar un aviso al usuario se use en MsgBox.
En realidad, el MsgBox también puede capturar decisiones del usuario, y dadas éstas, la
aplicación seguirá un curso de acción según su programación. Para esto la sintaxis del
MsgBox cambia un poco y se asemeja a la de un InputBox.
Sintaxis
Aquí el argumento Button juega un papel muy importante. Las opciones posibles para
este argumento son variadas:
Luego, al seleccionar una opción, por ejemplo la opción vbYesNo, tendrá el efecto que
el MsgBox mostrará dos botones, uno con un Yes (Si) y otro con un No.
La variable, que en este ejemplo se llama W, guardará la elección que el usuario haga
entre estas dos opciones.
Ejemplo
Poner un botón en un Form. Al presionar este botón se debe consultar al usuario si
desea continuar con la aplicación o si desea terminar la ejecución.
Página 28 de 29
Solución
Luego de hacer la interfaz de usuario, el evento click del botón debe alojar el siguiente
código Visual Basic.
Nota
Aparece vbYes en el código, que es lo que se conoce en términos generales como
Constante Visual Basic. También son constantes Visual Basic las opciones vbNo,
vbCancel, etc. Cada una de las constantes Visual Basic tiene un valor numérico
asociado.
En la ayuda de Visual Basic que viene con el MSDN puede encontrarse un completo
listado de las constantes Visual Basic para ámbitos diferentes.
Las imágenes.
Página 29 de 29