Problema com valores monetários

Delphi

24/01/2008

O Maikel, me ajude nessa aqui, por gentileza, e parabens pelos artigos da ClubeDelphi, valeu.

Fala galera, eu uso uma ferramenta do Maikel Scheid para criar minhas classes de Manipulação de Dados em BDS 2006, porém não consigo incluir valores monetérios, vejam exemplo:

procedure TWebForm1.BtGravar_Click(sender: System.Object; e: System.EventArgs);
var
Entradas : TClasseEntradas;

begin
VerificaConexao;
Entradas := TClasseEntradas.Create;
Entradas.PID_MEMBRO := Convert.ToInt64(dpMembros.SelectedItem.Value);
Entradas.PDATA := txtData.Text;
Entradas.PID_ESCOLA := Convert.ToInt64(dpEscolas.SelectedItem.Value);
Entradas.PFORMA := dpForma.SelectedValue;
Entradas.POBS := txtOBS.Text;
Entradas.PVALOR := txtValor.Text;
Entradas.Salvar;
LblMensagem.Text := Entradas.RETORNO;

Não consegue gravar por exemplo 110,00 com virgula somente com ponto, alguem tema alguma luz ????


Pauloroger

Pauloroger

Curtidas 0

Respostas

Maikel

Maikel

24/01/2008

Olá Paulo

Seguinte, não somente com essa minha ferramenta, mas com todas as operações em que você utiliza parametros para passagem de valores a serem gravados numa base firebird acontece esse problema. Pelo que entendi, você grava o valor 110,00 mas no banco de dados aparece como 11000.
A solução até é bem simples, como você mesmo falou, aceita com ponto.
Ao passar o valor, utilize o comando Replace, que irá substituir a virgula por ponto caso seja encontrado. Faça assim:

Entradas.PVALOR := txtValor.Text.Replace(´,´,´.´); 


Vê ai se isso resolve seu problema, qualquer coisa chama ai de novo.

Att


GOSTEI 0
Pauloroger

Pauloroger

24/01/2008

Valeu Maikel, deu certo, um grande abraço e sucesso !!!

Paulo Freire


GOSTEI 0
POSTAR