Valores monetarios

03/04/2006

Olá.

Eu tenho um edit que chama EdtValor, que ele recebe o valor das taxas cobradas... no momento eu estou fazendo as validações da Seguinte maneira.



procedure TForm1.EdtValorKeyPress(Sender: TObject; var Key: Char); 
begin 
if not (key in [´0´..´9´,8&93;)and(key <> DecimalSeparator) Then 
 key:=0; 
end;


procedure TForm1.EdtValorExit(Sender: TObject); 
begin 
try 
  if EdtValor.Text <> ´´ then 
    EdtValor.Text:=FormatFloat(´.00´,strtofloat(EdtValor.Text)); 
except 
  on econverterror do 
     begin 
       showmessage(´numero invalido´); 
       EdtValor.SetFocus; 
     end; 
end; 
end;



até ai conforme o usuario digita os numeros sem colocar a virgula e sai ele coloca uma ´,´ e dois zeros depois.... só que eu queria que alem de ele colocar isso ele verifica se o cara digito 4 numeros ai ele colocaria o ´.´ já para separar as milhares....

não sei se eu expliquei direito.

Ele preenche assim

Ex.: 1000,00

eu queria assim

EX.: 1.000,00

voces poderiam me ajudar?


Fernando_cunha

Respostas

03/04/2006

Paullsoftware

Mude a forma de converter de
EdtValor.Text:=FormatFloat(´#.00´,strtofloat(EdtValor.Text));

para:
EdtValor.Text:=FormatFloat(´,,0.00´,strtofloat(EdtValor.Text)); 
e acho que resolve :wink:


Responder Citar