Fórum QuickReport como colocar numero de pagina assim Pagina 1/3 #170457

21/07/2003

0

Tem como colocar o numero de paginas no quickreport dessa forma:
Página 1/3, onde 1 é a página atual e 3 é o total de páginas.


Weber

Weber

Responder

Posts

03/06/2004

Lucas Silva

Também estou com esta dúvida.

Alguem sabe?


Responder

Gostei + 0

03/06/2004

Xanatos

Se voceis usam o QRPreview poderam usar a propriedade qrPreview1.PageNumber :P é o que eu sei!!!

Espero ajudar...


Responder

Gostei + 0

03/06/2004

Xanatos

Use um qrpreview e quando der o preview voce usa o qrPreview1.qrPrinter.PageCount e como voce mesmo vai montar a tela...nos botoes de proximo e anterior voce usa o

qrPreview1.PageNumber := qrPreview1.PageNumber+1;
Edit1.Text := Inttostr(qrPreview1.PageNumber);

:evil:


Responder

Gostei + 0

03/06/2004

Lucas Silva

xanatos,
Quando eu coloco este código no relatório, ele mostra o número da página autal.


Responder

Gostei + 0

03/06/2004

Fabio.hc

Tente assim:

var
  ContPagina:integer;

procedure TForm1.QuickRep1StartPage(Sender: TCustomQuickRep);
begin
   inc(ContPagina);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ContPagina := 0 ;
   QuickRep1.Prepare;
   QrLabel1.Caption := IntToStr(ContPagina);
   QuickRep1.Preview;
end;



Responder

Gostei + 0

03/06/2004

Lucas Silva

Valeu pelo solução ai fábio.
Dei uma melhorada nela..

   QuickRep1.Prepare; 
   QrLabel1.Caption := IntToStr(quickReport1.qrPrinter.pageCount)
   QuickRep1.Preview; 



Responder

Gostei + 0

03/06/2004

Valdir.santos

Tenho um Preview bem legal, a quem interessar:

unit Preview;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, QuickRpt, Buttons, ComCtrls, Spin, QRPrntr, QRCtrls;

type
  TfrmPreview = class(TForm)
    Panel1: TPanel;
    QRPreview1: TQRPreview;
    StatusBar: TStatusBar;
    ProgressBar: TProgressBar;
    lblAguarde: TLabel;
    btnZoomIn: TSpeedButton;
    btnZoomOut: TSpeedButton;
    Label1: TLabel;
    btnClose: TSpeedButton;
    btnPrint: TSpeedButton;
    btnPrimeira: TSpeedButton;
    btnPrevPage: TSpeedButton;
    btnNextPage: TSpeedButton;
    btnUltima: TSpeedButton;
    spePaginas: TSpinEdit;
    speZoom: TSpinEdit;
    procedure btnPrintClick(Sender: TObject);
    procedure btnPrevPageClick(Sender: TObject);
    procedure btnNextPageClick(Sender: TObject);
    procedure btnZoomOutClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure QRPreview1PageAvailable(Sender: TObject; PageNum: Integer);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure StatusBarDrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    procedure QRPreview1ProgressUpdate(Sender: TObject; Progress: Integer);
    procedure btnPrimeiraClick(Sender: TObject);
    procedure btnUltimaClick(Sender: TObject);
    procedure btnZoomInClick(Sender: TObject);
    procedure spePaginasChange(Sender: TObject);
    procedure speZoomChange(Sender: TObject);
  private
    { Private declarations }
    procedure UpdateButtons;
  public
    { Public declarations }
    sStatus: String;
  end;

var
  frmPreview: TfrmPreview;

implementation

uses Funcoes;

{$R *.DFM}

procedure TfrmPreview.UpdateButtons;
begin
  with QRPreview1 do begin
    btnPrimeira.Enabled := PageNumber > 1;
    btnPrevPage.Enabled := PageNumber > 1;
    btnNextPage.Enabled := PageNumber < QRPreview1.QRPrinter.PageCount;
    btnUltima.Enabled := PageNumber < QRPreview1.QRPrinter.PageCount;
    spePaginas.Value := PageNumber;
  end;
  StatusBar.Panels[0].Text := sStatus;
  StatusBar.Panels[1].Text :=
    ´Pág. ´ + IntToStr(QRPreview1.PageNumber) + ´ de ´ +
    IntToStr(QRPreview1.QRPrinter.PageCount);
end;

procedure TfrmPreview.btnPrintClick(Sender: TObject);
begin
  with QRPreview1.QRPrinter do begin
    PrintSetup;
    if Master.Tag = 0 then
       Print;
  end;
end;

procedure TfrmPreview.btnPrevPageClick(Sender: TObject);
begin
  Application.ProcessMessages;
  with QRPreview1 do
    if PageNumber > 1 then
       PageNumber:=PageNumber-1;
  UpdateButtons;
