product.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 379 行
PAS
379 行
unit product;
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
TFormproduct = class(TForm)
Panel1: TPanel;
Label2: TLabel;
DBGrid1: TDBGrid;
Label1: TLabel;
Edit1: TEdit;
ImageList2: TImageList;
ToolBar2: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton6: TToolButton;
tbnsort: TToolButton;
tbnfind: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
DBNav: TDBNavigator;
Panel2: TPanel;
Splitter1: TSplitter;
Label3: TLabel;
DBEdit1: TDBEdit;
Label4: TLabel;
DBEdit2: TDBEdit;
Label5: TLabel;
DBEdit3: TDBEdit;
Label6: TLabel;
DBEdit4: TDBEdit;
Label7: TLabel;
DBEdit5: TDBEdit;
Label8: TLabel;
DBEdit6: TDBEdit;
Label9: TLabel;
DBEdit7: TDBEdit;
Label10: TLabel;
DBEdit8: TDBEdit;
Label11: TLabel;
DBEdit9: TDBEdit;
DateTimePicker1: TDateTimePicker;
Label12: TLabel;
Edit2: TEdit;
MaskEdit1: TMaskEdit;
DateTimePicker2: TDateTimePicker;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
ToolButton1: TToolButton;
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;
ppBDEPipeline1: TppBDEPipeline;
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton8Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure tbnfindClick(Sender: TObject);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure formkeyup(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolButton7Click(Sender: TObject);
procedure ppReport2PreviewFormCreate(Sender: TObject);
procedure ppReport2BeforePrint(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
Formproduct: TFormproduct;
implementation
uses datamol,main,publicfunction, insdefine, canfind;
{$R *.DFM}
procedure TFormproduct.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TFormproduct.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamod.adoproduct.close;
formproduct:=nil;
action:=cafree;
end;
procedure TFormproduct.ToolButton8Click(Sender: TObject);
begin
close;
end;
procedure TFormproduct.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 TFormproduct.DateTimePicker1CloseUp(Sender: TObject);
begin
dbedit5.text:=datetostr(datetimepicker1.date); //单击datetimepicker时, dbeidt9中显示,dbedit10年龄自动显示
end;
procedure TFormproduct.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.adoproduct.Sort :=column.FieldName+' '+f;
end;
procedure TFormproduct.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
findrecorder(datamod.adoproduct,'Adoproduct','sal13010'); //调用publicfuction中的查询功能
end;
procedure TFormproduct.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 TFormproduct.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 TFormproduct.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 TFormproduct.N4Click(Sender: TObject);
var i:1..5;
begin
datamod.ADOproduct.Sort:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
datamod.ADOproduct.Sort :=datamod.ADOproduct.Sort+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then datamod.ADOproduct.Sort:=datamod.ADOproduct.Sort+',';
end;
end;
end;
procedure TFormproduct.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure TFormproduct.DateTimePicker2CloseUp(Sender: TObject);
begin
maskedit1.Text :=datetostr(datetimepicker2.date);
end;
procedure TFormproduct.ToolButton1Click(Sender: TObject);
begin
if not assigned(forminsdefine) then
forminsdefine:=TForminsdefine.create(self);
forminsdefine.groupbox2.visible:=true;
forminsdefine.groupbox1.visible:=false;
whichform:='product';
forminsdefine.GroupBox2.Caption:='生产奖金定义';
forminsdefine.Label11.caption:='生产奖金';
forminsdefine.Caption:='薪资结算-多人新增生产奖金';
forminsdefine.GroupBox3.Caption:='年节奖金发放人员列表';
forminsdefine.show;
end;
procedure TFormproduct.FormActivate(Sender: TObject);
begin
datamod.ADOproduct.close;
datamod.ADOproduct.open;
datetimepicker1.Date:=date;
datetimepicker2.Date:=date;
datamod.ADOproduct.Filtered :=false;
datamod.ADOproduct.filter :='rq='''+maskedit1.text+''' ';
datamod.ADOproduct.Filtered :=true;
end;
procedure TFormproduct.MaskEdit1Exit(Sender: TObject);
begin
if maskedit1.text<>' / / ' then
if (not isdate(maskedit1.Text)) then
Application.Messagebox('对不起,日期不是有效的,您不能进行查找','Warning',mb_ok+mb_iconwarning)
else begin
datamod.ADOproduct.Filtered :=false;
datamod.ADOproduct.filter :='rq='''+maskedit1.text+''' ';
datamod.ADOproduct.Filtered :=true;
end;
end;
procedure TFormproduct.FormCreate(Sender: TObject);
begin
datetimepicker2.Date :=date;
datetimepicker2.Date :=date;
maskedit1.Text:=datetostr(date);
end;
procedure TFormproduct.Edit1Exit(Sender: TObject);
begin
if trim(Edit1.text)<>'' then
Begin
datamod.ADOproduct.Filtered :=false;
datamod.ADOproduct.Filter :='workno='''+edit1.text+''' ';
datamod.adoproduct.Filtered :=true;
end;
end;
procedure TFormproduct.Edit2Exit(Sender: TObject);
begin
if trim(Edit2.text)<>'' then
begin
datamod.ADOproduct.Filtered :=false;
datamod.ADOproduct.Filter :='name='''+edit2.text+''' ';
datamod.adoproduct.Filtered :=true;
end;
end;
procedure TFormproduct.ToolButton3Click(Sender: TObject);
begin
datamod.ADOproduct.Filtered :=false;
datamod.ADOproduct.Filter :='';
datamod.ADOproduct.Filtered :=true;
maskedit1.Text:=' / / ';
end;
procedure TFormproduct.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_contents0033');
end;
end;
procedure TFormproduct.ToolButton7Click(Sender: TObject);
begin
ppreport2.DeviceType:='Screen';
ppreport2.print;
end;
procedure TFormproduct.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormproduct.ppReport2BeforePrint(Sender: TObject);
begin
pplabel1.caption:=companyname1;
pplabel4.caption:=maskedit1.text;
pplabel26.caption:='制表人:'+pubworkname;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?