|
|
|
|
- Lección 4 - Instrucciones condicionales
- Presentación
- Ejemplo práctico
- Instrucción IF
- Instrucción SWITCH
- En resumen
Fundamentos de WLanguageLección 4 - Instrucciones condicionales Abordaremos los siguientes temas: - Instrucción IF.
- Instrucción SWITCH.
 20 min WLanguage es una secuencia de instrucciones que manipulan datos. Las instrucciones condicionales permiten comparar variables y/o valores entre sí con el fin de realizar diferentes procesos. Existen varias instrucciones condicionales: - IF... THEN... ELSE... END
- SWITCH...
Ejemplo práctico Para completar los ejercicios de esta lección, trabajaremos con el proyecto "WLanguage" que utilizamos en la lección anterior. El principio sigue siendo el mismo: el código de ejemplo se introducirá directamente en el evento "Inicialización" del proyecto. Para ver los eventos WLanguage del proyecto: - Haga clic derecho en la "P" que se encuentra junto a las pestañas de elementos abiertos. El menú contextual se abre.
- Seleccione "Código del elemento".
- El editor de código muestra los diferentes eventos asociados al proyecto.
Esta instrucción permite ejecutar una acción u otra según el resultado de una expresión. Si se cumple la expresión, se ejecuta un proceso; si no se cumple la expresión, se puede ejecutar otro proceso. La instrucción IF se puede utilizar de la siguiente manera: IF <Expression to evaluate> THEN Process to execute if the expression evaluates to true ELSE Process to execute otherwise END Probaremos esta instrucción con un ejemplo simple de código WLanguage: - Si es necesario, elimine el código WLanguage del evento "Inicialización" del proyecto y copie el siguiente código.
Este código selecciona un número al azar y muestra un mensaje según el valor.
RandomNumber is int
InitRandom()
RandomNumber = Random(100, 4000)
Trace("Random number value " + RandomNumber)
IF RandomNumber > 2000 THEN
Trace("Number greater than 2000")
ELSE
Trace("Number less than or equal to 2000")
END
En este código, la expresión a evaluar es "RandomNumber>2000". - Probemos este código: haga clic en
en los botones de acceso rápido. - Si es necesario, abra el panel "Traza del depurador" para ver el resultado: en la pestaña "Inicio", en el grupo "Entorno", despliegue "Paneles", seleccione "Paneles" y, a continuación, haga clic en "Traza del depurador".
- El panel "Traza del depurador" mostrará el mensaje que corresponde a su caso (dado que el número es aleatorio, el mensaje puede cambiar con cada prueba.).
Observación: La instrucción IF también puede escribirse en una sola línea utilizando la instrucción "? ... ELSE" (aquí, la instrucción está en 2 líneas porque no cabe en la página): <Expression to evaluate>? <Process if expression evaluates to true> ELSE <Process otherwise> Esta instrucción es una forma abreviada de IF ... THEN ... ELSE: ocupa menos espacio, pero puede que no sea tan fácil de entender. En nuestro ejemplo, el código es el siguiente:
Trace(RandomNumber > 2000? "Number greater than 2000" ELSE "Number less than or equal to 2000")
En una instrucción IF, también es posible acumular condiciones usando las palabras clave AND y OR. Aquí hay algunos ejemplos simples que puede probar de inmediato. - Condición compuesta con la palabra clave AND: Determina si se cumplen dos condiciones. Ambas condiciones se evalúan.
Condition1 is boolean = False
Condition2 is boolean = True
IF Condition1 AND Condition2 THEN
Trace("Condition1 AND Condition2: <true>")
ELSE
Trace("Condition1 AND Condition2: <false>")
END
Cuando se ejecute la prueba del proyecto de nuevo, el panel "Traza del depurador" mostrará:
Condition1 AND Condition2: <false> - Condición compuesta con la palabra clave OR: Prueba si se cumple alguna de las condiciones. Una vez más, se evalúan ambas condiciones.
Condition1 is boolean = False
Condition2 is boolean = True
IF Condition1 OR Condition2 THEN
Trace("Condition1 OR Condition2: <true>")
ELSE
Trace("Condition1 OR Condition2: <false>")
END
Cuando se ejecute la prueba del proyecto de nuevo, el panel "Traza del depurador" mostrará:
Condition1 OR Condition2: <true>
 La segunda condición se puede ignorar si la primera condición que se evalúa es falsa: simplemente utilice la palabra clave _AND_. Del mismo modo, al utilizar la palabra clave _OR_, si la primera parte de la expresión es verdadera, el resto de la expresión no se evalúa.
