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

📄 acecomb.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  SctCtrl, SctVar, AcePage, SctRep, StdCtrls, Buttons, SctBtn, Db,
  DBTables, ExtCtrls, Menus, AceMerge;

type
  TMergeForm = class(TForm)
    BiolifeReport: TSctReport;
    ReportPage: TSctGrouppage;
    ReportHeaderBand: TSctBand;
    ReportHeaderBandlevel: TSctLevel;
    PageHeaderBand: TSctBand;
    PageHeaderBandlevel: TSctLevel;
    DetailBand: TSctBand;
    DetailBandlevel: TSctLevel;
    PageFooterBand: TSctBand;
    PageFooterBandlevel: TSctLevel;
    ReportFooterBand: TSctBand;
    ReportFooterBandlevel: TSctLevel;
    BiolifeSource: TDataSource;
    BiolifeTable: TTable;
    svarDateTime: TSctDateTimeVar;
    svarPage: TSctPageVar;
    DataSourceGuide: TSctDataSourceGuide;
    biolifetableSpecies_NoVar: TSctDBVar;
    biolifetableCategoryVar: TSctDBVar;
    biolifetableCommon_NameVar: TSctDBVar;
    biolifetableSpecies_NameVar: TSctDBVar;
    biolifetableLength__cm_Var: TSctDBVar;
    biolifetableLength_InVar: TSctDBVar;
    biolifetableNotesVar: TSctDBVar;
    biolifetableGraphicVar: TSctDBVar;
    varlabel5: TSctvarlabel;
    varlabel13: TSctvarlabel;
    ImageLabel: TSctImageLabel;
    OrdersReport: TSctReport;
    ReportPage1: TSctGrouppage;
    ReportHeaderBand1: TSctBand;
    ReportHeaderBand1level: TSctLevel;
    PageHeaderBand1: TSctBand;
    PageHeaderBand1level: TSctLevel;
    DetailBand1: TSctBand;
    DetailBand1level: TSctLevel;
    PageFooterBand1: TSctBand;
    PageFooterBand1level: TSctLevel;
    ReportFooterBand1: TSctBand;
    ReportFooterBand1level: TSctLevel;
    CustomerTable: TTable;
    CustomerSource: TDataSource;
    svarDateTime1: TSctDateTimeVar;
    svarPage1: TSctPageVar;
    DataSourceGuide2: TSctDataSourceGuide;
    customertableCustNoVar: TSctDBVar;
    customertableCompanyVar: TSctDBVar;
    customertableAddr1Var: TSctDBVar;
    customertableAddr2Var: TSctDBVar;
    customertableCityVar: TSctDBVar;
    customertableStateVar: TSctDBVar;
    customertableZipVar: TSctDBVar;
    customertableCountryVar: TSctDBVar;
    customertablePhoneVar: TSctDBVar;
    customertableFAXVar: TSctDBVar;
    customertableTaxRateVar: TSctDBVar;
    customertableContactVar: TSctDBVar;
    customertableLastInvoiceDateVar: TSctDBVar;
    varlabel: TSctvarlabel;
    varlabel1: TSctvarlabel;
    varlabel2: TSctvarlabel;
    varlabel3: TSctvarlabel;
    OrdersTable: TTable;
    OrdersSource: TDataSource;
    DataSourceGuide3: TSctDataSourceGuide;
    orderstableOrderNoVar: TSctDBVar;
    orderstableCustNoVar: TSctDBVar;
    orderstableSaleDateVar: TSctDBVar;
    orderstableShipDateVar: TSctDBVar;
    orderstableEmpNoVar: TSctDBVar;
    orderstableShipToContactVar: TSctDBVar;
    orderstableShipToAddr1Var: TSctDBVar;
    orderstableShipToAddr2Var: TSctDBVar;
    orderstableShipToCityVar: TSctDBVar;
    orderstableShipToStateVar: TSctDBVar;
    orderstableShipToZipVar: TSctDBVar;
    orderstableShipToCountryVar: TSctDBVar;
    orderstableShipToPhoneVar: TSctDBVar;
    orderstableShipVIAVar: TSctDBVar;
    orderstablePOVar: TSctDBVar;
    orderstableTermsVar: TSctDBVar;
    orderstablePaymentMethodVar: TSctDBVar;
    orderstableItemsTotalVar: TSctDBVar;
    orderstableTaxRateVar: TSctDBVar;
    orderstableFreightVar: TSctDBVar;
    orderstableAmountPaidVar: TSctDBVar;
    Data: TSctSubDataBand;
    DataLevel: TSctLevel;
    DataHeader: TSctDataHeadBand;
    DataHeaderLevel: TSctLevel;
    varlabel4: TSctvarlabel;
    varlabel6: TSctvarlabel;
    varlabel7: TSctvarlabel;
    varlabel8: TSctvarlabel;
    varlabel9: TSctvarlabel;
    varlabel10: TSctvarlabel;
    varlabel11: TSctvarlabel;
    varlabel12: TSctvarlabel;
    varlabel14: TSctvarlabel;
    varlabel15: TSctvarlabel;
    SctLine1: TSctLine;
    TotalOfAmountPaid: TSctTotalvar;
    DataFooter: TSctDataFootBand;
    DataFooterLevel: TSctLevel;
    varlabel16: TSctvarlabel;
    TotalvarLabel: TSctTotalvarLabel;
    SctShape1: TSctShape;
    Print: TButton;
    Preview: TButton;
    procedure PrintClick(Sender: TObject);
    procedure PreviewClick(Sender: TObject);
  private
    { Private declarations }
    procedure AddReport(Merge: TAceMerge; Report: TSctReport);
  public
    { Public declarations }
  end;

