📄 uemployee.pas
字号:
end;
end;
post;
close;
showmessage('添加成功!');
//更改系统表中的'最后员工编号'字段
with form_main.TabSystem do
begin
close;
open;
first;
update;
edit;
FieldValues['EndEmployee_id'] := strtoInt(edit1.Text);
post;
close;
end;
end;
except
showmessage('更改系统表中的"最后员工编号"字段失败,请检查数据库是否存在');
end;
end;
procedure TForm_Employee.UpDateEmployee;
var
str: TMemoryStream;
temp: string;
myjpeg: tjpegimage;
begin
temp := edit15.text;
try
with form_main.TabEmployee do
begin
close;
open;
First;
while not eof do
begin
if FieldValues['employee_id'] = edit1.Text then
begin
// showmessage('找到了。。');
Update;
form_main.TabEmployee.Edit;
FieldValues['employee_name'] := trim(edit2.Text);
FieldValues['employee_sex'] := trim(Csex.Text);
FieldValues['employee_FirstDept'] := trim(CEmployee_FirstDept.Text);
FieldValues['employee_SecondDept'] := trim(CEmployee_SecondDept.Text);
FieldValues['employee_folk'] := trim(CEmployee_folk.Text);
FieldValues['employee_birthday'] := Formatdatetime('yyyy-mm-dd', DateTime1.Date);
FieldValues['employee_IDcard'] := trim(edit3.Text);
FieldValues['employee_polity'] := trim(CEmployee_polity.Text);
FieldValues['employee_marriage'] := trim(CEmployee_marriage.Text);
FieldValues['employee_educate'] := trim(CEmployee_educate.Text);
FieldValues['employee_type'] := trim(CEmployee_type.Text);
FieldValues['employee_post'] := trim(CEmployee_post.Text);
FieldValues['employee_startworkdate'] := Formatdatetime('yyyy-mm-dd', DateTime2.Date);
FieldValues['employee_joindate'] := Formatdatetime('yyyy-mm-dd', DateTime3.date);
FieldValues['employee_duty'] := trim(CEmployee_duty.text);
FieldValues['employee_banktype'] := trim(CEmployee_banktype.text);
FieldValues['employee_banknumber'] := trim(edit4.text);
fieldValues['employee_paytype'] := trim(CEmployee_paytype.Text);
fieldValues['employee_endowment'] := trim(edit5.Text);
fieldValues['employee_medicare'] := trim(edit6.Text);
fieldValues['employee_bargain'] := trim(CEmployee_bargain.Text);
FieldValues['employee_bargainstart'] := Formatdatetime('yyyy-mm-dd', DateTime4.Date);
FieldValues['employee_bargainstop'] := Formatdatetime('yyyy-mm-dd', DateTime5.Date);
FieldValues['employee_tel'] := trim(edit7.Text);
FieldValues['employee_othertel'] := trim(edit8.Text);
FieldValues['employee_email'] := trim(edit9.Text);
FieldValues['employee_text'] := trim(edit10.Text);
FieldValues['employee_number'] := trim(edit11.Text);
FieldValues['employee_city'] := trim(CEmployee_city.Text);
FieldValues['employee_school'] := trim(CEmployee_school.Text);
FieldValues['employee_nowaddress'] := trim(edit12.Text);
FieldValues['employee_homepage'] := trim(edit13.Text);
FieldValues['employee_moblie'] := trim(edit14.Text);
FieldValues['employee_memo'] := trim(memo1.Text);
FieldValues['employee_phototype'] := trim(edit15.Text);
if temp <> 'NULL' then
begin
if temp = 'jpg' then
begin
str := tmemorystream.Create;
myjpeg := tjpegimage.Create;
myjpeg.Assign(image1.Picture.Graphic);
myjpeg.SaveToStream(str);
str.Position := 0;
tblobfield(form_main.TabEmployee.FieldByName('employee_photo')).LoadFromStream(str);
str.free;
post;
close;
showmessage('更新成功!');
exit;
end;
if temp = 'bmp' then
begin
str := tmemorystream.Create;
image1.Picture.Bitmap.SaveToStream(str);
str.Position := 0;
tblobfield(form_main.TabEmployee.FieldByName('employee_photo')).LoadFromStream(str);
str.free;
post;
close;
showmessage('更新成功!');
exit;
end;
end
else
begin
FieldByName('employee_photo').AsString := '';
post;
close;
showmessage('更新成功!');
exit;
end;
end;
next;
end;
end;
except
showmessage('更新不成功');
end;
end;
procedure TForm_Employee.addData(var setid: integer; setname: string);
begin
try
with Form_main.TabPrepset do
begin
close;
open;
insert;
FieldValues['set_id'] := setid;
FieldValues['set_name'] := setname;
post;
close;
end; // with
except
showmessage('增加预设项失败,请检查数据库是否存在');
end;
end;
function TForm_Employee.onTabprepset(var setid: integer; setname: string): integer;
begin
try
with Form_main.TabPrepset do
begin
close;
open;
first;
while not eof do
begin
if (fieldByName('set_id').AsInteger = setid)
and (fieldByName('set_name').AsString = setname) then
begin
Result := 1;
close;
exit;
end;
next;
end; // while
close;
Result := 0;
end; // with
except
beep;
showmessage('无法打开预设表,未完成是否存在重复项的检查');
end;
end;
procedure TForm_Employee.CEmployee_FirstDeptClick(Sender: TObject);
var deptname: string;
begin
deptname := CEmployee_FirstDept.Text;
if (deptname <> '') then
LoadSecondDept(deptname);
end;
procedure TForm_Employee.Button1Click(Sender: TObject);
var setid: integer;
setname: string;
begin
if (trim(edit2.Text) = '') or (length(trim(edit2.Text)) > 20) then
begin
beep;
showmessage('姓名不能为空或超过10个字,请输入正确的姓名!');
edit2.SetFocus;
exit;
end;
if (CEmployee_FirstDept.Text = '') then
begin
beep;
showmessage('请选择一级部门!');
CEmployee_FirstDept.SetFocus;
exit;
end;
//检测身份证号码的正确性
if length(trim(edit3.Text)) <> 15 then
begin
if length(trim(edit3.Text)) <> 18 then
begin
beep;
showmessage('你输入的号码位数:' + inttostr(Length(edit3.Text)) + '位,请输入正确的身份证号码!');
edit3.SetFocus;
exit;
end;
end;
if (trim(CEmployee_educate.Text) = '') or (length(trim(CEmployee_educate.Text)) > 50) then
begin
beep;
showmessage('请选择教育程度!');
CEmployee_educate.SetFocus;
exit;
end;
if (trim(CEmployee_polity.Text) = '') or (length(trim(CEmployee_polity.Text)) > 50) then
begin
beep;
showmessage('请选择政治面貌!');
CEmployee_polity.SetFocus;
exit;
end;
if (trim(CEmployee_banktype.Text) = '') or (length(trim(CEmployee_banktype.Text)) > 50) then
begin
beep;
showmessage('请填入/选择银行类型!如果没有请选择"无"');
CEmployee_banktype.SetFocus;
exit;
end;
if (trim(CEmployee_bargain.Text) = '') or (length(trim(CEmployee_bargain.Text)) > 50) then
begin
beep;
showmessage('请选择合同类型!');
CEmployee_bargain.SetFocus;
exit;
end;
if (CEmployee_duty.Text = '') or (length(trim(CEmployee_duty.Text)) > 50) then
begin
beep;
showmessage('请选择职务类型!');
CEmployee_duty.SetFocus;
exit;
end;
if (CEmployee_post.Text = '') or (length(trim(CEmployee_post.Text)) > 50) then
begin
beep;
showmessage('请选择职称类型!如果没有请选择"无"');
CEmployee_post.SetFocus;
exit;
end;
if (trim(CEmployee_type.Text) = '') or (length(trim(CEmployee_type.Text)) > 50) then
begin
beep;
showmessage('请选择职工类型!');
CEmployee_type.SetFocus;
exit;
end;
if (trim(edit4.Text) = '') or (length(trim(edit4.Text)) > 20) then
begin
beep;
showmessage('请正确输入正确的银行账号(最长20位)!,如果没有账号请输入0');
edit4.SetFocus;
exit;
end;
if (trim(edit5.Text) = '') or (length(trim(edit5.Text)) > 20) then
begin
beep;
showmessage('请输入正确的养老保险账号!(最长20位),如果没有请输入0');
edit5.SetFocus;
exit;
end;
if (trim(edit6.Text) = '') or (length(trim(edit6.Text)) > 20) then
begin
beep;
showmessage('请输入正确的医疗保险账号!(最长20位),如果没有请输入0');
edit6.SetFocus;
exit;
end;
if (trim(edit7.Text) = '') or (length(trim(edit7.Text)) > 20) then
begin
beep;
showmessage('请输入正确的电话!(最长20位),如果没有请输入0');
edit7.SetFocus;
exit;
end;
if (trim(edit8.Text) = '') then
begin
beep;
showmessage('请输入正确的其它联系电话!,如果没有请输入0');
edit8.SetFocus;
exit;
end;
if (trim(edit10.Text) = '') then
begin
beep;
showmessage('请输入现住址!');
edit10.SetFocus;
exit;
end;
if (trim(edit10.Text) = '') or (length(trim(edit7.Text)) > 20) then
begin
beep;
showmessage('请输入正确的手机号码!如果没有请输入0');
edit10.SetFocus;
exit;
end;
//增加员工数据
if Form_Employee.Caption = '加入新职工' then
insertemployee
else
begin
UpdateEmployee;
close;
end;
//清除输入项
LoadDefaultSet;
LoadFirstDept;
edit2.SetFocus;
//保存'自动保存'项
if (CEmployee_banktype.Text <> '') and (CEmployee_banktype.Text <> '无') then
begin
setid := 8;
setname := CEmployee_banktype.Text;
// showmessage('现在是'+inttostr(onTabprepset(setid,setname)));
if onTabprepset(setid, setname) = 0 then
adddata(setid, setname);
end;
if (CEmployee_city.Text <> '') and (CEmployee_city.Text <> '无') then
begin
setid := 9;
setname := CEmployee_city.Text;
if onTabprepset(setid, setname) = 0 then
adddata(setid, setname);
end;
if (CEmployee_school.Text <> '') and (CEmployee_school.Text <> '无') then
begin
setid := 10;
setname := CEmployee_school.Text;
if onTabprepset(setid, setname) = 0 then
adddata(setid, setname);
end;
end;
procedure TForm_Employee.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm_Employee.Edit2Exit(Sender: TObject);
begin
if CEmployee_SecondDept.Text = '' then
CEmployee_FirstDeptClick(Sender);
end;
procedure TForm_Employee.Button3Click(Sender: TObject);
var jpgImage: TJPEGImage;
begin
if openpicturedialog1.Execute then
begin
imgPath := Trim(openpicturedialog1.FileName);
ExtName := lowercase(rightstr(imgPath, 3));
edit15.Text := ExtName;
if (ExtName = 'jpg') then
begin
jpgImage := TJPEGImage.Create;
jpgImage.LoadFromFile(openpicturedialog1.FileName);
image1.Picture.Graphic := jpgImage;
jpgImage.Free;
end
else if ExtName = 'bmp' then
begin
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
end;
end;
procedure TForm_Employee.Button4Click(Sender: TObject);
begin
image1.Picture.Graphic := nil;
edit15.Text := 'NULL';
end;
procedure TForm_Employee.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
with Form_main.ADOQDBGrid do
begin
sql.Clear;
sql.Add('select * from Employee');
OPEN;
end;
end;
procedure TForm_Employee.FormShow(Sender: TObject);
begin
LoadDefaultSet;
LoadFirstDept;
end;
procedure TForm_Employee.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then
key := #0;
end;
procedure TForm_Employee.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', '-']) then
key := #0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -