📄 baseprint.pas
字号:
unit BasePrint;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MDIBase, Grids, DBGridEh, Buttons, StdCtrls, ExtCtrls, ActnList,
ImgList, wwdbdatetimepicker, DB, DBClient, Menus, FR_Desgn, FR_DSet,
FR_DBSet, FR_Class, Base;
type
TfrmBasePrint = class(TfrmMDIbase)
paneltop: TPanel;
formTitle: TLabel;
SpeedButton1: TSpeedButton;
spbtnprint: TSpeedButton;
Grid: TDBGridEh;
ActionList1: TActionList;
ToolButtonImages: TImageList;
acsearch: TAction;
acprint: TAction;
Label1: TLabel;
sdate: TwwDBDateTimePicker;
Label2: TLabel;
edate: TwwDBDateTimePicker;
CDSbaseinfo: TClientDataSet;
dsBaseinfo: TDataSource;
SpeedButton2: TSpeedButton;
acclear: TAction;
frBaseinfo: TfrReport;
frDBDSBaseinfo: TfrDBDataSet;
popupprint: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
ActionListprint: TActionList;
p01: TAction;
p02: TAction;
p03: TAction;
p04: TAction;
p05: TAction;
Label3: TLabel;
Edit1: TEdit;
Label4: TLabel;
procedure GridGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure acclearExecute(Sender: TObject);
procedure acsearchExecute(Sender: TObject);
procedure p01Execute(Sender: TObject);
procedure p02Execute(Sender: TObject);
procedure p03Execute(Sender: TObject);
procedure p04Execute(Sender: TObject);
procedure acprintExecute(Sender: TObject);
private
{ Private declarations }
protected
Mainview:string;
Keyfield:string;
frName:string;
public
{ Public declarations }
end;
var
frmBasePrint: TfrmBasePrint;
implementation
uses Global, common;
{$R *.dfm}
procedure TfrmBasePrint.GridGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if Grid.SumList.RecNo mod 2=1 then
BackGround:=$00EAEFED
else
BackGround:=clWhite;
end;
procedure TfrmBasePrint.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=caFree;
end;
procedure TfrmBasePrint.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
Grid.SumList.Active:=False;
end;
procedure TfrmBasePrint.acclearExecute(Sender: TObject);
begin
inherited;
Sdate.Text:='';
Edate.Text:='';
Edit1.Text:='';
end;
procedure TfrmBasePrint.acsearchExecute(Sender: TObject);
var
ST:string;
begin
inherited;
ST:='';
if (SDate.Text <> '') and (Edate.Text = '') then
Sdate.Text:='';
if (SDate.Text = '') and (Edate.Text <> '') then
Edate.Text:='';
if (Sdate.Text<>'') and (Edate.Text<>'') then
ST:=' fDelivDate >= '+vartosql(Sdate.Text)+' and fDelivDate <= '+Vartosql(Edate.Text)
else
ST:='';
if (Edit1.Text<>'') then
if ST='' then
ST:=' fcode like '+Vartosql('%'+Trim(Edit1.Text)+'%')
else
ST:=ST+' And '+' fcode like '+Vartosql('%'+Trim(Edit1.Text)+'%');
Try
GetsqlData(CDSbaseinfo,Mainview,keyField,ST,20);
Except
On E:Exception do
begin
MessageDlg('条件或是程序发生错误 ! '+#13#10+E.Message,mtError,[mbOk],0);
Exit;
end;
end;
end;
procedure TfrmBasePrint.p01Execute(Sender: TObject);
begin
inherited;
CDSbaseinfo.DisableControls;
FrBaseinfo.LoadFromFile(frName);
FrBaseinfo.ShowReport;
CDSBaseinfo.EnableControls;
end;
procedure TfrmBasePrint.p02Execute(Sender: TObject);
begin
inherited;
CDSBaseinfo.DisableControls;
frBaseinfo.LoadFromFile(frName);
frBaseinfo.PrepareReport;
frBaseinfo.PrintPreparedReport('',1,True,frAll);
CDSBaseinfo.EnableControls;
end;
procedure TfrmBasePrint.p03Execute(Sender: TObject);
begin
inherited;
CDSbaseinfo.DisableControls;
frBaseinfo.LoadFromFile(frName);
frBaseinfo.PrepareReport;
frBaseinfo.PrintPreparedReportDlg;
CDSbaseinfo.EnableControls;
end;
procedure TfrmBasePrint.p04Execute(Sender: TObject);
begin
inherited;
CDSbaseinfo.DisableControls;
frBaseinfo.LoadFromFile(frName);
frBaseinfo.DesignReport;
CDSBaseinfo.EnableControls;
end;
procedure TfrmBasePrint.acprintExecute(Sender: TObject);
var
point:Tpoint;
begin
inherited;
Point:=GetScreenPoint(spbtnprint);
popupprint.Popup(point.X,point.Y);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -