📄 custprev.pas
字号:
unit Custprev;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, DBTables, DB, Grids, DBGrids, StdCtrls, Buttons, Sctbtn,
Aceprev, ExtCtrls, sctctrl, Sctvar, Sctrep, AcePage;
type
TCustomPreview = class(TForm)
Panel1: TPanel;
MyPreview: TAcePreview;
Panel2: TPanel;
SctReportButton1: TSctReportButton;
VendorsSource: TDataSource;
Vendors: TTable;
Parts: TTable;
PartsSource: TDataSource;
DBGrid1: TDBGrid;
VendorsVendorNo: TFloatField;
VendorsVendorName: TStringField;
VendorsAddress1: TStringField;
VendorsAddress2: TStringField;
VendorsCity: TStringField;
VendorsState: TStringField;
VendorsZip: TStringField;
VendorsCountry: TStringField;
VendorsPhone: TStringField;
VendorsFAX: TStringField;
VendorsPreferred: TBooleanField;
DBGrid2: TDBGrid;
PartsPartNo: TFloatField;
PartsVendorNo: TFloatField;
PartsDescription: TStringField;
PartsOnHand: TFloatField;
PartsOnOrder: TFloatField;
PartsCost: TCurrencyField;
PartsListPrice: TCurrencyField;
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;
vendorsVENDORNO1: TSctdbvar;
vendorsVENDORNAME1: TSctdbvar;
vendorsADDRESS11: TSctdbvar;
vendorsADDRESS21: TSctdbvar;
vendorsCITY1: TSctdbvar;
vendorsSTATE1: TSctdbvar;
vendorsZIP1: TSctdbvar;
vendorsCOUNTRY1: TSctdbvar;
vendorsPHONE1: TSctdbvar;
vendorsFAX1: TSctdbvar;
vendorsPREFERRED1: TSctdbvar;
partsPARTNO1: TSctdbvar;
partsVENDORNO1: TSctdbvar;
partsDESCRIPTION1: TSctdbvar;
partsONHAND1: TSctdbvar;
partsONORDER1: TSctdbvar;
partsCOST1: TSctdbvar;
partsLISTPRICE1: TSctdbvar;
TSctTextLabel: TSctTextLabel;
TSctTextLabel1: TSctTextLabel;
TSctTextLabel2: TSctTextLabel;
TSctTextLabel3: TSctTextLabel;
TSctTextLabel4: TSctTextLabel;
TSctTextLabel5: TSctTextLabel;
SctReportButton2: TSctReportButton;
SubDataDetailBand: TSctSubDataBand;
SubDataDetailBandlevel: TSctLevel;
TSctvarlabel: TSctvarlabel;
TSctvarlabel1: TSctvarlabel;
TSctvarlabel2: TSctvarlabel;
TSctvarlabel3: TSctvarlabel;
TSctvarlabel5: TSctvarlabel;
TSctvarlabel4: TSctvarlabel;
TSctvarlabel6: TSctvarlabel;
TSctTextLabel6: TSctTextLabel;
Button1: TButton;
Button2: TButton;
PageNum: TLabel;
ScrollCheckBox: TCheckBox;
procedure ReportPagePreview(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SctReport1BeforePrint(report: TSctReport);
procedure SctReport1AfterPrint(report: TSctReport);
procedure ReportPageAfterDataSkip(page: TSctGrouppage);
procedure ReportPageUpdateStatus(Page: TSctPage; Stat: TSctStatus);
private
{ Private declarations }
ShowScrolling: Boolean;
public
{ Public declarations }
First: Boolean;
end;
var
CustomPreview: TCustomPreview;
implementation
uses aceout;
{$R *.DFM}
procedure TCustomPreview.ReportPagePreview(Sender: TObject);
var
pg: TSctPage;
begin
pg := TSctPage(Sender);
MyPreview.LoadFromAceFile(pg.PrintTo.AceFile);
First := True;
end;
procedure TCustomPreview.Button1Click(Sender: TObject);
begin
mypreview.NextPage;
PageNum.Caption := 'Page: ' + IntToStr(MyPreview.page) + '/' + IntToStr(MyPreview.PageCount);
end;
procedure TCustomPreview.Button2Click(Sender: TObject);
begin
mypreview.priorpage;
PageNum.Caption := 'Page: ' + IntToStr(MyPreview.page) + '/' + IntToStr(MyPreview.PageCount);
end;
procedure TCustomPreview.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TCustomPreview.SctReport1BeforePrint(report: TSctReport);
begin
ShowScrolling := ScrollCheckBox.Checked;
if Not ShowScrolling then
begin
Parts.DisableControls;
Vendors.DisableControls;
end;
end;
procedure TCustomPreview.SctReport1AfterPrint(report: TSctReport);
begin
if Not ShowScrolling then
begin
Vendors.EnableControls;
Parts.EnableControls;
end;
end;
procedure TCustomPreview.ReportPageAfterDataSkip(page: TSctGrouppage);
var
VendorNum: String;
begin
VendorNum := Vendors.FieldByName('VendorNo').AsString;
Parts.SetRange([VendorNum],[VendorNum]);
end;
procedure TCustomPreview.ReportPageUpdateStatus(Page: TSctPage;
Stat: TSctStatus);
begin
if First And ((MyPreview.Pagecount = 2) or (myPreview.LoadPercent = 100)) then
begin
MyPreview.Invalidate;
First := False;
end;
PageNum.Caption := 'Page: ' + IntToStr(MyPreview.page) + '/' + IntToStr(MyPreview.PageCount);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -