Problemas com tipo TFMTBCDField

Delphi

17/08/2006

Olá pessoal,

Estou trabalhando com Firebird TClientDataSet acessando DBExpress e dialeto 3 do meu gdb.

Estou tendo problema de formatção do campo TFMTBCDField no TClientDataSet.
Na propriedade DisplayFormat estou usando #,0.00 mas para valores inteiros os zeros decimais não mostram:

Ex: 10 ---> 10 - (falta os decimais)

10,1 ---> 10,10 (correto)


Alguém tem alguma idéia do que posso fazer para corrigir isto ?


Pezzin

Pezzin

Curtidas 0

Respostas

Marco Salles

Marco Salles

17/08/2006

existem algum evento OnDrawColumnCell ???


GOSTEI 0
Pezzin

Pezzin

17/08/2006

[quote:4a4531f3fd=´Marco Salles´]existem algum evento OnDrawColumnCell ???[/quote:4a4531f3fd]

Não.


GOSTEI 0
Marco Salles

Marco Salles

17/08/2006

esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...


GOSTEI 0
Sremulador

Sremulador

17/08/2006

Amigos ví uma vez aqui no forum uma correção para esta bronca...


GOSTEI 0
Pezzin

Pezzin

17/08/2006

[quote:7ff8b10bd1=´Marco Salles´]esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...[/quote:7ff8b10bd1]

Estamos usando conexão com DbExpress do Delphi 2006 e dialeto 3 do banco de dados.

Como usar estes eventos no campo do meu ClientDataSet ?
Vc Pode pode me exemplificar ?

Obrigado.


GOSTEI 0
Pezzin

Pezzin

17/08/2006

[quote:385b2de4f6=´Marco Salles´]esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...[/quote:385b2de4f6]

Conseguimos usando ongetText do campo:

Text := FloatToStrF(V_ClientDataSet1.FieldByName´VALOR´).AsFloat,ffNumber,15,4);


Valeu.


GOSTEI 0
Marco Salles

Marco Salles

17/08/2006

Acho que no seu caso so o OngetText Resolve

procedure TForm1.NomeDoTfieldGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
if sender.AsString <> ´´ Then
 text:=FormatFloat(´#.00´,sender.AsFloat);
end;


nãp precisa mais usar DisplayFormat Do Campo


GOSTEI 0
POSTAR