var
  MergeForm: TMergeForm;

implementation

{$R *.DFM}

uses psetup, AceUtil, AceFile, AceView, AcePrev;


procedure TMergeForm.AddReport(Merge: TAceMerge; Report: TSctReport);
begin
  Report.Page.PageSetup.Destination := destFile;
  Report.Page.AceFileName := AceGetTempFile('Ace');
  Report.Prompt := False;
  Report.Run;
  Merge.LoadFromFile(Report.Page.AceFileName);
  DeleteFile(Report.Page.AceFileName);
end;

procedure TMergeForm.PrintClick(Sender: TObject);
var
  Merge: TAceMerge;
  AceFile: TAceAceFile;
  Stream: TMemoryStream;
  AcePrinter: TAcePrinter;
begin
  Merge := TAceMerge.Create;
  AddReport(Merge, BiolifeReport);
  AddReport(Merge, OrdersReport);
  AceFile := TAceAceFile.Create;
  AcePrinter := TAcePrinter.Create;
  Stream := TMemoryStream.Create;
  Merge.SaveToStream(Stream);
  Stream.Position := 0;
  AceFile.LoadFromStream(Stream);
  AcePrinter.LoadPages(AceFile, 1, AceFile.Pages.Count);
  Stream.Free;
  AcePrinter.Free;
  AceFile.Free;
  Merge.Free;
end;

procedure TMergeForm.PreviewClick(Sender: TObject);
var
  Merge: TAceMerge;
  AceFile: TAceAceFile;
  Stream: TMemoryStream;
begin
  Merge := TAceMerge.Create;
  AddReport(Merge, BiolifeReport);
  AddReport(Merge, OrdersReport);
  AceFile := TAceAceFile.Create;
  Stream := TMemoryStream.Create;
  Merge.SaveToStream(Stream);
  Stream.Position := 0;
  AceFile.LoadFromStream(Stream);
  Stream.Free;
  with TAceViewer.Create(Application) do
  begin
    WindowState := wsMaximized;
    SetZoom( az100 );
    SetAceFile(AceFile);
    UpdatePage;
    Show;
  end;
  Merge.Free;
end;

end.

⌨️ 快捷键说明

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