📄 acecomb.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 + -