Para obtener más información, consulte Instrucción IF. Esta instrucción permite evaluar una expresión y ejecutar un proceso para cada valor posible de la expresión. La instrucción SWITCH se puede utilizar de la siguiente manera: SWITCH <Expression> CASE Value 1: Process 1 CASE Value 2: Process 2 ... CASE Value N: Process N
OTHER CASE Process END Vamos a escribir un fragmento de código WLanguage para probar esta instrucción: - Si es necesario, elimine el código WLanguage del evento "Inicialización" del proyecto y copie el siguiente código. Este código recupera la fecha actual y muestra un mensaje diferente dependiendo del valor obtenido. Un mensaje específico aparece para los días 1 y 15 del mes. En los demás casos, se muestra la fecha del día correspondiente.
CurrentDate is Date
SWITCH CurrentDate.Day
CASE 1: Trace("Today is the first day of the month.")
CASE 15: Trace("Today is the 15th day of the month.")
OTHER CASE: Trace("Today is: " + CurrentDate.ToString())
END
 WLanguage incluye varias funciones y propiedades. Las funciones pueden recibir parámetros y devolver resultados. Las propiedades se aplican directamente a los controles o variables utilizando la siguiente sintaxis: <Name of control or variable>.<Property name> En nuestro ejemplo, la propiedad Day se utiliza en la variable CurrentDate para obtener el día de la fecha. - Probemos este código: haga clic en
en los botones de acceso rápido. - El panel "Traza del depurador" mostrará el mensaje que corresponde a su caso (el mensaje puede variar dependiendo de la fecha). Por ejemplo, si la prueba se realiza el 28 de noviembre de 2021, aparecerá el siguiente mensaje:
Observaciones: - Si se ejecuta la línea de código "CASE 1:...", las demás líneas de código que corresponden a los posibles valores no se ejecutan.
- Se pueden agrupar varios valores en el mismo caso. Los diferentes valores están separados por una coma. Por ejemplo, para probar el mes de una fecha, podemos escribir el siguiente código WLanguage:
SWITCH CurrentDate.Month
CASE 1, 2, 3: Trace("We are in the first quarter of the year.")
CASE 4 <= * <= 6: Trace("We are in the second quarter of the year.")
CASE > 6: Trace ("We are in the second half of the year.")
END
Si se ejecuta de nuevo la prueba del proyecto el 28 de noviembre de 2021, el panel "Traza del depurador" mostrará el siguiente mensaje:
Today is: 28/11/2021 We are in the second half of the year.
- En nuestros ejemplos, el proceso que corresponde a un valor de la expresión se escribe en una sola línea de código, directamente después de la instrucción "CASE X:". También puede ejecutar varias líneas de código. En este caso, las líneas de código se encuentran debajo de la instrucción "CASE X:". Se debe utilizar la siguiente sintaxis:
SWITCH <Expression> CASE Value 1: Process 1 - Line of code 1 Process 1 - Line of code 2 CASE Value N: Process N - Line of code 1 Process N - Line of code 2 OTHER CASE Process END
Para obtener más información, consulte Instrucción SWITCH. En esta lección, descubrimos dos instrucciones condicionales disponibles en WLanguage: - la instrucción IF,
- la instrucción SWITCH.
En la próxima lección, veremos cómo utilizar bucles en WLanguage.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|