⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rord.pas

📁 suite component ace report
💻 PAS
字号:
unit Rord;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, sctctrl, StdCtrls, Sctvar, Sctrep, Grids, DBGrids, DB,
  DBTables, ExtCtrls, Buttons, Sctbtn, AcePage;

type
  Tordform = class(TForm)
    Panel1: TPanel;
    CustomerSource: TDataSource;
    Customer: TTable;
    orders: TTable;
    OrdersSource: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    items: TTable;
    itemsSource: TDataSource;
    ReportHeaderBand: TSctBand;
    ReportHeaderBandlevel: TSctLevel;
    PageHeaderBand: TSctBand;
    PageHeaderBandlevel: TSctLevel;
    DetailBand: TSctBand;
    DetailBandlevel: TSctLevel;
    PageFooterBand: TSctBand;
    PageFooterBandlevel: TSctLevel;
    ReportFooterBand: TSctBand;
    ReportFooterBandlevel: TSctLevel;
    ReportPage: TSctGrouppage;
    SctReport1: TSctReport;
    svarDateTime: TSctDateTimeVar;
    svarPage: TSctPageVar;
    DataSourceGuide: TSctDataSourceGuide;
    DataSourceGuide1: TSctDataSourceGuide;
    DataSourceGuide2: TSctDataSourceGuide;
    customerCUSTNO: TSctdbvar;
    customerCOMPANY: TSctdbvar;
    customerADDR1: TSctdbvar;
    customerADDR2: TSctdbvar;
    customerCITY: TSctdbvar;
    customerSTATE: TSctdbvar;
    customerZIP: TSctdbvar;
    customerCOUNTRY: TSctdbvar;
    customerPHONE: TSctdbvar;
    customerFAX: TSctdbvar;
    customerTAXRATE: TSctdbvar;
    customerCONTACT: TSctdbvar;
    customerLASTINVOICEDATE: TSctdbvar;
    ordersORDERNO: TSctdbvar;
    ordersCUSTNO: TSctdbvar;
    ordersSALEDATE: TSctdbvar;
    ordersSHIPDATE: TSctdbvar;
    ordersEMPNO: TSctdbvar;
    ordersSHIPTOCONTACT: TSctdbvar;
    ordersSHIPTOADDR1: TSctdbvar;
    ordersSHIPTOADDR2: TSctdbvar;
    ordersSHIPTOCITY: TSctdbvar;
    ordersSHIPTOSTATE: TSctdbvar;
    ordersSHIPTOZIP: TSctdbvar;
    ordersSHIPTOCOUNTRY: TSctdbvar;
    ordersSHIPTOPHONE: TSctdbvar;
    ordersSHIPVIA: TSctdbvar;
    ordersPO: TSctdbvar;
    ordersTERMS: TSctdbvar;
    ordersPAYMENTMETHOD: TSctdbvar;
    ordersITEMSTOTAL: TSctdbvar;
    ordersTAXRATE: TSctdbvar;
    ordersFREIGHT: TSctdbvar;
    ordersAMOUNTPAID: TSctdbvar;
    itemsORDERNO: TSctdbvar;
    itemsITEMNO: TSctdbvar;
    itemsPARTNO: TSctdbvar;
    itemsQTY: TSctdbvar;
    itemsDISCOUNT: TSctdbvar;
    TSctvarlabel5: TSctvarlabel;
    SctShape1: TSctShape;
    SctReportButton1: TSctReportButton;
    SctImageLabel1: TSctImageLabel;
    SctTextLabel1: TSctTextLabel;
    SctTextLabel2: TSctTextLabel;
    SctTextLabel3: TSctTextLabel;
    SctTextLabel4: TSctTextLabel;
    SctTextLabel5: TSctTextLabel;
    SctTextLabel6: TSctTextLabel;
    SctTextLabel7: TSctTextLabel;
    SctTextLabel9: TSctTextLabel;
    SubDataDetailBand: TSctSubDataBand;
    SubDataDetailBandlevel: TSctLevel;
    TSctvarlabel8: TSctvarlabel;
    parts: TTable;
    DataSourceGuide3: TSctDataSourceGuide;
    partsSource: TDataSource;
    partsPARTNO: TSctdbvar;
    partsVENDORNO: TSctdbvar;
    partsDESCRIPTION: TSctdbvar;
    partsONHAND: TSctdbvar;
    partsONORDER: TSctdbvar;
    partsCOST: TSctdbvar;
    partsLISTPRICE: TSctdbvar;
    TSctvarlabel9: TSctvarlabel;
    TSctvarlabel10: TSctvarlabel;
    Sctvarlabel2: TSctvarlabel;
    ItemsAmount: TSctExprvar;
    TotalofItemsAmount: TSctTotalvar;
    SctTotalvarLabel1: TSctTotalvarLabel;
    InvoiceForm: TSctOverlayBand;
    InvoiceFormLevel: TSctLevel;
    SctShape2: TSctShape;
    SctVerticalDivider2: TSctVerticalDivider;
    SctTextLabel13: TSctTextLabel;
    SctTextLabel10: TSctTextLabel;
    SctTextLabel11: TSctTextLabel;
    SctTextLabel12: TSctTextLabel;
    SctVerticalDivider1: TSctVerticalDivider;
    SctTextLabel14: TSctTextLabel;
    SctShape3: TSctShape;
    SctShape4: TSctShape;
    SctTextLabel15: TSctTextLabel;
    SctShape5: TSctShape;
    SctShape6: TSctShape;
    SctShape7: TSctShape;
    SctTextLabel16: TSctTextLabel;
    SctTextLabel17: TSctTextLabel;
    SctTextLabel18: TSctTextLabel;
    Sctvarlabel1: TSctvarlabel;
    Sctvarlabel3: TSctvarlabel;
    Sctvarlabel4: TSctvarlabel;
    Sctvarlabel5: TSctvarlabel;
    SctTextLabel19: TSctTextLabel;
    Sctvarlabel6: TSctvarlabel;
    SctLine1: TSctLine;
    Address: TSctExprvar;
    SctBarCodeLabel1: TSctBarCodeLabel;
    SubDataDetailBandFoot: TSctDataFootBand;
    SubDataDetailBandFootlevel: TSctLevel;
    SctTextLabel8: TSctTextLabel;
    procedure ItemsAmountGetData(oVar: TSctvar);
    procedure SctTextLabel14LabelPrintWhen(lb: TSctLabel; var Result: Boolean);
    procedure SctTotalvarLabel1LabelPrintWhen(lb: TSctLabel; var Result: Boolean);
    procedure AddressGetData(oVar: TSctvar);
    procedure ReportPageAfterDataSkip(page: TSctGrouppage);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ordform: Tordform;

