📄 registeremployeeunit.pas
字号:
unit registeremployeeunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB;
type
Tfrm_registeremployee = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
employeeid: TEdit;
employeename: TEdit;
sex: TRadioGroup;
birthday: TDateTimePicker;
jointime: TDateTimePicker;
edulevel: TComboBox;
tel: TEdit;
address: TEdit;
note: TEdit;
folk: TComboBox;
b_add: TButton;
b_cancel: TButton;
Label10: TLabel;
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
inc: TRadioButton;
desc: TRadioButton;
id: TRadioButton;
name: TRadioButton;
edu: TRadioButton;
time: TRadioButton;
t_employee: TADOTable;
q_employee: TADOQuery;
ds_employee: TDataSource;
t_counter: TADOTable;
procedure b_cancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure b_addClick(Sender: TObject);
procedure incClick(Sender: TObject);
procedure descClick(Sender: TObject);
procedure idClick(Sender: TObject);
procedure nameClick(Sender: TObject);
procedure eduClick(Sender: TObject);
procedure timeClick(Sender: TObject);
private
{ Private declarations }
function isint(s:string):boolean;
public
{ Public declarations }
end;
var
frm_registeremployee: Tfrm_registeremployee;
implementation
uses datamoduleunit;
{$R *.dfm}
function tfrm_registeremployee.isint(s:string):boolean;
var i:integer;
begin
i:=1;
while i<=length(s) do
begin
if (ord(s[i])<48) or (ord(s[i])>57) then
begin
result:=false;
exit;
end;
i:=i+1;
end;
result:=true;
end;
procedure Tfrm_registeremployee.b_cancelClick(Sender: TObject);
var counter:integer;
begin
t_counter.Close;
t_counter.Open;
counter:=t_counter.FieldValues['counter'];
counter:=counter+1;
employeeid.Text:=inttostr(counter);
employeename.Clear;
folk.ItemIndex:=0;
edulevel.ItemIndex:=0;
sex.ItemIndex:=0;
tel.Clear;
address.Text:='';
birthday.Date:=strtodate('1983-6-27');
jointime.Date:=now;
note.Text:='';
end;
procedure Tfrm_registeremployee.FormShow(Sender: TObject);
begin
q_employee.Close;
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
frm_registeremployee.b_cancelClick(nil);
end;
procedure Tfrm_registeremployee.b_addClick(Sender: TObject);
var counter,rt:integer;
ss:string;
begin
if employeename.Text='' then
begin
messagedlg('员工姓名不能为空',mtwarning,[mbok],0);
activecontrol:=employeename;
exit;
end;
if folk.Text='请选择民族'then
begin
messagedlg('请选择民族',mtwarning,[mbok],0);
activecontrol:=folk;
exit;
end;
if folk.Text='请选择学历'then
begin
messagedlg('请选择学历',mtwarning,[mbok],0);
activecontrol:=edulevel;
exit;
end;
if (isint(tel.Text)=false) or (length(tel.Text)>12) then
begin
messagedlg('''电话号码输入错误!'',请重新输入',mtwarning,[mbok],0);
activecontrol:=tel;
exit;
end;
if address.Text='' then
begin
messagedlg('地址不能为空',mtwarning,[mbok],0);
activecontrol:=address;
exit;
end;
if note.Text='' then
begin
messagedlg('备注不能为空',mtwarning,[mbok],0);
activecontrol:=note;
exit;
end;
if (birthday.Date>jointime.Date) or (birthday.Date>now) or (jointime.Date>now) then
begin
messagedlg('''生日''或''加盟时间''填写错误,请重新输入',mtwarning,[mbok],0);
birthday.SetFocus;
exit;
end;
rt:=messagedlg('一条记录将录入数据库中,你确定要继续吗?',mtwarning,[mbyes,mbno],0);
if rt=mrno then exit;
t_employee.Close;
t_employee.Open;
t_employee.Append;
t_employee.FieldValues['员工编号']:=employeeid.Text;
t_employee.FieldValues['员工姓名']:=employeename.Text;
t_employee.FieldByName('民族').AsString:=folk.Text;
if sex.ItemIndex=0 then ss:='男' else ss:='女';
t_employee.FieldValues['性别']:=ss;
t_employee.FieldValues['学历']:=edulevel.Text;
t_employee.FieldValues['电话']:=tel.Text;
t_employee.FieldValues['地址']:=address.Text;
t_employee.FieldByName('生日').AsDateTime:=birthday.Date;
t_employee.FieldByName('加盟时间').AsDateTime:=jointime.Date;
t_employee.FieldValues['备注']:=note.Text;
t_employee.Post;
showmessage('已成功添加一条记录');
t_counter.Open;
t_counter.Edit;
t_counter.FieldValues['counter']:=strtoint(employeeid.Text);
t_counter.Post;
t_counter.Close;
t_employee.Close;
frm_registeremployee.FormShow(nil);
end;
procedure Tfrm_registeremployee.incClick(Sender: TObject);
var col:string;
begin
if id.Checked then col:='员工编号' else
if name.Checked then col:='员工姓名' else
if edu.Checked then col:='学历' else
if time.Checked then col:='加盟时间' else
begin
showmessage('请选择排序内容');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by '+col+' asc');
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
procedure Tfrm_registeremployee.descClick(Sender: TObject);
var col:string;
begin
if id.Checked then col:='员工编号' else
if name.Checked then col:='员工姓名' else
if edu.Checked then col:='学历' else
if time.Checked then col:='加盟时间' else
begin
showmessage('请选择排序内容');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by '+col+' desc');
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
procedure Tfrm_registeremployee.idClick(Sender: TObject);
var s:string;
begin
if inc.Checked then s:=' asc' else if desc.Checked then s:=' desc' else
begin
showmessage('请选择排序的方法');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by 员工编号'+s);
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
procedure Tfrm_registeremployee.nameClick(Sender: TObject);
var s:string;
begin
if inc.Checked then s:=' asc' else if desc.Checked then s:=' desc' else
begin
showmessage('请选择排序的方法');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by 员工姓名'+s);
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
procedure Tfrm_registeremployee.eduClick(Sender: TObject);
var s:string;
begin
if inc.Checked then s:=' asc' else if desc.Checked then s:=' desc' else
begin
showmessage('请选择排序的方法');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by 学历'+s);
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
procedure Tfrm_registeremployee.timeClick(Sender: TObject);
var s:string;
begin
if inc.Checked then s:=' asc' else if desc.Checked then s:=' desc' else
begin
showmessage('请选择排序的方法');
exit;
end;
q_employee.Close;
q_employee.SQL.Clear;
q_employee.SQL.Add('select * from employee order by 加盟时间'+s);
try
q_employee.Open;
except
q_employee.ExecSQL;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -