empface.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 779 行 · 第 1/2 页
PAS
779 行
procedure Tformempface.qryempfaceBeforeDelete(DataSet: TDataSet);
begin
writerecorder(datamod.adoempface,true);
end;
procedure Tformempface.ScrollBox1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
accept:=true;
panel2.Top :=y;
panel2.Left :=x;
end;
procedure Tformempface.RxDBGrid1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
accept:=true;
panel2.Top :=y;
panel2.Left :=x;
end;
procedure Tformempface.Panel2DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
panel2.Top :=x;
panel2.Left :=y;
end;
procedure Tformempface.FormDockOver(Sender: TObject;
Source: TDragDockObject; X, Y: Integer; State: TDragState;
var Accept: Boolean);
begin
accept:=true;
panel2.Top :=y;
panel2.Left :=x;
end;
procedure Tformempface.qryempfaceBeforePost(DataSet: TDataSet);
begin
if datamod.adoempface.State=dsinsert then
begin
if datamod.adoempface.FieldByName('ifok').asstring='1' then
begin
datamod.adoempface.FieldByName('state1').asstring:='1';
datamod.adoempface.FieldByName('state2').asstring:='1';
end;
end;
end;
procedure Tformempface.SpeedButton1Click(Sender: TObject);
begin
panel2.Visible :=false;
datamod.qryexchange.close;
end;
procedure Tformempface.FormActivate(Sender: TObject);
var mytextfile:Textfile;
myfile,s:string;
i:integer;
begin
getdbgridwidth(dbgrid1,'p'+'empface');
//把合格的资料写走(周期)
datamod.ADOQuery1.sql.clear;
datamod.ADOQuery1.sql.add('select * from emp07010 where ifok=1 and state1=1 and state2=1 and cdate<='''+datetostr(date+7)+''' ');
datamod.ADOQuery1.open;
if not datamod.ADOQuery1.eof then
begin
myfile:=extractfilepath(application.ExeName)+'data\123.txt';
if not fileexists(myfile) then
begin
assignfile(mytextfile,myfile);
rewrite(mytextfile);
end
else
begin
assignfile(mytextfile,myfile);
append(mytextfile);
end;
while not datamod.ADOQuery1.eof do
begin
//把合格的资料写走
s:='';
for i:=0 to datamod.ADOQuery1.fields.Count-1 do
s:=s+datamod.ADOQuery1.fields[i].AsString+'/~';
writeln(mytextfile,s);
datamod.adoquery1.next;
end;
closefile(mytextfile);
end;
datamod.ADOQuery1.close;
datamod.ADOQuery1.sql.Clear;
datamod.ADOQuery1.sql.add('delete emp07010 where ifok=1 and state1=1 and state2=1 and cdate<='''+datetostr(date+7)+''' ');
datamod.ADOQuery1.execsql;
datamod.ADOQuery1.close;
dbprovince.clear; //籍贯
dbdegree.clear; //学历
dbcombobox2.clear; //科系
dbcombobox4.clear; //职务
dbcombobox6.clear; //职务
dbcombobox8.clear; //职务
dbcombobox5.clear; //部门
dbcombobox7.clear; //应聘来源
with datamod.ADOQuery1 do
begin
sql.Text :='select * from per03010';
open;
while not eof do
begin
dbprovince.Items.Add(fieldbyname('provname').asstring); //籍贯
next;
end;
close;
sql.text:='select * from per04010';
open;
while not eof do
begin
dbdegree.Items.Add(fieldbyname('degreename').asstring); //学历
next;
end;
close;
sql.Text :='select * from per05010';
open;
while not eof do
begin
dbcombobox2.Items.Add (fieldbyname('coursename').asstring);//科系
next;
end;
close;
sql.Text :='select * from per01010'; //职务
open;
while not eof do
begin
dbcombobox4.Items.Add (fieldbyname('profname').asstring);
dbcombobox6.Items.Add (fieldbyname('profname').asstring);
dbcombobox8.Items.Add (fieldbyname('profname').asstring);
next;
end;
close;
sql.text:='select dno from pub05010';
open;
while not eof do
begin
dbcombobox5.Items.Add (fieldbyname('dno').asstring); //部门编号
next;
end;
close;
sql.text:='select source from emp02010';
open;
while not eof do
begin
dbcombobox7.Items.Add (fieldbyname('source').asstring); //部门编号
next;
end;
close;
end;
end;
procedure Tformempface.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 Tformempface.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 Tformempface.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 Tformempface.N4Click(Sender: TObject);
var i:1..5;
sortexp:string;
begin
sortexp:='';
for i:=1 to fcount do
begin
if dbgrid1.Columns[findex[i]].Color=clgray then
begin
sortexp :=sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then sortexp:=sortexp+',';
end;
end;
if sortexp<>'' then datamod.ADOempface.Sort :=sortexp;
end;
procedure Tformempface.N3Click(Sender: TObject);
var i:1..5;
begin
for i:=1 to fcount do
dbgrid1.Columns[findex[i]].Color :=clwindow;
fcount:=0;
end;
procedure Tformempface.DBGrid1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
accept:=true;
panel2.Top :=y;
panel2.Left :=x;
end;
procedure Tformempface.DBGrid1TitleClick(Column: TColumn);
begin
if not manyfield then
begin
if f='DESC' then
f:='ASC'
else
f:='DESC';
datamod.ADOempface.Sort :=column.FieldName+' '+f;
end;
end;
procedure Tformempface.tbnfindClick(Sender: TObject);
begin
findrecorder(datamod.adoempface,'Adoempface','emp07010'); //调用publicfuction中的查询功能
end;
procedure Tformempface.DBComboBox3Exit(Sender: TObject);
begin
if dbcombobox3.items.indexof(dbcombobox3.text)=-1 then
Application.messagebox('对不起,您输入的值不在列表中','提示',mb_ok+mb_iconinformation);
end;
procedure Tformempface.DBComboBox5DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (control as Tdbcombobox).canvas do
begin
fillrect(rect);
textout(rect.left,rect.top,(Control as TdbComboBox).Items[Index]);
edit1.text:=showcombox(index,dbcombobox5.Items[index]);
end;
end;
procedure Tformempface.DBComboBox5DropDown(Sender: TObject);
begin
dbcombobox5.Style :=csOwnerDrawVariable;
edit1.Visible :=true;
end;
procedure Tformempface.DBComboBox9Exit(Sender: TObject);
begin
if (trim(dbcombobox9.Text)<>dbcombobox9.Items[0]) and (trim(dbcombobox9.Text)<>dbcombobox9.Items[1]) then
begin
Application.messagebox('请输入正确的性别/男/女','提示',mb_ok+mb_iconinformation);
dbcombobox9.setfocus;
end;
end;
procedure Tformempface.FormKeyPress(Sender: TObject; var Key: Char);
begin
if activecontrol=dbgrid1 then
exit;
if key=#13 then
begin
key:=#0;
if activecontrol=dbmemo4 then
begin
if datamod.adoempface.state=dsinsert then
begin
datamod.adoempface.post;
datamod.adoempface.append;
end;
dbedit2.setfocus;
end
else
selectnext(activecontrol,true,true);
end;
end;
procedure Tformempface.DBComboBox5Exit(Sender: TObject);
var aqy:Tadoquery;
begin
dbcombobox5.Style :=csdropdown;
edit1.Text :='';
edit1.Visible :=false;
if length(trim(dbcombobox5.text))<1 then
exit;
aqy:=Tadoquery.create(self); //判断部门编号输入的是否正确
aqy.connection:=datamod.database1;
aqy.sql.Clear;
aqy.sql.Add('select * from pub05010 where dno='''+dbcombobox5.text+'''');
aqy.open;
if not aqy.eof then
begin
datamod.adoempface.fieldbyname('reqdept').asstring :=aqy.fieldbyname('dno').asstring;
edit1.Text :=aqy.fieldbyname('dno').asstring;
end;
aqy.close;
aqy.free;
end;
procedure Tformempface.DBComboBox5Enter(Sender: TObject);
begin
edit1.text:='';
edit1.Visible :=true;
end;
procedure Tformempface.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0048');
end;
end;
procedure Tformempface.ppReport1BeforePrint(Sender: TObject);
begin
pplabel57.caption:=companyname1;
pplabel55.caption:='制表人:'+pubworkname;
end;
procedure Tformempface.TbPRINTClick(Sender: TObject);
begin
ppreport1.devicetype:='Screen';
ppreport1.print;
end;
procedure Tformempface.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure Tformempface.DateTimePicker2Change(Sender: TObject);
begin
datamod.adoempfacebirthday.Asstring:=datetostr(datetimepicker2.date);
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?