Ver Mensaje Individual
  #6  
Antiguo 20-03-2009
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Cita:
Empezado por odrack Ver Mensaje
Saludos!!

Creo que has respondido mi pregunta, la mayor parte de los campos en la base de datos los tengo en Char incluyendo los campos de cantidades, al llamar los campos y al hacer operaciones los convierto en datos de tipo floatante y regreso el resultado a string nuevamente.

Habra alguna solución para mostrar datos en pantalla de tipo numerico con comas y cecimales sin que me afecte la operacion??

Gracias Delphius!!
Bueno, lo ideal y lógico sería que cambiases el tipo de dato en tu base de datos.
Ya que esto te evita estar haciendo esas innecesarias conversiones que lo único que hacen es complicar la lógica de tu aplicativo.

Ahora bien, hacer esto implica eliminar los campos persistentes y volver a crearlos. Y tal vez algunas que otras modificaciones en tu código.

Si por alguna cuestión no puedes cambiar el tipo, lo que puedes hacer es emplear los eventos onGetText y OnSetText de tus campos.

Este evento se puede aprovechar para cambiar el texto a mostrar y a guardar. Si te fijas ambos eventos tienen un parámetro Text. Es éste Text el que se debe y puede aprovechar para alterar el texto a mostrar y/o a guardar:

Código Delphi [-]
procedure TForm1.IBTable1MONEDAGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin

end;

procedure TForm1.IBTable1MONEDASetText(Sender: TField; const Text: String);
begin

end;

En mi ejemplo uso un IBTable, y un campo llamado MONEDAS.


Revisa la ayuda para más información.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita