Field - mudando valor de exibicao

Top  Previous  Next

Modificando que é que mostrado na tela

======================================

 

// Imagine que há na tabela um campo hora (tipo char), mas não possui os ':'.

// Podemos modificar o que será mostrado através do GetText:

 

procedure GetTexto(Sender: TField; var Text: string; DisplayText: Boolean);

begin

  Text    := (Sender as TStringField).Value;

  Insert(':',Text,3);

  Insert(':',Text,6);

end;

 

Main...

// Para associar o evento:

  Query.FieldByName('hora').onGetText := GetTexto;

 

------------------------- exemplo 2 ------------------------------------

 

// Agora um campo Boolean, mas ao inves de TRUE e FALSE mostra um asterisk

// or not.

// Vale também para GRAVAR.

 

procedure GetTexto(Sender: TField; var Text: string; DisplayText: Boolean);

begin

  if (Sender as TBooleanField).Value then

    Text := '*'

  else 

    Text := '';

end;

 

procedure SetTexto(Sender: TField; const Text: string);

begin

  (Sender as TBooleanField).Value := Text = '*';

end;

 

Main...

// Para associar o evento:

  Query.FieldByName('pago').onGetText := GetTexto;

  Query.FieldByName('pago').onSetText := SetTexto;