?? 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 + -