📄 uemployee.pas
字号:
unit Uemployee;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, StrUtils, ExtCtrls, jpeg, DBCtrls, ExtDlgs,
DBTables, DB, ADODB;
type
//Letters= set of String;
TForm_Employee = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Panel1: TPanel;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Csex: TComboBox;
CEmployee_FirstDept: TComboBox;
CEmployee_SecondDept: TComboBox;
Edit3: TEdit;
CEmployee_polity: TComboBox;
CEmployee_marriage: TComboBox;
CEmployee_educate: TComboBox;
DateTime1: TDateTimePicker;
CEmployee_folk: TComboBox;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
CEmployee_type: TComboBox;
CEmployee_post: TComboBox;
CEmployee_payType: TComboBox;
CEmployee_bargain: TComboBox;
CEmployee_duty: TComboBox;
CEmployee_banktype: TComboBox;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
DateTime2: TDateTimePicker;
DateTime3: TDateTimePicker;
DateTime4: TDateTimePicker;
DateTime5: TDateTimePicker;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Memo1: TMemo;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
CEmployee_city: TComboBox;
Edit10: TEdit;
Edit14: TEdit;
Edit12: TEdit;
Edit13: TEdit;
CEmployee_school: TComboBox;
Edit11: TEdit;
Button4: TButton;
Image1: TImage;
Edit15: TEdit;
OpenPictureDialog1: TOpenPictureDialog;
procedure CEmployee_FirstDeptClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
imgPath: string;
ExtName: string;
procedure LoadDefaultSet;
procedure LoadFirstDept;
procedure LoadSecondDept(var FirstDeptName: string);
procedure InsertEmployee;
procedure UpDateEmployee;
procedure addData(var setid: integer; setname: string);
// procedure onTabpredset;
function onTabprepset(var setid: integer; setname: string): integer;
public
{ Public declarations }
end;
var
Form_Employee: TForm_Employee;
implementation
uses Umain, UPrepset;
{$R *.dfm}
procedure TForm_Employee.LoadDefaultSet;
var setid: integer;
userID: string;
SystemNumber: integer; //系统设置的员工编号位数;
i, j: integer;
begin
// 输入项设置
if Form_Employee.Caption = '加入新职工' then
begin
Csex.Clear;
Csex.Items.Add('男');
Csex.Items.Add('女');
Csex.Text := '男';
CEmployee_marriage.Clear;
CEmployee_marriage.Items.Add('已婚');
CEmployee_marriage.Items.Add('未婚');
CEmployee_marriage.Items.Add('离婚');
CEmployee_marriage.Text := '已婚';
CEmployee_folk.Clear;
CEmployee_banktype.Text := '无';
CEmployee_school.Text := '无';
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
edit9.Clear;
edit10.Clear;
edit11.Clear;
edit12.Clear;
edit13.Clear;
edit14.Clear;
edit15.Text := 'NULL';
image1.Picture.Graphic := nil;
//从预设置数据表中载入
// setid := 0;
edit1.Enabled := true;
//设置所有日期为当前日期
DateTime1.DateTime := now();
DateTime2.DateTime := now();
DateTime3.DateTime := now();
DateTime4.DateTime := now();
DateTime5.DateTime := now();
end;
//先清除下拉列框
CEmployee_type.Items.Clear;
CEmployee_post.Items.Clear;
CEmployee_duty.Items.Clear;
CEmployee_polity.Items.Clear;
CEmployee_folk.Items.Clear;
CEmployee_paytype.Items.Clear;
CEmployee_educate.Items.Clear;
CEmployee_bargain.Items.Clear;
CEmployee_banktype.Items.Clear;
CEmployee_school.Items.Clear;
CEmployee_city.Items.Clear;
try
with Form_main.TabPrepset do
begin
close;
open;
first;
while not eof do
begin
setid := FieldByName('set_ID').AsInteger;
case setid of //
0: begin
CEmployee_type.Items.Add(FieldByName('set_name').AsString);
{ if Form_Employee.Caption = '加入新职工' then
CEmployee_type.Text := FieldByName('set_name').AsString;}
end;
1: begin
CEmployee_post.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_post.Text := FieldByName('set_name').AsString;
end;
2: begin
CEmployee_duty.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_duty.Text := FieldByName('set_name').AsString;
end;
3: begin
CEmployee_polity.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_polity.Text := FieldByName('set_name').AsString;
end;
4: begin
CEmployee_folk.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_folk.Text := FieldByName('set_name').AsString;
end;
5: begin
CEmployee_educate.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_educate.text := FieldByName('set_name').AsString;
end;
6: begin
CEmployee_paytype.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_paytype.Text := FieldByName('set_name').AsString;
end;
7: begin
CEmployee_bargain.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_bargain.Text := FieldByName('set_name').AsString;
end;
8: begin
CEmployee_banktype.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_banktype.Text := FieldByName('set_name').AsString;
end;
9: begin
CEmployee_city.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_city.Text := FieldByName('set_name').AsString;
end;
10: begin
CEmployee_school.Items.Add(FieldByName('set_name').AsString);
if Form_Employee.Caption = '加入新职工' then
CEmployee_school.Text := FieldByName('set_name').AsString;
end;
end; // case
next;
end; // while
close;
end; // with
except
beep;
showmessage('打开预设表失败,请检查数据库文件是否存在');
end;
//载入员工工号
if Form_Employee.Caption = '加入新职工' then
begin
try
with Form_main.TabSystem do
begin
close;
open;
first;
SystemNumber := FieldValues['Employee_number'];
UserID := inttostr(FieldValues['EndEmployee_id'] + 1);
j := length(UserID);
try
EDIT1.Text := '';
for i := 1 to SystemNumber - j do
edit1.Text := edit1.Text + '0';
edit1.Text := edit1.Text + UserID;
except
beep;
Showmessage('您设置的员工编号位数过短,请重新设置!');
Showmessage('请关闭本窗口,然后在设置菜单中打开系统设置!');
Form_main.TabSystem.CLOSE;
end;
close;
edit1.Enabled := false;
end;
except
beep;
showmessage('打开系统表失败,请检查数据库文件是否存在');
end;
end;
end;
procedure TForm_Employee.LoadFirstDept;
begin
try
with Form_main.TabDept do
begin
close;
open;
first;
while not eof do
begin
if FieldByName('dept_upid').AsInteger = 0 then
begin
CEmployee_FirstDept.Items.Add(FieldByName('dept_name').AsString);
// CEmployee_FirstDept.Text := FieldByName('dept_name').AsString;
end
else
next;
next;
end; // while
close;
end; // with
except
beep;
showmessage('打开部门表失败,请检查数据库是否存在');
end;
end;
procedure TForm_Employee.LoadSecondDept(var FirstDeptName: string);
var DeptUpID: integer;
begin
DeptUpID := 0;
CEmployee_SecondDept.Clear;
CEmployee_SecondDept.Items.Add('无');
CEmployee_SecondDept.Text := '无';
try
with form_main.TabDept do
begin
close;
open;
first;
while not eof do
begin
if (FirstDeptName = FieldByName('dept_name').AsString) then
DeptUpID := FieldByName('dept_id').AsInteger
else
begin
if deptUpID <> 0 then
begin
if deptUpID = FieldByName('dept_upid').AsInteger then
CEmployee_SecondDept.Items.Add(fieldByName('dept_name').AsString);
end;
end;
next;
end; // while
close;
end; // with
except
showmessage('打开预设表失败,请检查数据库文件是否存在');
end;
end;
procedure TForm_Employee.InsertEmployee;
var
str: TMemoryStream;
temp: string;
myjpeg: tjpegimage;
//Tjpg:Letters; //jpg类型文件集合
//Tbmp:Letters; //bmp类型文件集合
begin
//Tjpg:=['jpg','jpeg','JPEG','JPG'];
//bmp:=['BMP','bmp'];
temp := edit15.text;
try
with form_main.TabEmployee do
begin
close;
open;
insert;
FieldValues['employee_id'] := trim(edit1.Text);
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 //temp 保存图片格式
begin
if temp = 'jpg' then
begin
str := tmemorystream.Create; //str 是内存流格式
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;
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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -