feeprint1.pas

来自「这是用DELPHI制作的一个简单的闭路电视收费」· PAS 代码 · 共 97 行

PAS
97
字号
unit FeePrint1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Qrctrls, QuickRpt, ExtCtrls;

type
  TFeeP1 = class(TForm)
    QuickRep1: TQuickRep;
    DetailBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRLabel3: TQRLabel;
    QRImage1: TQRImage;
    QRImage2: TQRImage;
    QRImage3: TQRImage;
    QRImage4: TQRImage;
    procedure QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
    procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    procedure QuickRep1AfterPrint(Sender: TObject);
    procedure DetailBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    procedure DetailBand1AfterPrint(Sender: TQRCustomBand;
      BandPrinted: Boolean);
  private
    { Private declarations }
    CurNo:Integer;
    StartPosition:Double;
    p:Double;
  public
    { Public declarations }
  end;

var
  FeeP1: TFeeP1;

implementation

uses main;

{$R *.DFM}

procedure TFeeP1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
  if CurNo < FormMain.PrintDataNumber then
  begin
    QRLabel1.Caption:=DateToStr(FormMain.PrintData[FormMain.PrintDataNo].PStartDate);
    QRLabel2.Caption:=DateToStr(FormMain.PrintData[FormMain.PrintDataNo].PEndDate);
    QRLabel3.Caption:=IntToStr(FormMain.PrintData[FormMain.PrintDataNo].PFee);
    QRImage1.Enabled:=True;
  end;
  Inc(CurNo);
  MoreData:=CurNo <= FormMain.PrintDataNumber;
end;

procedure TFeeP1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);

begin
  CurNo:=0;
  PrintReport:=FormMain.PrintDataNumber > 0;
  QRImage1.Enabled:=False;
  QRImage2.Enabled:=False;
  QRImage3.Enabled:=False;
  QRImage4.Enabled:=False;
  StartPosition:=QuickRep1.Page.TopMargin+(FormMain.PrintPosition-20)*7.9;;
  p:=StartPosition;
end;

procedure TFeeP1.QuickRep1AfterPrint(Sender: TObject);
begin
  QRImage1.Enabled:=False;
  QRImage2.Enabled:=False;
  QRImage3.Enabled:=False;
  QRImage4.Enabled:=False;
end;

procedure TFeeP1.DetailBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
  if (p <  (QuickRep1.Page.TopMargin +45.0)) or (p > (QuickRep1.Page.TopMargin +80.0)) then
    QuickRep1.Page.TopMargin:= QuickRep1.Page.TopMargin +7.9
  else if (p > (QuickRep1.Page.TopMargin +45.0)) and (p < (QuickRep1.Page.TopMargin +80.0)) then
    QuickRep1.Page.TopMargin:= QuickRep1.Page.TopMargin +20;
end;

procedure TFeeP1.DetailBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
  p:=QuickRep1.Page.TopMargin;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?