invcrpt.pas

来自「Delphi利用MVC开发的典型例子」· PAS 代码 · 共 105 行

PAS
105
字号
unit InvcRpt;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
  StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls, patterns;

type
  TInvoiceByOrderNoReport = class(TQuickRep)
    DetailBand1: TQRBand;
    QRDBText3: TQRDBText;
    QRDBText6: TQRDBText;
    QRDBText7: TQRDBText;
    QRDBText8: TQRDBText;
    QRDBText9: TQRDBText;
    ColumnHeaderBand1: TQRBand;
    QRLabel4: TQRLabel;
    Description: TQRLabel;
    QRLabel7: TQRLabel;
    QRLabel8: TQRLabel;
    QRLabel11: TQRLabel;
    QRLabel12: TQRLabel;
    TitleBand1: TQRBand;
    QRLabel1: TQRLabel;
    QRLabel2: TQRLabel;
    QRDBText1: TQRDBText;
    SummaryBand1: TQRBand;
    QRExpr1: TQRExpr;
    QRShape1: TQRShape;
    QRLabel3: TQRLabel;
    QRExpr2: TQRExpr;
    QRDBText2: TQRDBText;
    QRExpr3: TQRExpr;
    QRDBText4: TQRDBText;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRLabel9: TQRLabel;
    QRShape2: TQRShape;
    ChildBand1: TQRChildBand;
    ChildBand2: TQRChildBand;
    QRLabel10: TQRLabel;
    QRLabel13: TQRLabel;
    QRLabel14: TQRLabel;
    QRLabel15: TQRLabel;
    QRLabel16: TQRLabel;
    QRLabel17: TQRLabel;
    QRDBText5: TQRDBText;
    QRDBText10: TQRDBText;
    QRDBText11: TQRDBText;
    QRDBText12: TQRDBText;
    QRDBText13: TQRDBText;
    QRDBText14: TQRDBText;
    QRExpr5: TQRExpr;
    QRDBText15: TQRDBText;
    procedure InvoiceByOrderNoReportBeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
  private
  public
  end;

  TControllerInvoiceReport = class(TController)
  protected
    procedure DoCommand(Command: string; args: string); override;
  end;

var
  InvoiceByOrderNoReport: TInvoiceByOrderNoReport;

implementation

uses DataMod, commandlist, PickInvc;

{$R *.DFM}

procedure TInvoiceByOrderNoReport.InvoiceByOrderNoReportBeforePrint(
  Sender: TCustomQuickRep; var PrintReport: Boolean);
begin
  Sender.AllDataSets.Add(TMastData.getInstance.Cust);
  Sender.AllDataSets.Add(TMastData.getInstance.Orders);
end;

procedure TControllerInvoiceReport.DoCommand(Command: string; args: string);
begin
  if command = CMD_RPT_INVOICE then
  begin
    with TPickOrderNoDlg.Create(nil) do
    begin
      if ShowModal = mrOk then
        if Lowercase(args) = 'preview' then
          InvoiceByOrderNoReport.Preview
        else
          InvoiceByOrderNoReport.Print;
      free;
    end;
  end;
end;

initialization
  ControlCenter.RegController(TControllerInvoiceReport.Create);
  InvoiceByOrderNoReport := TInvoiceByOrderNoReport.create(application);


end.

⌨️ 快捷键说明

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