Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Choose
|
Choose ( criterio ; valor {; valor2 ; ... ; valorN} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
criterio | Booleano, Entero |
![]() |
Valor a probar | |||||
valor | Expresión |
![]() |
Valores posibles | |||||
Resultado | Expresión |
![]() |
Valor de criterio | |||||
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:
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.
Atención: el comando Choose evalúa cada parámetro valor antes de su ejecución. Esto significa que:
$res:=Choose(True;"red1";"blue"+2) //error
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
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
Producto: 4D
Tema: Herramientas
Número
955
Creado por: 4D v11 SQL
Manual de lenguaje 4D ( 4D v20 R7)