Código
Em Delphi isso é feito normalmente assim:
If Numero > 100
nOpcao := 1
Else
nOpcao := 2;
Mas podemos criar a Função Iif existente em várias linguagens no nosso Delphi tbm. O Ideal é criar em uma únit Global que vc poderá acrescentar em todos os seus projetos para utilizar suas funções.
Declare três funções assim:
function Iif(Teste: Boolean; ValorTrue, ValorFalse:String): String; overload;
function Iif(Teste: Boolean; ValorTrue, ValorFalse:Real): Extended; overload;
function Iif(Teste: Boolean; ValorTrue, ValorFalse:Integer): Integer; overload;
Depois, abaixo de Implementation crie as três funções, a saber:
function Iif(Teste: Boolean; ValorTrue, ValorFalse:String): String; overload;
begin
If Teste then
Result := ValorTrue
else
Result := ValorFalse;
end;
function Iif(Teste: Boolean; ValorTrue, ValorFalse:Real): Extended;
begin
If Teste then
Result := ValorTrue
else
Result := ValorFalse;
end;
function Iif(Teste: Boolean; ValorTrue, ValorFalse:Integer): Integer;
begin
If Teste then
Result := ValorTrue
else
Result := ValorFalse;
end;
---
Para usar no seu programa, basta chamar assim:
nOpcao := Iif( Numero < 100, 1 2)
---
Com estas três funções você pode utilizar Iif para Inteiro, String e Extended. Você pode usar datas e outros tipos criando novas funções para esses tipos ou então, mudando a função Iif para receber e retornar variáveis do tipo Variant.
Ficaria uma única função assim:
function Iif(Teste: Boolean; ValorTrue, ValorFalse:Variant): Variant;
begin
If Teste then
Result := ValorTrue
else
Result := ValorFalse;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009