Ver Mensaje Individual
  #10  
Antiguo 04-11-2016
rmendoza83 rmendoza83 is offline
Miembro
 
Registrado: ago 2006
Posts: 50
Reputación: 18
rmendoza83 Va por buen camino
Completado Los Formularios Muchachos!!!

Bueno mi gente, muchas gracias por el aporte de ideas, logre resolver por el lado de delphi, me queda ahora ver como lo hago con Rave Reports, en un principio pensaba que la clase Component manejaba una propiedad de los componentes contenidos en el y ya me habia hecho una funcion recursiva y todo jejejeje, pero al depurar note que el arreglo Components y el ComponentCount devuelven los datos de todos los componentes indiferentemente de si estan contenidos o no, creo que debio haber sido una duda que tuve desde hace muchos años ya que programo en otros lenguajes, creo que java es asi y pense que delphi tambien, pero bueh funciona muy bien, les adjunto el codigo para quien le pueda ser util.

Código Delphi [-]
//Procedimientos y Funciones especiales para el cambio automatico del DisplayFormat
procedure AsignarDisplayFormat(Component: TComponent; NumeroDecimales: Integer);
var
  Formato: string;
begin
  Formato := '#,##0.' + StringOfChar('0',NumeroDecimales);
  if (Component.ClassName = 'TCurrencyEdit') then
  begin
    (Component as TCurrencyEdit).DisplayFormat := Formato;
    (Component as TCurrencyEdit).DecimalPlaces := NumeroDecimales;
  end;
  if (Component.ClassName = 'TFloatField') then
  begin
    (Component as TFloatField).DisplayFormat := Formato;
  end;
end;

procedure BuscarDisplayFormat(Form: TForm; NumeroDecimales: Integer);
var
  i: Integer;
begin
  for i := 0 to Form.ComponentCount - 1 do
  begin
    if (IsPublishedProp(Form.Components[i],'DisplayFormat')) then
    begin
      AsignarDisplayFormat(Form.Components[i],NumeroDecimales);
    end;
  end;
end;

Hice el procedimiento AsignarDisplayFormat de esa manera ya que no se si haya otra manera mas agradable de escribir jejejeje, se aceptan sugerencias en el codigo tambien.

Me pondre ahora con rave! ahi creo que si sera una total aventura!!! jejeje

Última edición por rmendoza83 fecha: 04-11-2016 a las 18:06:16. Razón: Correccion en el Codigo de Delphi
Responder Con Cita