Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   qreport "ForceNewPage" no funcionna (https://www.clubdelphi.com/foros/showthread.php?t=27333)

david duarte 17-11-2005 17:43:06

qreport "ForceNewPage" no funcionna
 
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

Código Delphi [-]
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

Cita:

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??


La franja horaria es GMT +2. Ahora son las 13:00:30.

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