📄 add1.pas
字号:
unit add1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, DBTables;
type
TForm20 = class(TForm)
T_add_user: TTable;
DS_user: TDataSource;
T_department: TTable;
DS_department: TDataSource;
T_job: TTable;
DS_job: TDataSource;
T_edu_level: TTable;
DS_edu_level: TDataSource;
Label1: TLabel;
i_user: TDBEdit;
Label2: TLabel;
i_passwd: TEdit;
Label3: TLabel;
i_name: TDBEdit;
i_sex: TDBRadioGroup;
Label4: TLabel;
i_birthday: TDBEdit;
Label6: TLabel;
i_job: TDBLookupComboBox;
Label7: TLabel;
i_edu_level: TDBLookupComboBox;
Label8: TLabel;
i_specialty: TDBEdit;
Label9: TLabel;
i_address: TDBEdit;
Label10: TLabel;
i_tel: TDBEdit;
Label11: TLabel;
i_email: TDBEdit;
Label12: TLabel;
i_remark: TDBMemo;
Button1: TButton;
T_counter: TTable;
T_change: TTable;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure AddInit;
public
{ Public declarations }
end;
var
Form20: TForm20;
implementation
{$R *.dfm}
procedure tform20.AddInit; //增加表单的初始化子程序
var
counter:integer;
id:String;
begin
//生成员工号
T_counter.Filter:='ID=''A'''; //设置过滤条件
T_counter.Filtered:=True; //激活过滤器
T_counter.Open; //打开计数表
counter:=T_counter['COUNTER_VALUE']; //获取计数表里的计数
T_counter.Close; //关闭计数表
id:='00000'+IntToStr(counter); //将计数值转换成字符
id:='A'+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;
procedure TForm20.FormCreate(Sender: TObject);
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; //打开教育水平代码表
AddInit; //调用初始化表单
end;
procedure TForm20.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);
//累加教师编号计数器
T_counter.Filter:='ID=''A'''; //设置过滤器,提取教师编号计数
T_counter.Filtered:=True; //激活过滤器
T_counter.Open; //打开计数器表
T_counter.Edit; //编辑计数值
T_counter['COUNTER_VALUE']:=T_counter['COUNTER_VALUE']+1; //计数值加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); //增加值1
T_counter.Edit; //编辑计数值
T_counter['COUNTER_VALUE']:=counter; //保存当前计数值
T_counter.Post; //提交修改
T_counter.Close; //关闭计数表
//追加人事变动记录
T_change.Open; //打开人事变动数据表
T_change.Append; //追加记录
T_change['ID']:=counter; //给人事变动数据表中的字段id赋值
T_change['PERSON']:=i_user.Text; //给人事变动数据表中的字段PERSON赋值
T_change['CHANGE1']:='2'; //设置变动操作
T_change['RECORD_TIME']:=Now; //设置变动时间
T_change['DESCRIPTION']:='加入学校'; //保存说明
T_change.Post; //提交修改
T_change.Close; //关闭人事变动数据表
AddInit; //调用初始化表单
end;
end;
procedure TForm20.FormClose(Sender: TObject; var Action: TCloseAction);
begin
T_add_user.Cancel; //在表单关闭时取消添加教师数据表的修改
T_add_user.Close; //在表单关闭时关闭添加教师数据表的修改
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -