Usei muito esta função no Clipper e como não a encontrei no Delphi, recriei-a e estou publicando para compartilhar com a comunidade
function Iif(lCondicao: Boolean; VERDADEIRO, FALSO: Variant): Variant;
begin
if lCondicao then
Iif := VERDADEIRO
else
Iif := FALSO;
end;
Um exemplo em que podemos utilizá-la é o seguinte: Imagine um RadioGroup com as opções Codigo e Nome. Um Edit e um Button para pesquisar. De acordo com a opção selecionada no RadrioGroup, o Button pesquisa o texto do Edit no campo Código ou no campo Nome.
Uma maneira de implementarmos isso seria::
if RadioGroup1.ItemIndex = 0 then
ShowMessage('CODIGO = ' + Edit1.Text)
else
ShowMessage('NOME = ' + Edit1.Text);
Com esta função, resumimos o código em:
ShowMessage(
Iif(RadioGroup1.ItemIndex = 0, 'CODIGO', 'NOME') + ' = ' + Edit1.Text
);
E é isso. Sempre me foi muito útil. Espero ajudar alguém.
Abraços!
Por: Luis (luis_fessel)
Contato: luis_fessel@itelefonica.com.br
Dica do Editor
Apenas para o conhecimento de todos, o Delphi já possui algumas funções com a mesma finalidade, porém, disponíveis apenas para os tipos de dados String, Integer, Int64 e Double:
unit StrUtils;
function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string;
unit Math;
function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;
function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;
Sendo assim, se a sua necessidade é trabalhar somente com um destes tipos acima, não é necessário declarar uma nova função. Entretanto, é muito mais prático ter uma única função e trabalhar com qualquer tipo de dados, através do tipo Variant, não é mesmo?! Portanto, eu recomendo o Iif !
Principal
terça-feira, 5 de maio de 2009
Assinar:
Postar comentários (Atom)
Política Privacidade adicoaraci suervisores
Política Privacidade A sua privacidade é importante para nós. É política do adicoaraci supervisor respeitar a sua privacidade em relação a q...
-
Usei muito esta função no Clipper e como não a encontrei no Delphi, recriei-a e estou publicando para compartilhar com a comunidade function...
-
Alterar as cores do título de um DBGrid em tempo execução dará mais vida ao seu programa e trará uma aparência mais profissional ao sistema....
-
No evento OnClique de um botão ou menu, etc., colocar o texto abaixo (supondo-se que você tenha setado a propriedade name do form como For...
Nenhum comentário:
Postar um comentário