end;

procedure TfrmPreview.btnNextPageClick(Sender: TObject);
begin
  Application.ProcessMessages;
  with QRPreview1 do
    if PageNumber < QRPreview1.QRPrinter.PageCount then
       PageNumber:=PageNumber+1;
  UpdateButtons;
end;

procedure TfrmPreview.btnZoomOutClick(Sender: TObject);
begin
  Application.ProcessMessages;
  with QRPreview1 do
    if Zoom > 10 then
       Zoom := Zoom - 5;
  speZoom.Value:=QRPreview1.Zoom;
end;

procedure TfrmPreview.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmPreview.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
  frmPreview:=nil;
end;

procedure TfrmPreview.FormShow(Sender: TObject);
begin
  lblAguarde.Left:=(Screen.Width div 2)-(lblAguarde.Width div 2);
  lblAguarde.Top:=(Screen.Height div 2)-60;
  QRPreview1.SetFocus;
  ActiveControl:=nil;
end;

procedure TfrmPreview.QRPreview1PageAvailable(Sender: TObject;
  PageNum: Integer);
begin
  Caption:=´Relatório - ´+IntToStr(PageNum)+´ página´;
  if PageNum > 1 then
     Caption:=Caption+´s´;

  spePaginas.MaxValue := PageNum;
  case QRPreview1.QRPrinter.Status of
    mpReady    : sStatus := ´Pronto´;
    mpBusy     : sStatus := ´Processando´;
    mpFinished :
         begin
           sStatus := ´Concluído´;
           lblAguarde.Visible:=False;
           speZoom.Value:=QRPreview1.Zoom;
         end;
  end;
  UpdateButtons;
end;

procedure TfrmPreview.FormCreate(Sender: TObject);
begin
  // Put the progress bar on the statusbar
  ProgressBar.Parent := StatusBar;
end;

procedure TfrmPreview.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//  Let the user navigate through the preview by the keyboard
  case Key of
    VK_DOWN  : with QRPreview1.VertScrollBar do
                 Position := Position + 30; // trunc(Range / 10);
    VK_UP    : with QRPreview1.VertScrollBar do
                 Position := Position - 30; // trunc(Range / 10);
    VK_LEFT  : with QRPreview1.HorzScrollBar do
                 Position := Position - 30; // trunc(Range / 10);
    VK_RIGHT : with QRPreview1.HorzScrollBar do
                 Position := Position + 30; // trunc(Range / 10);
    VK_NEXT  : with QRPreview1.VertScrollBar do
                 Position := Position + 60;
    VK_PRIOR : with QRPreview1.VertScrollBar do
                 Position := Position - 60;
    VK_HOME  :
      begin
        QRPreview1.PageNumber := 1;
        Application.ProcessMessages;
        UpdateButtons;
      end;
    VK_END   :
      begin
        QRPreview1.PageNumber := QRPreview1.QRPrinter.PageCount;
        Application.ProcessMessages;
        UpdateButtons;
      end;
    VK_ESCAPE: btnCloseClick(Self);
  end;
end;

procedure TfrmPreview.StatusBarDrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
var
  aRect: TRect;
begin
  if Panel = StatusBar.Panels[2] then begin
     aRect := Rect;
     InflateRect(aRect, 1, 1);
     ProgressBar.BoundsRect := aRect;
  end;
end;

procedure TfrmPreview.QRPreview1ProgressUpdate(Sender: TObject;
  Progress: Integer);
begin
  ProgressBar.Position := Progress;
  if (Progress = 0) or (Progress = 100) then
     ProgressBar.Position := 0;
end;

procedure TfrmPreview.btnPrimeiraClick(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview1.PageNumber:=1;
  UpdateButtons;
end;

procedure TfrmPreview.btnUltimaClick(Sender: TObject);
begin
  Application.ProcessMessages;
  with QRPreview1 do
    if PageNumber <  QRPrinter.PageCount then
       PageNumber := QRPrinter.PageCount;
  UpdateButtons;
end;

procedure TfrmPreview.btnZoomInClick(Sender: TObject);
begin
  Application.ProcessMessages;
  with QRPreview1 do
    Zoom := Zoom + 5;
  speZoom.Value:=QRPreview1.Zoom;
end;

procedure TfrmPreview.spePaginasChange(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview1.PageNumber:=spePaginas.Value;
  UpDateButtons;
end;

procedure TfrmPreview.speZoomChange(Sender: TObject);
begin
  Application.ProcessMessages;
  QRPreview1.Zoom:=speZoom.Value;
end;

end.



Responder

Gostei + 0

03/06/2004

Aroldo Zanela

Colegas,

Outra forma: http://delphiforum.icft.com.br/forum/viewtopic.php?p=21427#21427


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar