📄 employee.~pas
字号:
unit employee;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids,
DB, ADODB;
type
Tfrmemployee = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Panel1: TPanel;
Label15: TLabel;
edid: TEdit;
edname: TEdit;
cmbsex: TComboBox;
cmbjg: TComboBox;
cmbmz: TComboBox;
cmbhf: TComboBox;
edposition: TEdit;
cmbworkkind: TComboBox;
edbirthday: TEdit;
DateTimePicker1: TDateTimePicker;
edbm: TComboBox;
edrcrq: TEdit;
DateTimePicker2: TDateTimePicker;
ToolBar1: TToolBar;
btnadd: TBitBtn;
btnmodify: TBitBtn;
btndel: TBitBtn;
btnfind: TBitBtn;
btnrefresh: TBitBtn;
btncancel: TBitBtn;
GroupBox2: TGroupBox;
StatusBar1: TStatusBar;
dbgdshow: TDBGrid;
ygphoto: TImage;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
Label16: TLabel;
cmbeducation: TComboBox;
edphone: TEdit;
edjy: TEdit;
procedure btncancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure edphoneKeyPress(Sender: TObject; var Key: Char);
procedure btnaddClick(Sender: TObject);
procedure btnrefreshClick(Sender: TObject);
procedure btnfindClick(Sender: TObject);
procedure btnmodifyClick(Sender: TObject);
procedure btndelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmemployee: Tfrmemployee;
implementation
uses datarsgl, find, updaters;
{$R *.dfm}
procedure Tfrmemployee.btncancelClick(Sender: TObject);
begin
close; //退出当前操作
end;
procedure Tfrmemployee.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree; //关闭当前子窗口
end;
procedure Tfrmemployee.FormShow(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Add('select * from employeer');
active:=true;
if RecordCount=0 then
begin
showmessage('对不起,您的人事库存在0条记录。请增加人事资料记录!');
edid.SetFocus;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end
else
dbgdshow.DataSource:=datasource1;
dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end;
end;
procedure Tfrmemployee.DateTimePicker1CloseUp(Sender: TObject);
begin
edbirthday.Text:=formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime);
end;
procedure Tfrmemployee.DateTimePicker2CloseUp(Sender: TObject);
begin
edrcrq.Text:=formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime);
end;
procedure Tfrmemployee.edphoneKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9',#8]) then
showmessage('请输入正确的数据,本项只能输入数字.');
edphone.Clear;
edphone.setfocus;
end;
procedure Tfrmemployee.FormCreate(Sender: TObject);
begin
cmbsex.Items.Add('男');
cmbsex.Items.Add('女');
cmbhf.Items.Add('是');
cmbhf.Items.Add('否');
cmbeducation.Items.Add('博士');
cmbeducation.Items.Add('硕士');
cmbeducation.Items.Add('本科');
cmbeducation.Items.Add('大专');
cmbeducation.Items.Add('中专');
cmbeducation.Items.Add('高中');
cmbeducation.Items.Add('初中');
cmbeducation.Items.Add('小学');
end;
procedure Tfrmemployee.btnaddClick(Sender: TObject);
begin
if edid.Text='' then
begin
showmessage('员工编号不可以为空');
edid.SetFocus;
end
else
begin
dmrsgl.ygjbzlqry.Close;
dmrsgl.ygjbzlqry.SQL.Clear;
dmrsgl.ygjbzlqry.SQL.Add('select number from employeer where number='+quotedstr(edid.Text));
dmrsgl.ygjbzlqry.Open;
if dmrsgl.ygjbzlqry.RecordCount<>0 then
begin
showmessage('由于人事档案库中已存在相同编号的记录,系统不允许添加.');
edid.Text:='';
edid.SetFocus;
exit;
end
else
begin
if edname.Text='' then
begin
showmessage('员工姓名不能为空');
edname.SetFocus;
end
else
begin
if cmbsex.Text='' then
begin
showmessage('员工性别不能为空');
cmbsex.SetFocus;
end
else
begin
if cmbjg.Text='' then
begin
showmessage('员工籍贯不能为空');
cmbjg.SetFocus;
end
else
begin
if cmbmz.Text='' then
begin
showmessage('员工所在部门不能为空');
cmbmz.SetFocus;
end
else
begin
if cmbhf.Text='' then
begin
showmessage('员工是否已婚不能为空');
cmbhf.SetFocus;
end
else
begin
if cmbeducation.Text='' then
begin
showmessage('员工现有学历程度不能为空');
cmbeducation.SetFocus;
end
else
begin
if edposition.Text='' then
begin
showmessage('员工现任职务不能为空');
edposition.SetFocus;
end
else
begin
if cmbworkkind.Text='' then
begin
showmessage('员工所做工种不能为空');
cmbworkkind.SetFocus;
end
else
begin
if edbirthday.Text='' then
begin
showmessage('员工出生日期不能为空');
edbirthday.SetFocus;
end
else
begin
if edbm.Text='' then
begin
showmessage('员工所在部门不能为空');
edbm.SetFocus;
end
else
begin
if (edphone.Text='') or (length(edphone.Text)<7) or (length(edphone.Text)>13) then
begin
showmessage('员工联系电话输入内容不符合标准,请重输.');
edphone.Text:='';
edphone.SetFocus;
end
else
begin
if (edrcrq.Text='') or ((edrcrq.Text)<(edbirthday.Text)) then
begin
showmessage('输入员工入厂日期不符合系统要求, 请重输.');
edrcrq.SetFocus;
end
else
begin
if edjy.Text='' then
begin
showmessage('员工工作经历如没有请录入为0'+#13+'其他请如实填写');
edjy.SetFocus;
end
else
begin
with dmrsgl.ygjbzlqry do
begin
close;
sql.Clear;
sql.Add('select * from employeer');
open;
append;
fieldbyname('number').AsString:=trim(edid.Text);
fieldbyname('name').AsString:=trim(edname.Text);
fieldbyname('sex').AsString:=trim(cmbsex.Text);
fieldbyname('comefrom').AsString:=trim(cmbjg.Text);
fieldbyname('birthday').AsDateTime:=strtodatetime(trim(edbirthday.Text));
fieldbyname('ygmz').AsString:=trim(cmbmz.Text);
fieldbyname('education').AsString:=trim(cmbeducation.Text);
fieldbyname('phone').AsString:=trim(edphone.Text);
fieldbyname('isjh').AsString:=trim(cmbhf.Text);
fieldbyname('worksort').AsString:=trim(cmbworkkind.Text);
fieldbyname('position').AsString:=trim(edposition.Text);
fieldbyname('ygbm').AsString:=trim(edbm.Text);
fieldbyname('rcrq').AsDateTime:=strtodatetime(trim(edrcrq.Text));
fieldbyname('ygjy').AsString:=trim(edjy.Text);
if messagedlg('请确认输入的数据无误,然后写入系统!',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
post;
edid.Text:='';
edname.Text:='';
cmbsex.Text:='';
cmbjg.Text:='';
edbirthday.Text:='';
cmbmz.Text:='';
cmbeducation.Text:='';
edphone.Text:='';
cmbhf.Text:='';
cmbworkkind.Text:='';
edposition.Text:='';
edbm.Text:='';
edrcrq.Text:='';
edjy.Text:='';
end
else
cancel;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
procedure Tfrmemployee.btnrefreshClick(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Add('select * from employeer');
active:=true;
if RecordCount=0 then
begin
showmessage('对不起,您的人事库存在0条记录。请增加人事资料记录!');
edid.SetFocus;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end
else
dbgdshow.DataSource:=datasource1;
dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
edid.SetFocus;
end;
end;
procedure Tfrmemployee.btnfindClick(Sender: TObject);
begin
application.CreateForm(tfrmfind,frmfind);
frmfind.Show;
end;
procedure Tfrmemployee.btnmodifyClick(Sender: TObject);
begin
application.CreateForm(tfrmupdaters,frmupdaters);
frmupdaters.Show;
end;
procedure Tfrmemployee.btndelClick(Sender: TObject);
begin
application.CreateForm(tfrmupdaters,frmupdaters);
frmupdaters.Show;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -