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 18-01-2008
fcios fcios is offline
Miembro
 
Registrado: jul 2003
Posts: 108
Poder: 21
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
Responder Con Cita
  #2  
Antiguo 18-01-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
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
Responder Con Cita
  #3  
Antiguo 18-01-2008
Avatar de jcarteagaf
[jcarteagaf] jcarteagaf is offline
Miembro Premium
 
Registrado: abr 2006
Ubicación: La Paz, Bolivia
Posts: 651
Poder: 19
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.
Responder Con Cita
  #4  
Antiguo 19-01-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por jcarteagaf Ver Mensaje
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
Responder Con Cita
  #5  
Antiguo 21-01-2008
fcios fcios is offline
Miembro
 
Registrado: jul 2003
Posts: 108
Poder: 21
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
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Reporte en tiempo de ejecucion rex Impresión 2 01-10-2006 05:53:41
No puedo EDITAR FASTREPORT en modo ejecucion. Tavi Impresión 0 21-09-2005 13:35:15
Casteo en tiempo de ejecución moesis OOP 4 21-07-2005 15:21:56
DisplayFormat en tiempo de ejecución? mguixot OOP 4 01-06-2004 11:38:19
Tiempo de ejecucion? st7 Varios 3 11-05-2004 22:03:28


La franja horaria es GMT +2. Ahora son las 19:22:11.


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