PDA

Ver la Versión Completa : qreport "ForceNewPage" no funcionna


david duarte
17-11-2005, 17:43:06
Hola!!!

Estoy creando un reporte con Qreport 3 y delphi5, en el qreport creo 5 memos en tiempo de ejecucion.

Le añado lineas y lineas, pero llega un momento en que las lineas se pasan del margen vertical de la hoja (para esto utilizo un ciclo), primero recorro todos los memos y le agrego una linea a cada uno, pero cuando llega al final del margen de la hoja, al momento de que le añado una linea al primer memo y esta no cabe en la hoja, se añade otra hoja, pero toda la informacion del segundo memo, empieza en la hoja en donde se acaban las lineas del primer memo y asi consecutivamente.

Para el ciclo de añadir lineas utilizo un ciclo con una variable i(le pongo i, porque es para hacer pruebas), le pongo una condicion si el valor de i = 30; QRBand3.ForceNewPage := True, pero no pasa nada, agrego codigo


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
QuickRpt, ExtCtrls, Qrctrls;
type
TForm1 = class(TForm)
QuickRep1: TQuickRep;
QRBand1: TQRBand;
QRBand2: TQRBand;
QRBand3: TQRBand;
procedure FormCreate(Sender: TObject);
procedure QuickRep1AfterPreview(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
qrmemo : TQRMemo;
arrmemo: array of TQRMemo;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
i,cont : Integer;
begin
//ponemos la longitud del qrmemo
setlength(arrmemo,10);
left := 10;
//ciclo para crear los qrmemos
for i :=0 to 4 do
Begin
arrmemo[i] := TQRmemo.Create(QRBand3);
arrmemo[i].AutoStretch := True;
arrmemo[i].Lines.Add('Memo '+inttostr(i+1));
arrmemo[i].Alignment := taRightJustify;
arrmemo[i].parent := QRBand3;
arrmemo[i].Lines.Add('');
arrmemo[i].Left := left;
arrmemo[i].Visible := True;
left := left + 100;
end;
for i :=0 to 4 do
Begin
for cont :=0 to 50 do
Begin
if i =15 then
QRBand3.ForceNewPage := True;
arrmemo[i].Lines.Count;
arrmemo[i].Lines.Add('linea '+inttostr(cont+1));
end;
end;
form1.Close;
form1.QuickRep1.Preview;
end;
procedure TForm1.QuickRep1AfterPreview(Sender: TObject);
begin
form1.Close;
end;
end.


alguien sabe porque, ya me le leído todos los hilos de este foro y he hecho pruebas, pero la verdad es que no me han funcionado, si alguien sabe como hacerle o tiene una idea, se los agradeceré mucho. Ya llevo algun tiempo con este problema y la verdad es que le sigo sin encontrar la solucion, me dijeron que podia probar tambien en que mandara directamente imprimir a la impresora o crear varios reportes con las lineas que le caben a uno, generar otro con las siguientes lineas y despues unirlo con el compositereport o algo asi se llama, pero la verdad es que tengo limitacion de computadora en cuanto a procesador y memoria

Gracias!!!

Cómo te siente hoy???

marcoszorrilla
17-11-2005, 18:07:34
La verdad es que no se aconsjea utilizar QrMemo para imprimir sino un simple QrDbText.

Un Saludo.

david duarte
17-11-2005, 18:13:21
Gracias marcozorrilla.

1.- Porque dices que no es aconsejable memos para la impresion???
2.- En la version del reporte original, utilizo labels creadas en ejecucion para mostrar los datos, pero me pasa lo mismo, cuando se pasa del marco vertical, se crean las labels abajo del pie de pagina y tampoco encuentro la forma de que me cree una nueva hoja y ahi crear las siguientes labels.

Como le puedo hacer para crean nuevas hojas??

Gracias
Cómo te sientes hoy??

marcoszorrilla
17-11-2005, 18:23:35
Yo tengo unas FAQ de Borland que ahora no tengo a mano, pero a la noche te daré la información en donde no se recomienda utilizar QrMemo sino QrDbText.

Un Saludo.

david duarte
17-11-2005, 18:29:50
Bueno, pero como le hago para que me añada una nueva pagina para el reporte???
Te digo que he probado con el NewPage := True.

Pero no me añade nada

Gracias.

Cómo te sientes hoy??

marcoszorrilla
17-11-2005, 22:15:07
Question and Answer Database

FAQ2970D.txt Is there a TQRDBMemo?
Category :Quick Reports
Platform :All
Product :All 32 bit

Question:
Why is there no TQRDBMemo component?


Answer:
Use TQRDBText. It does the job a TQRDBMemo
would do.
Un Saludo.

david duarte
18-11-2005, 00:09:58
OK. muchas gracias.

He estado haciendo pruebas con el compositereport, pero no me sale.

en un reporte tengo un pagina y en otro reporte tengo otra pagina

cuando los junta, segun me marca que tengo 2 hojas, pero a la hora de imprimir, me imprime todo en una sola hoja.

Porque??

estuve haciendo pruebas de añadirle mas qrlabels y quitandole, pero siempre me las imprime en la misma hoja.

Gracias.
Cómo te sientes hoy??