4D v14.3Choose |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Choose
|
Choose ( criterio ; valor {; valor2 ; ... ; valorN} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
criterio | Booleano, Inteiro |
![]() |
Valor a testar | |||||
valor | Expression |
![]() |
Valores possíveis | |||||
Resultado | Expression |
![]() |
Valor do critério | |||||
O comando Choose retorna um dos valores passados nos parâmetros valor1, valor2, etc. em função do valor do parâmetro criterio.
Pode passar um parâmetro criterio de tipo booleano ou numérico:
O comando aceita todo os tipos de dados para o/os parâmetro(s) valor, exceto imagens, ponteiros, BLOBS e arrays. Entretanto, deve ter certeza de que todos os valores passados sejam do mesmo tipo, 4D não realizará nenhuma verificação neste ponto.
Se nenhum valor corresponde ao critério, Choose retorna um valor “nulo” relativo ao tipo do parâmetro valor (por exemplo, 0 para o tipo numérico, “” para o tipo string, etc.).
Este comando permite gerar código conciso que substitui os testes de tipo “Case of” que ocupam várias linhas (ver exemplo 2). Também é muito útil nos lugares onde podem ser executadas fórmulas: editor de pesquisas, aplicar uma fórmula, editor de relatórios rápidos, coluna calculada de listbox, etc.
Este é um exemplo do uso típico deste comando com um critério de tipo booleano:
vTitulo:=Choose([Pessoa]Masculino;"Sr";"Sra")
Este código é estritamente equivalente a:
If([Pessoa]Masculino)
vTitulo:="Sr"
Else
vTitulo:="Sra"
End if
Este é um exemplo do uso típico deste comando com um critério de tipo numérico:
vEstado:=Choose([Pessoa]Estado;"Solteiro";"Casado";'"Viúvo";"Separado")
Este código é estritamente equivalente a:
Case of
:([Pessoa]Estado=0)
vEstado:="Solteiro"
:([Pessoa]Estado=1)
vEstado:="Casado"
:([Pessoa]Estado=2)
vEstado:="Viúvo"
:([Pessoa]Estado=3)
vEstado:="Separado"
End case
Produto: 4D
Tema: Ferramentas
Número
955
Criado por: 4D v11 SQL
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)