Armazenar número de edit num campo Float

Delphi

06/11/2014

Boa noite caros colegas,


Coloquei no OnExit de um Edit, o seguinte código:

Try
EdtLimite.Text := FormatCurr('#,0.00',(StrToFloat(EdtLimite.Text)));
Except
ShowMessage(FMenu_.Operador.Caption+', algum caractere inválido foi digitado. Favor verificar.');
EdtLimite.SetFocus;
end;

O Objetivo é que ao digitar um número qualquer, automaticamente ele seja convertido para um formato monetário e, se for digitado alguma caractere do tipo texto, uma mensagem será fornecida ao usuário.

Porém na hora de armazenar o conteúdo do Edit na tabela, aparece a seguinte mensagem de erro:

'1.175,00' is not a valid floating point value

O comando que estou usando para armazenar o valor é o seguinte:
dm_.ZQryClientes.Append;
{ ... }
dm_.ZQryClienteslimite.Value := StrToCurr(EdtLimite.Text);
{ ... }
dm_.ZQryClientes.Post;

Será que alguém pode me passar um dica de como fazer para se evitar este erro e conseguir armazenar com êxito o conteúdo do Edit que está no formulário?


Desde já agradeço a todos.
Aloisio Santos

Aloisio Santos

Curtidas 0

Respostas

Wanderson Cortes

Wanderson Cortes

06/11/2014

Cara tenta assim:

[img]http://arquivo.devmedia.com.br/forum/imagem/359444-20141107-100151.png[/img]
GOSTEI 0
Douglas

Douglas

06/11/2014

Olá Pro-Luck, complementando a resposta do nosso amigo Wanderson. O erro seu erro só está sendo gerado, devido a vírgula no valor: "1.175,00". Ao ser executado o procedimento passado pelo Wanderson, a função StringReplace irá trocar tudo que estiver com vírgula para ponto.

Espero ter contribuído para o seu conhecimento. Um abraço!
GOSTEI 0
Aloisio Santos

Aloisio Santos

06/11/2014

Deu certo sim, mas não foi preciso tirar a vírgula. Se ela for trocada por ponto, gera o mesmo erro.
Acabou ficando assim:

[img]http://arquivo.devmedia.com.br/forum/imagem/233649-20141108-130145.jpg[/img]

Desde já, muito obrigado a todos.


Tópico encerrado. ;)
GOSTEI 0
POSTAR