24 de out. de 2008

Cansado do if-then-else?

Se você estiver cansado de digitar if-then-else toda hora, o Delphi tem uma função bacana de nome IfThen que permite fazer o que o nosso (aqui difamado) if-then-else faz em apenas 1 linha.

Veja na figura abaixo que, com o tradicional
if-then-else temos 4 linhas abertas no código. Já com a função IfThen, temos apenas uma linha aberta, tornando nosso código menor e de leitura mais rápida.



O primeiro parâmetro da função é uma
expressão booleana. Se ela for verdadeira, o segundo parâmetro será o retorno de IfThen. Caso ela seja falsa, o terceiro parâmetro passado será o retorno de nossa função.

O segundo e o terceiro parâmetros podem ser dos tipos:

  • Integer
  • Int64
  • Double
Isso é possível porque há 3 overloads para a função IfThen na unit Math. O tipo de retorno da IfThen será de acordo com o tipo dos parâmetros passados (Integer, Int64 ou Double).

Vale ressaltar que os parâmetros também podem ser funções, desde que as mesmas retornem os tipos esperados pelos parâmetros da IfThen.

Para usar a função
IfThen, inclua a unit Math na uses de sua unit.

Além da IfThen da unit Math, há uma implementação da IfThen na unit StrUtils. Nesse caso, o tipo de parâmentro esperado pela IfThen são strings e a função também retorna uma string.

Sei que pode parecer extranho o uso inicial da IfThen, mas com o tempo você vai gostar, assim como eu.

Bom proveito...

Um comentário:

  1. ola meu amigo.
    Permita-me um comentário sobre este operado ternário do Delphi.

    ele é um tanto perigoso ja que o delphi vai testar (executar) ambos os valores.

    ou seja ele tem duas variáveies locais e preenxe ammbas com os valores para depois testas e copiar os valores para o result.

    resimindo : muitos erros podem acontecer ao chamar esta função por exemplo, divisão por zero, campos inválidos.

    abração

    ResponderExcluir