Buscar

Como usar no delphi: nopcao := iif( numero > 100, 1, 2)

Código

Em vários momentos queremos preencher uma variável com um ou outro valor dependendo de uma condição.
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;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 22/11/04
Por: Claudio Sousa
Visualizada: 7953 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009