Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Como colocar, un formato de dinero a un TEDIT? (https://www.clubdelphi.com/foros/showthread.php?t=85408)

jscubillos5 13-03-2014 16:25:20

¿Como colocar, un formato de dinero a un TEDIT?
 
Buenos días comunidad, tengo un problema quiero que en una caja de texto, se muestre el formato de dinero, puesto que es muy diferente ver: 5665565, que ver: 5.665.565, estoy utilizando la siguiente proceso en el evento ONEXIT de la caja:

Código Delphi [-]
procedure TFormRegistrarPagare.EditMontoExit(Sender: TObject);
begin
  ValidarSoloDinero(EditMonto.Text, ' Campo Monto ');
  EditMonto.Text:= FormatCurr(',0',StrToCurr(EditMonto.Text));
end;

El procedimiento ValidarSoloDinero hace:

Código Delphi [-]
procedure ValidarSoloDinero(ObjetoaValidar: String; NombreObjetoaValidar: String);
begin
  try
    StrToCurr(ObjetoaValidar);
  except
    raise Exception.Create('Atención el : '+ NombreObjetoaValidar + ' solo permite formato de dinero por favor revise y corriga');
  end;
end;

La primera vez que lo ejecuto funciona perfecto, pero si vuelvo a entrar al evento ONEXIT de la caja arroja un error, ya que en el primer intento el número es: 528525, y en el segundo es 528.525, ahí dice que no tiene un formato de punto flotante correcto, alguno de ustedes me podria ayudar??.

De ante mano gracias por tomarse el tiempo de leer este Hilo.

newtron 13-03-2014 17:21:50

Hola.

Deberías de hacer algún cambio para que antes de llamar al StrToCurr... quitarle los puntos a la variable ObjetoaValidar.

Por ejemplo...

Código Delphi [-]
procedure ValidarSoloDinero(ObjetoaValidar: String; NombreObjetoaValidar: String);
begin
   try
     StringReplace(ObjetoaValidar,'.','',[rfReplaceAll]);
     StrToCurr(ObjetoaValidar);
   except
     raise Exception.Create('Atención el : '+ NombreObjetoaValidar + ' solo permite formato de dinero por favor revise y corriga');
   end;
 end;

jscubillos5 13-03-2014 17:27:35

Gracias
 
Gracias Newtron. ^\||/


La franja horaria es GMT +2. Ahora son las 05:48:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi