⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_add.~pas

📁 主要是对人员信息和工资进行管理
💻 ~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 + -