terça-feira, 17 de março de 2009

Função IIF em Delphi

Normalmente, no início do aprendizado de uma linguagem de programação, uma das coisas que aprendemos é o uso do IF, que não chega a ser tão complexo assim, mas em muitos casos precisamos criar IFs para coisas simples como por exemplo:

if vSituacao = 0 then
label1.caption := 'ABERTO'
else
label1.caption := 'FECHADO';

Num caso assim, podemos utilizar a função IIF, que nada mais é do que a fusão dessas linhas, como está mostrado abaixo:

function IIf(Expressao: Variant; ParteTRUE, ParteFALSE: Variant): Variant;
begin
if Expressao then
Result := ParteTRUE
else
Result := ParteFALSE;
end;

A função possue três parâmetros e o retorno do tipo Variant. No primeiro parãmetro você deve fazer um teste lógico, nos demais, serão o que será retornado no caso do teste lógico ser True ou False.
O exemplo citado no início do post, ficaria assim:

label1.caption := iif(vSituacao=0,'ABERTO','FECHADO');

Outro exemplo:

vResultado := iif(vTexto1 <> vTexto2,vTexto1,vTexto2);

Ao meu ver, o código fica mais simples, mais elegante e mais ágil quando se trata de codificação.

0 deram a sua opnião e vc ?: