zeromoney.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 334 行
PAS
334 行
unit zeromoney;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Gauges, ImgList, Menus, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls,
ComCtrls, ToolWin, Buttons, Mask, ppDB, ppDBPipe, ppDBBDE, ppCtrls,
ppBands, ppVar, ppPrnabl, ppClass, ppCache, ppComm, ppRelatv, ppProd,
ppReport;
type
TFormzeromoney = class(TForm)
Panel1: TPanel;
Label2: TLabel;
DBGrid1: TDBGrid;
Label1: TLabel;
Edit1: TEdit;
ToolBar2: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton6: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
Label12: TLabel;
Edit2: TEdit;
MaskEdit1: TMaskEdit;
ImageList1: TImageList;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
DBNavigator1: TDBNavigator;
ppBDEPipeline1: TppBDEPipeline;
ppBDEPipeline1ppField1: TppField;
ppBDEPipeline1ppField2: TppField;
ppBDEPipeline1ppField3: TppField;
ppBDEPipeline1ppField4: TppField;
ppBDEPipeline1ppField5: TppField;
ppBDEPipeline1ppField6: TppField;
ppBDEPipeline1ppField7: TppField;
ppReport2: TppReport;
ppHeaderBand2: TppHeaderBand;
ppLabel13: TppLabel;
ppLabel14: TppLabel;
ppLabel15: TppLabel;
ppLabel16: TppLabel;
ppLabel17: TppLabel;
ppLabel18: TppLabel;
ppLabel20: TppLabel;
ppLine3: TppLine;
ppLabel1: TppLabel;
ppLabel24: TppLabel;
ppLabel25: TppLabel;
ppSystemVariable1: TppSystemVariable;
ppLabel26: TppLabel;
ppLabel35: TppLabel;
ppSystemVariable4: TppSystemVariable;
ppLabel2: TppLabel;
ppLabel4: TppLabel;
ppDetailBand2: TppDetailBand;
ppDBText8: TppDBText;
ppDBText9: TppDBText;
ppDBText10: TppDBText;
ppDBText12: TppDBText;
ppDBText13: TppDBText;
ppDBText14: TppDBText;
ppLine4: TppLine;
ppDBText1: TppDBText;
ppSummaryBand1: TppSummaryBand;
ppLabel27: TppLabel;
ppDBCalc7: TppDBCalc;
ppLabel3: TppLabel;
ppDBCalc1: TppDBCalc;
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure tbnfindClick(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolButton7Click(Sender: TObject);
procedure ppReport2BeforePrint(Sender: TObject);
procedure ppReport2PreviewFormCreate(Sender: TObject);
private
{ Private declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
f:string;
public
{ Public declarations }
end;
var
Formzeromoney: TFormzeromoney;
implementation
uses datamol,main,publicfunction, canfind;
{$R *.DFM}
procedure TFormzeromoney.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TFormzeromoney.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
formzeromoney:=nil;
end;
procedure TFormzeromoney.FormCreate(Sender: TObject);
begin
datamod.ADOsmoney.Open;
maskedit1.Text:=datetostr(date);
datamod.adosmoney.filtered:=true;
datamod.adosmoney.filter:='rq='''+maskedit1.text+''' ';
datamod.adosmoney.filtered:=true;
end;
procedure TFormzeromoney.ToolButton8Click(Sender: TObject);
begin
close;
end;
procedure TFormzeromoney.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then
exit;
if key=#13 then //窗体内的回车键的控制
begin
key:=#0;
perform(cm_dialogkey,vk_tab,0);
end;
end;
procedure TFormzeromoney.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
findrecorder(datamod.adosmoney,'Adosmoney','sal14010'); //调用publicfuction中的查询功能
end;
procedure TFormzeromoney.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOsmoney.Sort :=column.FieldName+' '+f;
end;
procedure TFormzeromoney.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormzeromoney.N1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='ASC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormzeromoney.N2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to fcount do
if dbgrid1.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid1.selectedindex;
fsort[fcount]:='DESC';
dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
end;
end;
procedure TFormzeromoney.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOsmoney.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOsmoney.Sort :=datamod.ADOsmoney.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOsmoney.Sort:=datamod.ADOsmoney.Sort+',';
end;
end;
end;
procedure TFormzeromoney.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormzeromoney.MaskEdit1Exit(Sender: TObject);
begin
if maskedit1.Text <>' / ' then
with datamod do
begin
adosmoney.filtered:=true;
adosmoney.filter:='rq='''+maskedit1.text+''' ';
adosmoney.filtered:=true;
end;
end;
procedure TFormzeromoney.ToolButton6Click(Sender: TObject);
begin
with datamod do
begin
adosmoney.close;
adosmoney.filter:='';
adosmoney.filtered:=false;
adosmoney.open;
maskedit1.Text:=' / / ';
end;
end;
procedure TFormzeromoney.Edit1Exit(Sender: TObject);
begin
if trim(edit1.text)<>'' then
begin
datamod.ADOsmoney.Filtered :=false;
datamod.Adosmoney.Filter :='workno='''+edit1.text+''' ';
datamod.ADOsmoney.Filtered :=true;
end;
end;
procedure TFormzeromoney.Edit2Exit(Sender: TObject);
begin
if trim(edit2.text)<>'' then
begin
datamod.ADOsmoney.Filtered :=false;
datamod.Adosmoney.Filter :='name='''+edit2.text+''' ';
datamod.ADOsmoney.Filtered :=true;
end;
end;
procedure TFormzeromoney.formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then
begin
Application.helpfile :=extractfilepath(application.exename) +'help\pasahelp.hlp';
application.HelpJump('shm_contents0034');
end;
end;
procedure TFormzeromoney.ToolButton7Click(Sender: TObject);
begin
{ if not assigned(zeromoneyQRList) then
zeromoneyQRList:=tzeromoneyQRList.create(self);
zeromoneyQRList.quickrep1.preview;}
ppreport2.devicetype:='Screen';
ppreport2.print;
end;
procedure TFormzeromoney.ppReport2BeforePrint(Sender: TObject);
begin
pplabel1.caption:=companyname1;
pplabel26.caption:='制表人:'+pubworkname;
if maskedit1.text<>' / ' then
pplabel4.caption:='月份'+maskedit1.text
else
pplabel4.Visible:=false;
end;
procedure TFormzeromoney.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?