Cursos subvencionados para trabajadores
Realiza el curso gratis a través de tu empresa.
Cursos SubvencionadosCuando se introduce una respuesta a una pregunta, o cuando se obtiene un valor como resultado de una operación, o en otras muchas situaciones, es necesario que el código "decida" si va a hacer una cosa u otra (o ninguna) con lo que se ha obtenido. Por ejemplo. Si a la pregunta de si el usuario es español éste respondió afirmativamente, habrá que preguntarle cual es su numero del DNI. En caso contrario habrá que preguntarle por su número de pasaporte. Hay varias posibilidades de establecer condicionales durante la ejecución de un programa. Veámoslas:
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Intranet y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
La sentencia IF significa, en castellano si (condicional, no afirmativo) . La palabra THEN significa entonces o como consecuencia. La palabra ELSE se podría traducir por en caso contrario. Cuando queremos que el programa realice una o mas operaciones si se cumple una condición, podemos usar una estructura básica como la del siguiente ejemplo:
Condicionales
<HTML>
<HEAD>
<TITLE>Prueba básica de condicional</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
edad = INPUTBOX ("¿Es usted mayor de edad?",,"Si")
IF (edad = "Si") THEN
MSGBOX ("Usted ya puede votar")
END IF
</SCRIPT>
</BODY>
</HTML>
Este código muestra la siguiente ventana en la pantalla:

Si el usuario responde Si (Aceptando la respuesta por defecto), el programa muestra el siguiente resultado:

Haz clic aquí para ver esta página:
ejemplo de condicionalEn caso de que el usuario responda otra cosa o pinche en cancelar el programa no muestra ningún resultado. Como hemos visto, la condición va entre paréntesis. Esto no es obligatorio en VBScript, pero facilita la legibilidad del código. Nosotros lo haremos siempre así, por sistema.
Vamos a sofisticar un poco mas nuestro programa:
Condicionales
<HTML>
<HEAD>
<TITLE>Prueba básica de condicional</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
edad = INPUTBOX ("¿Es usted mayor de edad?",,"Si")
IF (edad = "Si") THEN
MSGBOX ("Usted ya puede votar")
ELSE
MSGBOX ("Usted aún no puede votar")
</BODY>
</HTML>
En caso de una respuesta diferente a Si por parte del usuario, ahora veremos en pantalla lo siguiente:

Como vemos, un condicional va encerrado entre las instrucciones IF y END IF. A continuación de la palabra clave IF, en la misma línea de código aparece la condición que determina la ejecución de unas instrucciones o de otras. Después de la palabra clave THEN aparecen las instrucciones que han de ejecutarse si se cumple la condición. A continuación de la palabra clave ELSE aparecen las instrucciones que han de ejecutarse si la condición no se cumple. Todo el bloque del condicional termina con las palabras clave END IF. Por lo tanto, la estructura general de este tipo de condicionales es la siguiente:
IF (condición) THEN
BLOQUE DE INSTRUCCIONES 1
ELSE
BLOQUE DE INSTRUCCIONES 2
END IF
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Intranet y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
El ejemplo anterior evalúa una condición. Si se cumple la condición hace una cosa y si no se cumple hace otra. Ahora supongamos la siguiente estructura:
IF (condición_1) THEN
BLOQUE DE INSTRUCCIONES 1
ELSE
IF (condición_2) THEN
BLOQUE DE INSTRUCCIONES 2
ELSE
BLOQUE DE INSTRUCCIONES 3
END IF
END IF
Esta estructura es un poco mas compleja. Si se cumple la condición_1 ejecutará el BLOQUE DE INSTRUCCIONES 1. Si no se cumple evalúa la condición_2. En caso de cumplirse ésta, ejecuta el BLOQUE DE INSTRUCCIONES 2. Solo en caso de que las dos condiciones sean falsas se ejecutará el BLOQUE DE INSTRUCCIONES 3. Veamos un ejemplo:
Condicionales anidados
<HTML>
<HEAD>
<TITLE>Prueba básica de condicional</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
edad = INPUTBOX ("¿Cuál es su edad?",,"0")
IF (edad < 18) THEN
MSGBOX ("Eres un jovenzuelo")
ELSE
IF (edad > 65) THEN
MSGBOX
("Usted ya está jubilado")
ELSE
MSGBOX
("Usted es adulto")
END IF
END IF
</SCRIPT>
</BODY>
</HTML>
En primer lugar una observación. En el capítulo anterior decíamos que INPUTBOX () recibía un valor alfanumérico, aunque aquí recibe un valor numérico (la edad) y lo procesa sin problemas como un número. Esto es posible gracias a la propia estructura de datos del lenguaje (ver el capítulo 3: Datos y variables en VBScript).
Bien. Veamos lo que ocurre al ejecutar el código anterior. En primer lugar se le pide al usuario que introduzca su edad. La respuesta por defecto es 0. Una vez que la ha introducido y ha pulsado en Aceptar, se comprueba si la edad es menor que 18. Para ello se usa el operador < (mira el Apéndice C: Operadores en VBScript). En caso de que sea así, se muestra el siguiente mensaje:

