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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2005
david duarte david duarte is offline
Miembro
 
Registrado: ago 2005
Posts: 217
Poder: 19
david duarte Va por buen camino
Question 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???
Responder Con Cita
 



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 04:22:29.


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