Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2004
alejodb alejodb is offline
Registrado
 
Registrado: ago 2003
Ubicación: Manizales - Colombia
Posts: 3
Poder: 0
alejodb Va por buen camino
Alguna Idea

Hola a todos
Estoy haciendo una aplicacion donde he creado unos 50 reportes hechos en quickreport y en el PageFooter y PageHeader incluyo el membrete de la empresa a la que va dirigida la aplicacion repitiendose en cada uno de estos, el problema es cuando vendo mi aplicacion a otra empresa y debo cambiar manualmente el pagefooter y pageheader para cada uno de los 50 reportes siendo un trabajo tedioso, me gustaria saber si conocen alguna forma de hacerlo sin tener que repetir esto cada vez (he pensado en herencia de reportes pero no se como hacerlo).
Cualquier ayuda la agradeceria.
Responder Con Cita
  #2  
Antiguo 10-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si los footers y los headers son exactamente iguales, los hubiera diseñado utilizando herencia visual.... Ahora puedes cambiarlo, pero va a ser algo tedioso!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 10-06-2004
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Hola,

Eso es muy tipico que ocurra, te cuento como lo he hecho yo solo para las cabeceras de pagina, me he creado dos componentes que heredan de TQrImage y TQrLabel.

En el constructor de cada componente hacen algo asi:

Código Delphi [-]
constructor TQRImageLogo.Create(AOwner: TComponent);
var
  Logo: TComponent;
begin
  inherited Create(AOwner);
  SetBounds(0,0,60,60);
  Logo := Application.MainForm.FindComponent('Logo');
  if (Logo <> nil) and
  (Logo is TImage) then begin
    Picture.Assign(TImage(Logo).Picture);
    Stretch := TImage(Logo).Stretch;
  end;
end;
Algo parecido pasa con el que hereda de un TQrLabel, la idea es sencilla, el componente busca en el formulario principal de la aplicación un componente con nombre 'Logo' y copia el contenido de la propiedad Picture en este componente, con el que hereda de QrLabel lo que copia es el caption de un label que tengo en el formulario principal que se llama NombreEmpresa.

En el formulario principal de todas las aplicaciones tengo un TImage llamado Logo y un TLabel llamado 'NombreEmpresa', ambos con la propiedad visible a false y asi solamente cambio esto en el formulario principal.

Podrías hacer algo parecido incluso sin programar tus propios componentes sino que por ejemplo en el main de tu aplicacion pones un TImage con el logo que quieras un Label con el texto del pie de pagina (ambos con la propiedad visible a false) y le pones la imagen que quieras y el texto que quieras. Entonces en el create de cada listado haces algo asi:

Código Delphi [-]
var
  Logo: TComponent;
  Pie  : TComponent;
begin
  Logo := Application.MainForm.FindComponent('NombreDelTImagedelMain');
  Pie   := Application.MainForm.FindComponent('NombreDelTLabeldelMain');
  MiQrImage.Picture.Assign(TImage(Logo).Picture);
  MiQrLabelPie.Caption := TLabel(Pie).Caption;
end;

Para la proxima aplicacion cambias en el main el Picture de tu TImage y el caption de tu TLabel y listo.

Espero que te sirva.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #4  
Antiguo 10-06-2004
alejodb alejodb is offline
Registrado
 
Registrado: ago 2003
Ubicación: Manizales - Colombia
Posts: 3
Poder: 0
alejodb Va por buen camino
Buena idea

Muchas gracias,

Es una buena idea y la voy a tratar de aplicar, claro que con algunas modificaciones pues el número de componentes en el Header y el Footer es variable entonces creo que la herencia de componentes me sirve mas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:43:59.


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