Choose

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11


Choose (criterio; valor{; valor2; ...; valorN}) Expresión

ParámetroTipoDescripción
criterioBooleano | EnteroValor a probar
valorExpresiónValores posibles
ResultadoExpresiónValor de criterio

Descripción

El comando Choose devuelve uno de los valores pasados en los parámetros valor1, valor2, etc. en función del valor del parámetro criterio.

Puede pasar un parámetro criterio de tipo booleano o numérico:

Si criterio es un booleano, Choose devuelve valor1 si el booleano es igual a True y valor2 si el booleano es igual a False. En este caso, el comando espera exactamente tres parámetros: criterio, valor1 y valor2.

Si criterio es un entero, Choose devuelve el valor cuya posición corresponde a criterio. Atención, la numeración de los valores comienza en 0 (la posición de valor1 es 0). En este caso, el comando espera al menos dos parámetros: criterio y valor1.

El comando acepta todo los tipos de datos para el/los parámetro(s) valor, excepto imágenes, punteros, BLOBS y arrays. Sin embargo, debe asegurarse de que todos los valores pasados sean del mismo tipo, 4D no efectuará ninguna verificación en este punto.

Si ningún valor corresponde a criterio, Choose devuelve un valor "nulo" con respecto al tipo del parámetro valor (por ejemplo, 0 para el tipo numérico, "" para el tipo cadena, etc.).

Este comando permite generar código conciso que reemplaza las pruebas de tipo "Case of" que toman varias líneas (ver ejemplo 2). También es muy útil en los lugares donde pueden ejecutarse fórmulas: editor de búsquedas, aplicar una fórmula, editor de informes rápidos, columna calculada de listbox, etc.

Ejemplos

1. Este es un ejemplo del uso típico de este comando con un criterio de tipo booleano:

   vTitulo:=Choose([Persona]Masculino;"Sr";"Sra")

Este código es estrictamente equivalente a:

   If([Persona]Masculino)
      vTitulo:="Sr"
   Else
      vTitulo:="Sra"
   End if

2. Este es un ejemplo del uso típico de este comando con un criterio de tipo numérico:

   vEstado:=Choose([Persona]Estado;"Soltero";"Casado";'"Viudo";"Separado")

Este código es estrictamente equivalente a:

   Case of
      :([Persona]Estado=0)
         vEstado:="Soltero"
      :([Persona]Estado=1)
         vEstado:="Casado"
      :([Persona]Estado=2)
         vEstado:="Viudo"
      :([Persona]Estado=3)
         vEstado:="Separado"
   End case

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente