AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

¡Nueva funcionalidad de WEBDEV 2024!
Ayuda / Tutorial WEBDEV / Tutorial - Fundamentos de WLanguage
  • Lección 4 - Instrucciones condicionales
  • Presentación
  • Ejemplo práctico
  • Instrucción IF
  • Instrucción SWITCH
  • En resumen

Tutorial - Fundamentos de WLanguage

Lección 4 - Instrucciones condicionales
Abordaremos los siguientes temas:
  • Instrucción IF.
  • Instrucción SWITCH.
Durée de la leçon 20 min
Presentación
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.
Si es necesario, abra el proyecto "WLanguage" que creó en la primera lección de este tutorial (consulte el párrafo Un proyecto para descubrir WLanguage de la lección 1).Para ver los eventos WLanguage del proyecto:
  1. Haga clic derecho en la "P" que se encuentra junto a las pestañas de elementos abiertos. El menú contextual se abre.
  2. Seleccione "Código del elemento".
  3. El editor de código muestra los diferentes eventos asociados al proyecto.
Instrucción IF
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:
  1. 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
    // Resets the random number generator
    InitRandom()
    // Selects a number at random between 100 and 4000
    RandomNumber = Random(100, 4000)
    Trace("Random number value " + RandomNumber)
    // Check if this number is strictly greater than 2000
    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".
  2. Probemos este código: haga clic en Probar proyecto en los botones de acceso rápido.
  3. 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".
  4. 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:
// Single-line conditional statement
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.
    // Compound condition (AND and OR keywords)
    Condition1 is boolean = False
    Condition2 is boolean = True
    // - AND keyword
    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.
Instrucción SWITCH
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:
  1. 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.
    // By default, the Date variable is initialized with the current date
    CurrentDate is Date

    // Checks the day of the date
    SWITCH CurrentDate.Day
    // 1st day of the month
    CASE 1: Trace("Today is the first day of the month.")
    // 15th day of the month
    CASE 15: Trace("Today is the 15th day of the month.")
    // For all other days, display the date
    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.
  2. Probemos este código: haga clic en Probar proyecto en los botones de acceso rápido.
  3. 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:
    Today is: 28/11/2021
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
    // Months 1, 2 and 3
    CASE 1, 2, 3: Trace("We are in the first quarter of the year.")
    // Months 4 to 6
    CASE 4 <= * <= 6: Trace("We are in the second quarter of the year.")
    // Months after the sixth month
    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 resumen
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.
Lección anteriorTabla de contenidoSiguiente lección
Versión mínima requerida
  • Versión 2024
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 15/11/2023

Señalar un error o enviar una sugerencia | Ayuda local