📄 orderrpt.pas
字号:
unit OrderRpt;
interface
uses SysUtils, Windows, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls, patterns;
type
TOrdersByDateReport = class(TQuickRep)
TitleBand1: TQRBand;
QRLabel1: TQRLabel;
QRLabel2: TQRLabel;
QRLabel3: TQRLabel;
ColumnHeaderBand1: TQRBand;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
FromToHeading: TQRLabel;
DetailBand1: TQRBand;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText1: TQRDBText;
QRDBText6: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText2: TQRDBText;
private
public
end;
TControllerOrderReport = class(TController)
private
procedure PrintOrderReport(Preview: Boolean);
protected
procedure DoCommand(Command: string; const args: string=''); override;
end;
var
OrdersByDateReport: TOrdersByDateReport;
implementation
uses DataMod, QryCust, commandlist;
{$R *.DFM}
procedure TControllerOrderReport.DoCommand(Command: string; const args: string='');
begin
if command = CMD_RPT_ORDER then
begin
PrintOrderReport(lowercase(args) = 'preview');
end;
end;
procedure TControllerOrderReport.PrintOrderReport(Preview: Boolean);
const
FromToHeading = 'From ''%s'' To ''%s''';
begin
// Request the 'From' and 'To' dates from the user.
with TQueryCustDlg.Create(nil) do
begin
MsgLab.Caption := 'Print all orders ranging:';
if FromDate = 0 then FromDate := EncodeDate(95, 01, 01);
if ToDate = 0 then ToDate := Now;
if ShowModal = mrOk then
with TMastData.GetInstance.OrdersByDateQuery do
begin
Close;
PArams.ParamByName('FromDate').AsDate := FromDate;
PArams.ParamByName('ToDate').AsDate := ToDate;
Open;
// Format the From To header with the user's dates entered
OrdersByDateReport.FromToHeading.Caption :=
Format(FromToHeading, [DateToStr(FromDate), DateToStr(ToDate)]);
if Preview then
OrdersByDateReport.Preview
else
OrdersByDateReport.Print;
Close;
end;
free;
end;
end;
initialization
ControlCenter.RegController(TControllerOrderReport.Create);
OrdersByDateReport := TOrdersByDateReport.create(application);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -