📄 u_add.~pas
字号:
unit U_add;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls;
type
TF_add = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
i_user: TDBEdit;
i_passwd: TEdit;
i_birthday: TDBEdit;
i_department: TDBLookupComboBox;
i_job: TDBLookupComboBox;
i_edu_level: TDBLookupComboBox;
i_specialty: TDBEdit;
i_address: TDBEdit;
i_tel: TDBEdit;
i_email: TDBEdit;
Label13: TLabel;
i_remark: TDBMemo;
Button1: TButton;
i_name: TDBEdit;
i_sex: TDBRadioGroup;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure addinit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_add: TF_add;
implementation
uses U_data,u_main,u_crypt;
{$R *.dfm}
procedure TF_add.addinit;
var
counter:integer;
id:string;
begin
with datam do
begin
T_counter.Filter:='ID='+''''+'P'+'''';
T_counter.Filtered:=true;
T_counter.Open;
counter:=T_counter['counter_value'];
counter:=counter+1;
T_counter.Close;
id:='00000'+inttostr(counter);
id:='P'+copy(id,length(id)-4,5);
T_add_user.Open;
T_add_user.Append;
T_add_user['ID']:=id;
T_add_user['sex']:='M';
T_add_user['STATE']:='T';
i_passwd.Text:=id;
end;
end;
procedure TF_add.FormClose(Sender: TObject; var Action: TCloseAction);
begin
f_main.M_add.Enabled:=true;
F_main.TB_add.Enabled:=true;
datam.T_add_user.Cancel;
datam.T_add_user.Close;
action:=cafree;
end;
procedure TF_add.FormCreate(Sender: TObject);
begin
f_main.M_add.Enabled:=False;
F_main.TB_add.Enabled:=false;
width:=254;
height:=499;
with datam do
begin
if not t_department.Active then t_department.Open;
if not t_job.Active then t_job.Open;
if not t_edu_level.Active then t_edu_level.Open;
end;
addinit;
end;
procedure TF_add.Button1Click(Sender: TObject);
var
passwd:string;
counter:integer;
begin
if length(i_name.Text)>0 then
begin
passwd:=i_passwd.Text;
passwd:=copy(passwd+passwd,1,10);
passwd:=encrypt(passwd,123);
datam.Conn.BeginTrans;
try
with datam do
begin
T_counter.Filter:='ID='+''''+'P'+'''';
t_counter.Filtered:=true;
T_counter.Open;
T_counter.Edit;
T_counter['counter_value']:=T_counter['counter_value']+1;
T_counter.Post;
T_counter.Close;
T_add_user.Edit;
T_add_user['passwd']:=passwd;
T_add_user.Post;
//获取人事变动记录号
T_counter.Filter:='ID='+''''+'C'+'''';
T_counter.Filtered:=true;
T_counter.Open;
counter:=T_counter['counter_value'];
inc(counter);
T_counter.edit;
T_counter['counter_value']:=counter;
T_counter.Post;
t_counter.close;
//追加人事变动记录
T_change.Open;
t_change.Append;
t_change['ID']:=counter;
t_change['personid']:=i_user.Text;
t_change['changecode']:='0';
t_change['record_time']:=now;
t_change['descript']:='加入公司' ;
t_change.Post;
t_change.Close;
end;
addinit;
except
showmessage('写入数据库出错,操作撤消!');
datam.Conn.RollbackTrans;
end;
datam.Conn.CommitTrans;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -