A
continuación se detalla una lista con las constantes más usadas definidas en
Visual Basic y su significado:
vbBlack color negro
vbBlue color azul
vbCyan color azul celeste
vbGreen color verde
vbMagenta color violeta
vbRed color rojo
vbWhite color blanco
vbYellow color amarillo
vbYes
Si
vbNo No
vbCrLf Introduce un retorno de carro y
un avance de línea. De esta forma podemos hacer que se comience a escribir en
una nueva línea.
Las
siguientes constantes se utilizan en los MsgBox para indicar la señal y los
botones que se mostrarán:
vbCritical señal de error
vbExclamation señal de advertencia
vbInformation señal de información
vbQuestion señal de interrogación
vbOkOnly botón de aceptar
vbOkCancel botones aceptar y cancelar
vbYesNo botones Sí y No
vbYesNoCancel botones Sí, No y Cancelar
vbAbortRetryIgnore botones Anular, Reintentar y Omitir
Para
determinar que carácter se ha pulsado en el teclado podemos comprobar su código
ASCII. Visual Basic nos facilita esta labor mediante estas constantes:
vbKeyUp flecha arriba
vbKeyDown flecha abajo
vbKeyLeft flecha izquierda
vbKeyRight flecha derecha
vbKeyReturn
tecla
Intro
vbKeyEscape
tecla
Escape
vbKeySpace tecla espacio
vbLeftButton botón izquierdo del ratón
vbRightButton botón derecho del ratón
Evidentemente hay muchas
más, aunque no las expondremos aquí. Los cuatro primeros casos propuestos nos
servirán para, por ejemplo, mover un objeto por la pantalla con la ayuda de las
teclas de desplazamiento, como sucede en un juego.
Funciones
Una función nos servirá para realizar un cálculo u obtener
un determinado valor. Entre las múltiples existentes podemos
destacar las siguientes, agrupadas en categorías.
Abs(número) Devuelve
el valor absoluto de número
Sgn(número) Indica
el signo de número
Int(número) Devuelve
la parte entera de número
Sqr(número) Halla
la raíz cuadrada de número
Round(número,
numdecimales) Redondea número con
las posiciones decimales indicadas
Sin(ángulo) Seno
de ángulo
Cos(ángulo) Coseno
de ángulo
Tan(ángulo) Tangente
de ángulo
Rnd Devuelve
un número aleatorio entre 0 y 1
Randomize Inicializa
el generador aleatorio
Left(cadena,
num) Extrae num caracteres
de cadena contando
de izquierda a derecha
Right(cadena,
num) Extrae num caracteres
de cadena contando
de derecha a izquierda
Mid(cadena,
pos, num) Extrae num caracteres
de cadena a
partir de la posición pos
Len(cadena) Devuelve
la longitud de la cadena
LCase(cadena) Convierte
la cadena a minúsculas
UCase(cadena) Convierte
la cadena a mayúsculas
Date Devuelve
la fecha actual
Time Devuelve
la hora actual
Now Devuelve
la fecha y hora actuales
Day(Date) Devuelve
el día del mes
WeekDay(Date) Devuelve
el día de la semana en que nos encontramos, como número y
teniendo en cuenta que el 1 es el Domingo, 2 lunes, ...
Month(Date) Devuelve
el mes en que estamos, como número
Year(Date) Devuelve
el año
MonthName(num) Devuelve
el nombre del mes que representa num.
WeekdayName(num) Devuelve
el día de la semana que representa num. Recordar que el 1 es
el domingo, 2 lunes, ...
Hour(Time) Devuelve
la hora
Minute(Time) Devuelve
los minutos
Second(Time) Devuelve
los segundos
IsNumeric(dato) Comprueba
si un dato es numérico
IsDate(dato) Comprueba
si un dato es de tipo fecha u hora
Asc(carácter) Devuelve
el código ASCII del carácter indicado
Chr(códigoASCII) Devuelve
el carácter correspondiente al código ASCII indicado
Beep Emite
un pitido
Print Imprime
en pantalla el resultado de la expresión o valor que aparece
a su derecha. Por defecto, la impresión tendrá lugar en el
formulario. Si deseamos imprimir por ejemplo dentro de un
PictureBox, tendremos que anteponer el nombre de éste antes
de la instrucción Print, separados por un punto.
Si
queremos escribir varios datos en una misma línea, podemos
utilizar los siguientes separadores entre unos y otros:
Separador |
Resultado |
, (coma) |
los datos quedan
separados por un tabulador |
; (punto y coma) |
los datos quedan
separados por un único espacio en blanco |
& (andpersand) |
los datos se
escriben unos junto a otros, sin separación |
Ejemplos |
Resultado en pantalla |
Print 22, “hola” |
22 hola |
Print 22; “hola” |
22 hola |
Print 22 & “hola” |
22hola |
|
|
|
Las
funciones InputBox y MsgBox
La función InputBox se
utilizará cuando queramos que el usuario introduzca algún
dato. Esta función presenta la siguiente sintaxis:
variable = InputBox (“mensaje”,
[“titulo”], [“valor por defecto”])
donde variable es una
variable de tipo String en la que se almacenará el dato
introducido por el usuario, y mensaje es el mensaje que se
mostrará en la ventana de entrada de datos. Los valores que
aparecen entre corchetes es porque su inclusión en la
función InputBox es opcional, por lo que pueden omitirse. Título representa
el texto que aparecerá como cabecera en la ventana, y Valor
por defecto es el valor
que tomará la variable si el usuario no introduce ningún
valor en la casilla correspondiente.
El siguiente ejemplo
nombre = InputBox (“escriba
su nombre”,”AVISO”)
mostraría
la ventana de entrada de datos de la figura, y almacenaría
el valor introducido por el usuario en la variable nombre
(que debe ser de tipo String).
La función MsgBox permite
mostrar un mensaje. La sintaxis de esta función es como en
el siguiente ejemplo:
MsgBox “No
se puede calcular el factorial de un número negativo”, _
vbCritical + vbOKOnly, “Error”
El
resultado del ejemplo anterior sería una ventana como la que
aparece a continuación. Como puede verse la función MsgBox
lleva tres argumentos separados por comas; el primero de
ellos es el cuerpo del mensaje, en el segundo se hace
referencia tanto al dibujo que se mostrará como al botón o
botones que aparecerán y en el último se indica el título de
la ventana en la que aparece el mensaje.
La función MsgBox nos
permite conocer que botón ha pulsado el usuario como
respuesta al mensaje. Por ejemplo, una función MsgBox en la
que aparecieran un botón SI junto a un botón NO (vbYesNo),
tendría el valor vbYes si pulsamos el botón SI o el valor
vbNo si el botón pulsado es NO. Veámoslo más claramente en
el siguiente ejemplo
If MsgBox ("¿Realmente
desea salir?", vbYesNo + vbExclamation, _ "ATENCION") = vbYes Then End
Esta línea de código hace
que aparezca una ventana preguntándonos si deseamos salir
del programa, en la que aparecerán los botones <Si> o <No>.
Si pulsamos el botón <Si>, el programa finalizará (comando
End).
Nota importante: conviene
resaltar aquí que cuando una sentencia de Visual Basic
es demasiado larga y no cabe en una línea, antes de
comenzar a escribir la continuación de dicha sentencia
en la línea inferior es necesario escribir el carácter
de subrayado ( _ )
al finalizar la línea anterior como puede observarse en
el último ejemplo.
Las distintas
combinaciones de dibujos y botones que pueden mostrarse en
un MsgBox como vimos anteriormente y los repetiremos aquí:
vbCritical señal
de error
vbExclamation señal
de advertencia
vbInformation señal
de información
vbQuestion señal
de interrogación
vbOkOnly botón
de aceptar
vbOkCancel botones
aceptar y cancelar
vbYesNo botones
Sí y No
vbYesNoCancel botones
Sí, No y Cancelar
vbAbortRetryIgnore botones
Anular, Reintentar y Omitir