AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Instrucciones estructuradas
  • Salir de una sentencia SWITCH
  • INTERRUPTOR con prueba en una condición
  • Palabra clave OR
  • OTRAS palabras clave de CASO
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
La sentencia SWITCH se utiliza para elegir la acción que se ejecutará según el valor de una expresión.
Hay dos sintaxis disponibles para esta expresión:
  • Sintaxis completa.
  • Sintaxis simplificada para un valor entero de valores consecutivos.
Ejemplo
SWITCH Quantity
CASE 1: Comment = "Take advantage of our promotions: buy one, get one free"
CASE 2: Comment = "Buy two products: get one free"
OTHER CASE: Comment = ""
END
SWITCH Value
CASE 10: Trace(10)
CASE 10<*<20: Trace("Included between 10 and 20")
CASE >30: Trace("Greater than 30")
END
SWITCH Quantity
CASE TO 8: // Value less than or equal to 8
Comment = "A gift offered for each order"
CASE 9,10: // Value equal to 9 or 10
Comment = "Take advantage of our promotions: buy one, get one free"
CASE 11 TO 20 // Value included between 11 and 20 (inclusive)
Comment = "Buy two products: get one free"
CASE > 20: // Value greater than 20
Comment = ""
END
// Simplified syntax: Combo_Sel contains numbers from 1 to 5
// A first name is displayed according to the selected number
Value is int = COMBO_sel[COMBO_sel]
Result1 is string = ""
Result1 = SWITCH (Value, "Vince", "Emma", "Liz", "Freddy", ELSE "Not found")
Sintaxis

Sintaxis completa Ocultar los detalles

SWITCH <Comparison variable>
  CASE <Expression 1>: <Action 1>

  CASE <Expression 2>:
      <Action 2.1>
      <Action 2.2>

  CASE <Expression 3>
      <Action 3.1>
      <Action 3.2>
      <Action 3.3>

  CASE <Expression 4>, <Expression 5>: <Action 4>

  CASE <Expression 6>, <Expression 7>:
      <Action 5>

  CASE <Expression 8>, <Expression 9>
      <Action 6.1>
      <Action 6.2>

  CASE <Minimum expression> TO: <Action 7>

  CASE TO <Maximum expression>: <Action 8>

  CASE <Minimum expression> TO <Maximum expression>: <Action 9>

  CASE [= / ~= / ~~ / [= / > />= / < / <= / [~ / [~~ ] <Expression 10>: <Action 10>

  CASE <Minimum expression> [<= * <=] [< * <=] [<= * <] [< * <]  <Maximum expression>: <Action 11>

  ...
  [
  OTHER CASE: <Action other case>
  OR
  OTHER CASE:
  <Action other case>
  OR
  OTHER CASE
  <Action other case>
  ]
END
<SWITCH>:
Marca el inicio del bloque de instrucciones.
<Comparison variable>:
comparison Variable (cualquier tipo).
<CASE>:
Diferentes casos de comparison.
<Expression N>:
Valor que debe ser comparado con el comparison Variable (mismo tipo que el comparison Variable).
<Action N>:
Acción a realizar si la expresión correspondiente es igual a la comparison Variable. Una vez realizada esta acción, la Process continúa después de la palabra clave END.
<OTHER CASE>:
Acción a realizar si la comparison Variable es igual a ninguna expresión (opcional).
<END>:
Marca el final del bloque de declaraciones.

Sintaxis simplificada para un valor entero de valores consecutivos Ocultar los detalles

<Result> = SWITCH (<Value>, <Result 1>, <Result 2>, ... <Result 3> [ELSE <Other Result>])
<Result> = SWITCH (<Value>
      <Result 1>,
      <Result 2>,
      ...
      )
<Result>:
Valor devuelto por SWITCH
<SWITCH>:
Marca el inicio del bloque de instrucciones.
<Value>:
comparison Variable (cualquier tipo).
<Result N>:
Valor devuelto. Devuelve <Resultado 1> si el valor de <Valor> es 1, <Resultado 2> si el valor de <Valor> es 2, etc.
<ELSE>:
Usó a Process el caso cuando ningún resultado corresponde al valor. Se produce un error de WLanguage si no se procesa este caso.
<Other Result>:
Valor devuelto si ningún resultado corresponde al valor.
Observaciones

Salir de una sentencia SWITCH

La declaración de BREAK SWITCH se usa para salir de una declaración de SWITCH y para ejecutar el resto de la Process.
La sintaxis es la siguiente:
SWITCH <Expression>
CASE <VALUE>
...
IF <Condition> THEN
BREAK SWITCH
END
END
Por ejemplo:
SWITCH Quantity
CASE 1
 IF User = "Admin" THEN
BREAK SWITCH
 END
 Comment = "Take advantage of our promotions: buy one, get one free"
 
CASE 2:
 IF User = "Admin" THEN
BREAK SWITCH
 END
 Comment = "Buy two products: get one free"
 
OTHER CASE: Comment = ""
END

INTERRUPTOR con prueba en una condición

El resultado de una condición realizada en una sentencia CASE puede verificarse en una sentencia SWITCH. Esta condición puede ser una condición compleja que contiene llamadas a funciones, ....
Por ejemplo:
SWITCH True
// Check a complex condition
CASE Value1 = 10 AND Value2 = 20: Trace(10)
// Check a condition on a function
CASE CheckCondition()
Observación: para ejecutar una prueba con una condición simple, le recomendamos que utilice la siguiente sintaxis:
SWITCH Value
CASE 10: Trace(10)
CASE 10<*<20: Trace("Included between 10 and 20")
CASE >30: Trace("Greater than 30")
END

Palabra clave OR

La palabra clave OR no se puede utilizar para comparar el valor con una expresión o con otra.. La coma debe ser usada. Ejemplo de no hacer:
Sub is int = 2
SWITCH Sub
CASE 1 OR 2: Info("case 1 or 2")
CASE 3: Info("case 3")
OTHER CASE: Info("other case")
END
que hacer:
Sub is int = 2
SWITCH Sub
CASE 1,2: Info("case 1 or 2")
CASE 3: Info("case 3")
OTHER CASE: Info("other case")
END

OTRAS palabras clave de CASO

OTRO CASO debe ser la última sentencia utilizada en la sentencia conditional SWITCH.
control Botón de opción: SWITCH automático
Al escribir la sentencia SWITCH relativa a una control Botón de opción, el editor de código añade automáticamente el CASE correspondiente a las diferentes opciones del control Botón de opción. La leyenda de cada opción se añade automáticamente en la línea comment.
Por ejemplo:
  • Código para una control Botón de opción que devuelve un entero: escribir "SWITCH RADIO_Title" en las pantallas del editor de código:
    Código para una control Botón de opción que devuelve un entero
  • Código para una control Botón de opción que devuelve un valor: escribir "SWITCH RADIO_TodaysMenu" en las pantallas del editor de código:
    Código para una control Botón de opción que devuelve un valor
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 08/06/2022

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