DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Operador Condicional Ternário em Delphi com tipo de dados Genérico

Fala galera da programação, tudo beleza?

Hoje vamos ver como utilizar o Operador Condicional Ternário com classes e tipos de dados de forma genérica.

Caso queira ver mais sobre os operadores, veja o nosso artigo principal sobre o assunto.

Operação Ternária: Uma Visão Abrangente

Uso em Pascal (Delphi)

Em Delphi, a operação ternária pode ser simulada usando o operador if-then-else em uma única linha. Aqui está um exemplo simples:

program ExemploOperacaoTernaria;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  Numero: Integer;
  Resultado: String;
begin
  Numero := 10;
  // Exemplo de operação ternária em Delphi
  Resultado := IfThen(Numero > 0, 'Positivo', 'Negativo');
  Writeln('O número é ', Resultado);
  Readln;
end.

Neste exemplo, a função IfThen é usada para realizar uma operação ternária simulada. Se o número for maior que zero, a string ‘Positivo’ será atribuída a Resultado; caso contrário, ‘Negativo’ será atribuído. A função IfThen é uma função auxiliar que foi introduzida nas versões mais recentes do Delphi para facilitar a criação de expressões condicionais em uma única linha. Se você estiver usando uma versão mais antiga do Delphi que não possui essa função, você pode implementá-la manualmente. Aqui está uma possível implementação:

function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string): string;
begin
  if AValue then
    Result := ATrue
  else
    Result := AFalse;
end;

 

Uso em modo genérico

Como vimos acima, podemos ter funções que retornam string, integer e etc. Também podemos criar funções semelhantes para retornar dados específicos. Bem, e se quisermos utilizar uma única função para retornar qualquer tipo de dado, como o JavaScript, é possível? Felizmente sim!

Veja o exemplo:

(*
Criado pelo Professor Giovani Da Cruz
*)
program ExemploOperacaoTernariaGenerica;
{$APPTYPE CONSOLE}
uses
  SysUtils;
type
  TGenerics = class
    class function IfThen(const AValue: Boolean; const ATrue, AFalse: T): T; static;
  end;
class function TGenerics.IfThen(const AValue: Boolean; const ATrue, AFalse: T): T;
begin
  if AValue then
    Result := ATrue
  else
    Result := AFalse;
end;
var
  Numero: Integer;
  Resultado: String;
begin
  Numero := 10;
  // Exemplo de operação ternária genérica em Delphi
  Resultado := TGenerics.IfThen(Numero > 0, 'Positivo', 'Negativo');
  Writeln('O número é ', Resultado);
  Readln;
end.

Neste exemplo, a função IfThen é agora genérica e pode trabalhar com qualquer tipo de dado. A sintaxe indica que a função é genérica e o tipo de dado é especificado ao chamar a função. No exemplo acima, é usado, mas você pode substituir por qualquer tipo de dado que desejar.

 

Artigo originalmente postado no Blog Giovani Da Cruz, visite também:

Operador Condicional Ternário em Delphi com tipo de dados Genérico

Beleza pessoal? Espero que tenham gostado.

Dúvidas ou sugestões? Deixe o seu comentário!

Um abraço e até o próximo post. Valeu!

Facebook Comments Box
  • Giovani Da Cruz
  • 478 views
  • 0 comentários
  • 7 de dezembro de 2023

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados