is not a valid floating point value. O que quer dizer?????
Tenho um campo em meu form onde no evento onexit criei um código para acrescentar zeros Ex: 0,2 ele converte para 0,20 ou 3 ele converte para 3,00. Será que o erro que está dando é referente a este código???
Eis o código:
procedure TformPedidos.fldDim1Exit(Sender: TObject);
var
realDim1:real;
begin
inherited;
realDim1:= StrToFloat(fldDim1.Text);//Acrescenta zeros no campo
fldDim1.Text:= formatfloat(´#,0.00´,realDim1);
Eis o código:
procedure TformPedidos.fldDim1Exit(Sender: TObject);
var
realDim1:real;
begin
inherited;
realDim1:= StrToFloat(fldDim1.Text);//Acrescenta zeros no campo
fldDim1.Text:= formatfloat(´#,0.00´,realDim1);
Vitor5
Curtidas 0
Respostas
Mahdak
04/11/2006
Tenho um campo em meu form onde no evento onexit criei um código para acrescentar zeros Ex: 0,2 ele converte para 0,20 ou 3 ele converte para 3,00. Será que o erro que está dando é referente a este código???
Eis o código:
procedure TformPedidos.fldDim1Exit(Sender: TObject);
var
realDim1:real;
begin
inherited;
realDim1:= StrToFloat(fldDim1.Text);//Acrescenta zeros no campo
fldDim1.Text:= formatfloat(´#,0.00´,realDim1);
aqui seu procedimento funcionou, verifique se voce nao está digitando algum caractere que nao seja numero ou virgula, ou mesmo mais de uma virgula. lembrando que pontos tambem nao sao válidos nesse caso. para isso te aconselho a fazer um tratamento no OnKeyPress do edit para checar essas particularidades... voce poderia fazer algo assim:
// Apenas Numeros
If not( key in[´,´,´.´,´0´..´9´,8] ) then
begin
beep;{somente delphi 2.0 ou >}
key:=0;
end;
// ponto decimal
if Key in [´,´,´.´] then Key := DecimalSeparator;
boa sorte
GOSTEI 0
Vitor5
04/11/2006
Obrigado por responder, como trabalho com medidas preciso da virgula para meus edits.
O tipo de campo está como varchar, poderia ser isto???
O tipo de campo está como varchar, poderia ser isto???
GOSTEI 0
Titanius
04/11/2006
Amigo, tente mudar o DecimalSeparator
no inicio do programa
DecimalSeparator := ´,´;
Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar...
[]s
no inicio do programa
DecimalSeparator := ´,´;
Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar...
[]s
GOSTEI 0
Vitor5
04/11/2006
Amigo, tente mudar o DecimalSeparator
no inicio do programa
DecimalSeparator := ´,´;
Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar...
[]s
:oops: Como ficaria isto, pois preciso trabalhar com medidas?? Ex: 100,20 ou 10,50 ou mesmo 0,30. O campo está com varchar e preciso acrecentar zeros depois da virgula. Gostaria que ao digitasse 2,2 ele me trouxesse 2,20 e assim por diante. Obrigado
GOSTEI 0
Titanius
04/11/2006
Vamos supor: no inicio do programa, no source do DPR:
Lembrando de adicionar o SysUtils, na uses (acho que este mesmo).
Pois bem, pra fazer o cálculo, basta você pegar os dados assim:
TabelaCAMPO.AsFloat;
ou
Tabela.FieldByName(´CAMPO´).AsFloat;
[]s
begin DecimalSepartor := ´,´; ...
Lembrando de adicionar o SysUtils, na uses (acho que este mesmo).
Pois bem, pra fazer o cálculo, basta você pegar os dados assim:
TabelaCAMPO.AsFloat;
ou
Tabela.FieldByName(´CAMPO´).AsFloat;
[]s
GOSTEI 0