TIfThen<T>

A classe TIfThen<T> é uma estrutura de registro (record) que fornece uma maneira elegante e funcional de lidar com lógica condicional em Delphi. Ela permite que você escreva código de forma mais legível e expressiva, especialmente quando você tem várias condições a serem verificadas em cascata.

Vantagens de Usar TIfThen<T>

Aqui estão algumas das vantagens de usar a classe TIfThen<T> em vez de estruturas if convencionais:

  1. Expressividade Aprimorada: Com TIfThen<T>, você pode criar uma sequência de condições, cada uma seguida por ações correspondentes, tornando o código mais expressivo e legível.

  2. Encadeamento de Condições: Você pode encadear várias condições e ações, simplificando o controle de fluxo em cenários complexos.

  3. Tratamento de Exceções Integrado: A função TryExcept permite que você envolva blocos de código em um bloco try-except, facilitando o tratamento de exceções de maneira uniforme.

  4. Flexibilidade: Você pode definir as ações para o caso verdadeiro (ThenOf) e o caso falso (ElseOf) usando valores fixos ou funções, fornecendo uma maior flexibilidade no controle de fluxo.

  5. Aproveitamento de Funções Anônimas: O uso de funções anônimas em TIfThen<T> permite que você realize operações complexas dentro das condições.

Funcionalidades Principais

A classe TIfThen<T> oferece as seguintes funcionalidades principais:

  • When: Define a condição a ser avaliada. Pode ser uma condição booleana direta ou uma função anônima que retorna um booleano.

  • ThenOf: Define a ação a ser executada se a condição for verdadeira. Pode ser um valor fixo ou uma função anônima que retorna o resultado.

  • ElseOf: Define a ação a ser executada se a condição for falsa. Você pode fornecer um valor fixo, uma função anônima ou condicionar a execução com base em uma condição booleana.

  • TryExcept: Permite envolver o bloco de código em um bloco try-except para lidar com exceções.

  • Return: Retorna o resultado da condição verdadeira (ThenOf) ou da condição falsa (ElseOf) com base na avaliação da condição.

Exemplo de Uso

var
  LValor: Integer;
begin
  LValor := TIfThen<Integer>
    .When(Chave = 'Nome')
    .ThenOf(CallbackObterValorNome)
    .ElseOf(Chave = 'Idade', CallbackObterValorIdade)
    .ElseOf(Chave = 'Cidade', CallbackObterValorCidade)
    .ElseOf('Chave não encontrada')
    .TryException(CallbackTrataException)
    .Return;
end;

Neste exemplo, as condições são verificadas sequencialmente e a ação correspondente é executada com base na primeira condição verdadeira encontrada.

A classe TIfThen<T> oferece uma maneira elegante de controlar o fluxo de execução e tornar seu código mais legível e flexível em Delphi. Ela é especialmente útil em cenários onde múltiplas condições precisam ser avaliadas e as ações podem variar.

Last updated