unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,qrextra,QRPrntr, ExtCtrls, QuickRpt, ComCtrls, QRCtrls, DB, ADODB,
  Buttons;type
  TForm1 = class(TForm)
    QRPreview1: TQRPreview;
    Panel1: TPanel;
    ProgressBar1: TProgressBar;
    Panel2: TPanel;
    QuickRep1: TQuickRep;
    ADOQuery1: TADOQuery;
    Panel3: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton6: TSpeedButton;
    QRBand1: TQRBand;
    QRDBText1: TQRDBText;
    procedure QuickRep1Preview(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
     FPageCount : integer;  // 生 成 报 表 的 总 页 数 
  public
    { Public declarations }
 CurRep : TQuickRep;    // 所 预 览 的 报 表
    procedure UpdatePanelShow;
  end;var
  Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.UpdatePanelShow;
begin   // 更 新 显 示
     Panel2.Caption :=' 第 '+inttostr(QRPreview1.PageNumber)+
   ' 页  总 '+inttostr(FPageCount)+' 页';
   
end; 
procedure TForm1.QuickRep1Preview(Sender: TObject);
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
Show;
end;procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
QRPreview1.ZoomToFit;
end;procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
QRPreview1.Zoom:=100;
end;procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
QRPreview1.ZoomToWidth;
end;procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
QRPreview1.PageNumber := 1;
     UpdatePanelShow; 
end;procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.Active:=True;
QuickRep1.Preview;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CurRep := nil;
QuickRep1.Free;end;//关闭的时候 关不掉窗体。 能过close,end.
速度比不用quickrep1慢了不少。不知什么原因。上面的代码肯定有问题,谢谢