En caso de no cumplirse la condición, se comprueba si la edad es mayor que 65. Si se cumple esta condición se muestra el siguiente mensaje:

Solo en caso de no cumplirse ninguna de las dos condiciones anteriores se muestra el último mensaje:

Haz clic aquí para ver esta página:
ejemplo de condicional anidadaHay que resaltar que las condiciones son excluyentes entre sí. Es decir. En el momento que alguna de ellas resulte ser cierta, se ejecuta el bloque de instrucciones correspondiente y se abandona el condicional. Por ejemplo. Si la primera condición es cierta, ya no se evaluará la segunda, como es lógico.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Intranet y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Supongamos que sólo queremos evaluar si la edad del usuario está entre 18 y 65 años. Solo nos interesa saber si está o no en ese rango de edad. Veamos un ejemplo:
Condiciones compuestas
<HTML>
<HEAD>
<TITLE>Prueba básica de condicional</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
edad = INPUTBOX ("¿Cuál es su edad?",,"0")
IF (edad > 18 AND edad < 65) THEN
MSGBOX ("Usted es un adulto en edad
laboral")
ELSE
MSGBOX ("Usted no está en edad
laboral")
END IF
</SCRIPT>
</BODY>
</HTML>
Aquí vemos que la condición son, en realidad dos condiciones unidas por el operador lógico AND (Mira el Apéndice C). Esta línea se podría leer como "Si la edad es menor que 18 y la edad es menor que 65 entonces...". De esta forma se evalúan condiciones múltiples.
Inscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Intranet y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Cuando hay que evaluar muchas condiciones no se deben utilizar condicionales anidados: resulta muy laborioso y engorroso de depurar. Para ello se utilizan las sentencias SELECT CASE y END SELECT. Veamos un ejemplo:
Condiciones múltiples
<HTML>
<HEAD>
<TITLE>Prueba de Select</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE = "VBScript">
OPTION EXPLICIT
DIM cantidad
cantidad = 3
SELECT CASE cantidad
CASE 1:
MSGBOX ("La cantidad vale 1")
CASE 2:
MSGBOX ("La cantidad vale 2")
CASE 3:
MSGBOX ("La cantidad vale 3")
CASE 4:
MSGBOX ("La cantidad vale 4")
CASE 5:
MSGBOX ("La cantidad vale 5")
CASE 6:
MSGBOX ("La cantidad vale 6")
CASE ELSE:
MSGBOX ("La cantidad no está entre 1
y 6")
END SELECT
</SCRIPT>
</BODY>
</HTML>
El resultado será el siguiente:

Supongamos que la línea cantidad = 3 la sustituimos por cantidad = 7. El resultado sería el siguiente.

Haz clic aquí para ver esta página:
ejemplo de condicional múltipleInscríbete ahora y accede a 3 unidades gratis
Evalua el curso de Intranet y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....
Copyright 2008© ADRInfor S.L. Logroño | Tel: 941250116 Fax: 941236805 | Email | Politica de Privacidad | Aviso Legal