Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Impresión
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 18/01/2008
fcios fcios is offline
Miembro
 
Join Date: Jul 2003
Posts: 108
Poder: 24
fcios Va por buen camino
Question configurando papersize en Fastreport en tiempo de ejecución

Hola, como puedo setear el papersize antes de llamar al ShowReport ?

por ejemplo lo tengo configurado como Oficio pero al llamar lo quiero colocar en Carta.

muchas gracias
Reply With Quote
  #2  
Old 18/01/2008
Chris's Avatar
[Chris] Chris is offline
Miembro Premium
 
Join Date: Apr 2007
Location: Jinotepe, Nicaragua
Posts: 1,678
Poder: 21
Chris Va por buen camino
Hola fcios, auque no estoy seguro, intenta este código:
Código Delphi [-]
frxReport1.Pages[0].Width  := 21.6;
frxReport1.Pages[0].Height := 27.9;

Las medidas expuestas en el código son para tamaño carta y están expresadas en centimetros, que creo que es lo que utiliza fastreport para asignar las dimenciones a las páginas. En "Pages[0]" corresponde a la primera "página plantilla" del reporte. No confundas "página plantilla" con las páginas con las páginas que se generan al final, ya es estas son parte del objeto PreviewPages.

Saludos.

pd: Si mal no recuerdo, FR tiene una propiedad para especificar en que forma especificas el tamaño de páginas (centimetros, pulgadas, etc). Así como también funciones para convertir entre estas medidas. De todos modos ve y revisa el Developers' Guide de FastReports.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Reply With Quote
  #3  
Old 18/01/2008
jcarteagaf's Avatar
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Join Date: Apr 2006
Location: La Paz, Bolivia
Posts: 651
Poder: 21
jcarteagaf Va por buen camino
Smile Cambiando el tamaño de la Pagina

Aqui esta un codigo que encontre en el Programmer's Manual

Código Delphi [-]
var
  Page:  TfrxReportPage;
 begin
.... 
 { La primera pagina del reporte tiene indice [1]. La pagina [0] es la pagina de Datos. }
 Page :=  TfrxReportPage(frxReport1.Pages[1]);
 { Cambiar el tamaño }
 Page.PaperSize  := DMPAPER_A2;
 { Modificar la orientacion }
 Page.Orientation  := poLandscape;
....
end;
Espero que sirva

Saludos.
Reply With Quote
  #4  
Old 19/01/2008
Chris's Avatar
[Chris] Chris is offline
Miembro Premium
 
Join Date: Apr 2007
Location: Jinotepe, Nicaragua
Posts: 1,678
Poder: 21
Chris Va por buen camino
Quote:
Originally Posted by jcarteagaf View Post
Aqui esta un codigo que encontre en el Programmer's Manual


Código Delphi [-]var
Page: TfrxReportPage;
begin
....
{ La primera pagina del reporte tiene indice [1]. La pagina [0] es la pagina de Datos. }
Page := TfrxReportPage(frxReport1.Pages[1]);
{ Cambiar el tamaño }
Page.PaperSize := DMPAPER_A2;
{ Modificar la orientacion }
Page.Orientation := poLandscape;
....
end;




Espero que sirva

Saludos.
Tienes razón jcarteagas, no recordaba ese detalle de que la primera (0) es la página de datos. Sin embargo, hay que hacer la aclaración, que esto es a partir de la versión 4 de FR. Antes de esta (<4) la primera página (0) es la primera de la plantilla.

Saludos.

PD.: Tu forma de asignar el tamaño de página es realmente mejor que la mía. Te agradezco que hayas parecido para dar esta alternativa al mal código que poste anteriormente.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Reply With Quote
  #5  
Old 21/01/2008
fcios fcios is offline
Miembro
 
Join Date: Jul 2003
Posts: 108
Poder: 24
fcios Va por buen camino
Wink

Muchas gracias D&W y jcarteagaf

el Page.PaperSize := DMPAPER_A4; funciona sin problema

les comento que también estuve probando de setear la página en el script pero no funciona correctamente ya que si bien los datos caen correctamente en sus respectivas páginas, el tamaño de las paginas sigue sin alterarse,
o sea, al verlo en pantalla muestra primero los datos y luego deja una gran area sin imprimir datos antes de pasar a la sigueinte página

Page1OnBeforePrint(Sender: TfrxComponent);
begin
// Page1.PaperSize:= DMPAPER_A4; // el scrip no tiene estas constantes
Page1.PaperSize:= 256;// 256 = custom page
// lo de arriba cambia el tamaño de la impresión pero la página sigue siendo larga
Page1.PaperWidth := 216.0;
Page1.PaperHeight := 279.0;
end;

Gracias
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Reporte en tiempo de ejecucion rex Impresión 2 01/10/2006 05:53
No puedo EDITAR FASTREPORT en modo ejecucion. Tavi Impresión 0 21/09/2005 13:35
Casteo en tiempo de ejecución moesis OOP 4 21/07/2005 15:21
DisplayFormat en tiempo de ejecución? mguixot OOP 4 01/06/2004 11:38
Tiempo de ejecucion? st7 Varios 3 11/05/2004 22:03


All times are GMT +2. The time now is 01:52.


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
Copyright 1996-2007 Club Delphi