在demo中,打印字符串的单元代码如下:
unit unireport;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, QuickRpt, QRCtrls, ExtCtrls, DBTables, QRAbsDatas, qrprntr;type
  TUnirep = class(TForm)
    QuickRep1: TQuickRep;
    QRLoopBand1: TQRLoopBand;
    QRLabel1: TQRLabel;
    TitleBand1: TQRBand;
    QRLabel2: TQRLabel;
    SetupDialog1: TPrinterSetupDialog;
    procedure QRLoopBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Unirep: TUnirep;
  tmpl : TStringlist;
  enc : TQRTextEncoding;
  rec : integer;implementation
uses main, printers;{$R *.dfm}procedure TUnirep.QRLoopBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
     qrlabel1.Caption := tmpl[rec];
     inc(rec);
end;procedure TUnirep.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
   enc := TQRTextEncoding.Create;
   tmpl := TStringlist.Create;
   tmpl.LoadFromFile(adir + '/Chinese-text.txt', enc.UTF8);
   qrloopband1.PrintCount := tmpl.Count;
   rec := 0;end;end.
主程序中的相应代码如下:unit main;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, QRXMLSFilt, QRWebFilt, QRPDFFilt, QRExport;type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton6: TSpeedButton;
    SpeedButton7: TSpeedButton;
    QRExcelFilter1: TQRExcelFilter;
    QRHTMLFilter1: TQRHTMLFilter;
    QRCSVFilter1: TQRCSVFilter;
    QRTextFilter1: TQRTextFilter;
    QRXMLSFilter2: TQRXMLSFilter;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    biobutton: TSpeedButton;
    SpeedButton2: TSpeedButton;
    PD1: TPrintDialog;
    SpeedButton5: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure biobuttonClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  adir : string;implementation
uses unireport, qrprntr, qrprev, printers, quickrpt;
{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
    getdir( 0, adir );
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
     unirep.QuickRep1.Preview;
end;end.
在整个程序中貌似没有对自定义过程:QRLoopBand1BeforePrint和QuickRep1BeforePrint的调用,那这两个过程是如何开始运行的呢???已经证明这个demo完全正常,两个过程确实运行了,且先运行QuickRep1BeforePrint后运行QRLoopBand1BeforePrint。有哪位大哥给解决一下呀,感激不尽!!!