Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Vídeos

Vídeos

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

ÚLTIMOS DIAS PARA ECONOMIZAR!

Adquirindo uma licença anual do Tecnobyte SAC Lite, Tecnobyte SAC Plus ou Tecnobyte SAC Pro até 31/12/2024, você economiza 14,69% em relação ao novo valor mensal, pois evita o reajuste e ainda mantém os 10% de desconto da anuidade.

Tempo restante:

Delphi - Banco de Dados

Usar o evento OnGetText de um TField

{ Problema:
  
  Tenho um sistema de contas a receber, onde um campo chamado
  "Tipo" contém um número inteiro que indica o tipo do 
  documento conforme abaixo:

  1 - Promissória
  2 - Duplicata
  3 - Boleto

  Gostaria que, ao exibir os dados (num DBGrid por exemplo),
  fosse exibido o nome e não o número, ou seja, "Promissória"
  em vez de "1". 

  Solução:

  Isto pode ser feito de várias formas, mas aqui vou mostrar
  como resolver usando o evento OnGetText do TField. Vejamos:

  - Adicione todos os campos no Field Editor;
  - Clique no campo "Tipo";
  - Vá ao Object Inspector e dê um duplo-click 
    no evento OnGetText;
  - Neste evento, digite o código abaixo:
}

procedure TForm1.Table1TipoGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if DisplayText then begin
    case Table1Tipo.AsInteger of
      1: Text := 'Promissória';
      2: Text := 'Duplicata';
      3: Text := 'Boleto';
    else
      Text := 'Desconhecido';
    end;
  end else
    Text := Table1Tipo.AsString;
end;

Observações

Ao exibir será exibido os nomes. Mas ao digitar continue com os 1, 2, 3, etc. Para usar este recurso em relatórios, acesse a propriedade DisplayText em vez de AsString para obter o valor do campo.

O conteúdo desta página pode ajudar alguém? Compartilhe!