Problemas com a Formatação (FormatFloat)
Olá pessoal,
Estou fazendo o seguinte para salvar os dados em minha tabela do campo de valor que é [b:33be68b9c2]Numeric (5,2)[/b:33be68b9c2] tipo assim eu gravo para salvar, assim exemplo:
[b:33be68b9c2]126,96[/b:33be68b9c2] e ele salva no banco de dados assim:
[b:33be68b9c2]12.696,00[/b:33be68b9c2], mas mostra no DbGrid assim:
[b:33be68b9c2]12696[/b:33be68b9c2].
Eu uso o Delphi 7 e Firebird,
Bom,
eu faço o seguinte para vocês entederem o que eu quero:
Eu falo quantas parcelas quero e quais valor e apartir de tal vencimento e ai eu gero as parcelas vizualizando em um DbGrid e uso um MemoryData (RxLib) para mostrar os dados, esse são os dados do botão que faz gerar as parcela e mostrar no grid:
[b:33be68b9c2]
TblPar = RxMemoryData
TxtVen = Edit da data de vencimento
TxtPar = Edit da quantidade de parcelas a gerar
TxtVAL = Edit do valor das parcelas
[/b:33be68b9c2]
E esse é os dados do botão de salvar, onde está a mascara!
Bom alguém sabe como me ajudar?
Estou fazendo o seguinte para salvar os dados em minha tabela do campo de valor que é [b:33be68b9c2]Numeric (5,2)[/b:33be68b9c2] tipo assim eu gravo para salvar, assim exemplo:
[b:33be68b9c2]126,96[/b:33be68b9c2] e ele salva no banco de dados assim:
[b:33be68b9c2]12.696,00[/b:33be68b9c2], mas mostra no DbGrid assim:
[b:33be68b9c2]12696[/b:33be68b9c2].
Eu uso o Delphi 7 e Firebird,
Bom,
eu faço o seguinte para vocês entederem o que eu quero:
Eu falo quantas parcelas quero e quais valor e apartir de tal vencimento e ai eu gero as parcelas vizualizando em um DbGrid e uso um MemoryData (RxLib) para mostrar os dados, esse são os dados do botão que faz gerar as parcela e mostrar no grid:
[b:33be68b9c2]
TblPar = RxMemoryData
TxtVen = Edit da data de vencimento
TxtPar = Edit da quantidade de parcelas a gerar
TxtVAL = Edit do valor das parcelas
[/b:33be68b9c2]
procedure Tfrmcadlan.SpbGeParClick(Sender: TObject); var a, prazo : integer; data : TDate; begin if ( not tblPar.Active ) then tblPar.Open else tblPar.EmptyTable; data := StrToDate( txtVen.Text ); prazo := 30; for a := 1 to StrToInt( txtPar.Text ) do begin with tblPar do begin Insert; Fields[00].AsInteger := a; Fields[01].AsDateTime := data; Fields[02].AsCurrency := StrToFloat( txtVal.Text ); Post; end; data := ( data + prazo ); end; end;
E esse é os dados do botão de salvar, onde está a mascara!
procedure Tfrmcadlan.spbsalClick(Sender: TObject); var vCod, vNom : String; edit : Integer; begin with vcpo do begin clear; add (´Aluno´); add (´Historico´); add (´Valor´); add (´Vencimento´); add (´Emissao´); Add (´Tipo´); end; tblPar.First; while ( not tblPar.eof ) do begin with vvlr do begin clear; add (#39 + TxtCod.Text + 39); Add (39 + tblPar.Fields[00].DisplayText + 39); Add (39 + FormatFloat(´,,0.00´, tblPar.Fields[02].AsFloat) + 39); add (39 + FormatDateTime (´mm/dd/yyyy´, tblPar.Fields[01].AsDateTime ) + 39); add (39 + FormatDateTime (´mm/dd/yyyy´, StrToDate ( TxtEmi.Text ) ) + 39); Add (39 + Edit1.Text + 39) end; incluirregistro (´Lancamento´, vcpo, vvlr); tblPar.Next; end; vCod := txtCod.Text; vNom := txtAlu.Text; inherited; tblPar.close; end;
Bom alguém sabe como me ajudar?
Robinhocne
Curtidas 0
Respostas
Fabiano Góes
12/12/2007
procedure Tfrmcadlan.SpbGeParClick(Sender: TObject); var a, prazo : integer; data : TDate; begin if ( not tblPar.Active ) then tblPar.Open else tblPar.EmptyTable; data := StrToDate( txtVen.Text ); prazo := 30; for a := 1 to StrToInt( txtPar.Text ) do begin with tblPar do begin Insert; Fields[00].AsInteger := a; Fields[01].AsDateTime := data; // alteração no valor dividindo por 100 Fields[02].AsCurrency := StrToFloat( txtVal.Text ) / 100; Post; end; data := ( data + prazo ); end; end;
GOSTEI 0
Robinhocne
12/12/2007
mas nessa parter está tudo ok, o problema é aqui:
Add (#39 + FormatFloat(´,,0.00´, tblPar.Fields[02].AsFloat) + 39);
GOSTEI 0
Itepi
12/12/2007
tente assim :
Add (#39 + FormatFloat(´,0.00´, tblPar.Fields[02].AsFloat) + 39);
GOSTEI 0
Itepi
12/12/2007
e ai robinhocne resolveu?
GOSTEI 0
Robinhocne
12/12/2007
Desculpe amigo [b:bfda842a2b]itepi[/b:bfda842a2b] pois estive meio ausente hoje do pc, bom tentei da maneira que você me passou e nada também!
Ele mostra tudo junto ele não separa por virgula:
Cara eu tenho um exemplo disso aqui para vc vizualizar e poder me ajudar mais nisso!
Adciona meu msn ai
robinhocne@hotmail.com
ai eu te passo esse exemplo para vc e ai comunicamos melhor via msn.
Obrigado!
Ele mostra tudo junto ele não separa por virgula:
Cara eu tenho um exemplo disso aqui para vc vizualizar e poder me ajudar mais nisso!
Adciona meu msn ai
robinhocne@hotmail.com
ai eu te passo esse exemplo para vc e ai comunicamos melhor via msn.
Obrigado!
GOSTEI 0