implementation

{$R *.DFM}

uses sctutil;

procedure Tordform.ItemsAmountGetData(oVar: TSctvar);
begin
  oVar.AsFloat := (itemsQty.AsFloat *  partsCost.AsFloat);
end;

procedure Tordform.SctTextLabel14LabelPrintWhen(lb: TSctLabel; var Result: Boolean);
begin
  result := Not subdatadetailband.DataIsFinished;
end;

procedure Tordform.SctTotalvarLabel1LabelPrintWhen(lb: TSctLabel; var Result: Boolean);
begin
  result := subdatadetailband.DataIsFinished;
end;

procedure Tordform.AddressGetData(oVar: TSctvar);

var
  s: TMemoryStream;
  lf: char;
  text: array[0..256] of Char;
  cityStateZip: String;
  procedure AddStream(str: String);
  begin
    if Length(str) > 0 then
    begin
      strPCopy(text, str);
      s.Write(text, length(str));
      s.Write(lf, 1);
    end;
  end;
begin
  lf := Chr(10);
  s := TMemoryStream.Create;
  try
    AddStream(CustomerCompany.AsString);
    AddStream(CustomerAddr1.AsString);
    AddStream(CustomerAddr2.AsString);
    CityStateZip := SctRightTrim(CustomerCity.AsString)
              + ', ' + SctRightTrim(CustomerState.AsString)
              + '  ' + SctRightTrim(CustomerZip.AsString);
    AddStream(CityStateZip);
    AddStream(CustomerCountry.AsString);
    oVar.AsStream := s;
  finally
    s.Free;
  end;

end;

procedure Tordform.ReportPageAfterDataSkip(page: TSctGrouppage);
begin
  svarPage.AsInteger := 0;
end;

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

end.

⌨️ 快捷键说明

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