Ver Mensaje Individual
  #16  
Antiguo 05-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
vale, vale, ahora si te he entendido.

Entonces tienes que realizar algunas argucias. A ver si de memoria puedo resolverte algo:
Código Delphi [-]

const MisCamposFormateados = 'cantidad;importe';

procedure FormateaCampos(query:TQuery);
var I:integer;
begin
  for i:= 0 to query.FieldCount -1 do
   if Pos(Query.Fields[i].FieldName, MisCamposFormateados) <> 0 then
     Query.Fields[i].DisplayFormat := ',#0.00'
end;

El tema consiste en guardar en una constante todos los campos que quieres que sean formateados en tiempo de ejecución. Ahora con esa rutina, puedes añadir el displayFormat a todas las querys que tengas en tu programa.

Para usarlo:
Código Delphi [-]
   qry1.close;
   qry1.sql.Text := 'select * from inventario';
  FormateaCampos(qry1);
  qry1.Open;
...
  qry1.Close;
  qry1.sql.text := 'select * from trabajadores');
  FormateaCampos(qry1);
  qry1.Open;
tanto en la tabla trabajadores como en la inventario, si existe un campo llamado "cantidad" o bien "importe", se le añade los separadores de millares.

Si al tiempo de crear los nombres de los campos has sido cauteloso, y los nombres de los campos son iguales, una rutina de este tipo puede servirte.

Se podría hacer de una forma más eficiente, pero tendríamos que complicar un poquito más el diseño, si estas interesado avisa.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita