📄 archdataclass.pas
字号:
StuffMain.edCompJST.SetFocus;
end;
end;
end;
if (StuffMain.edCompJET.Text <>' - - ')then
begin
try
StrToDateTime(StuffMain.edCompJET.Text);
except
on Exception do
begin
ValidCheck :=1;
StuffMain.edCompJET.SetFocus;
end;
end;
end;
if (StuffMain.edCompCreateTime.Text <>' - - ')then
begin
try
StrToDateTime(StuffMain.edCompCreateTime.Text);
except
on Exception do
begin
ValidCheck :=2;
StuffMain.edCompCreateTime.SetFocus;
end;
end;
end;
end;
//添加新帐户
procedure AccountDBManager.AddNewAccount(Account : UserAccount);
begin
MainDataModule.AccountTable.Insert();
MainDataModule.AccountTable.FieldByName('UserName').AsString := Account.UserName;
MainDataModule.AccountTable.FieldByName('Password').AsString := Account.Password;
MainDataModule.AccountTable.FieldByName('AccountRight').AsString := Account.Right;
end;
//判断新建的帐户是否已经存在
function AccountDBManager.IsExist(var AccountName : String) : integer;
var
lookupResult : Variant;
searchContent : Variant;
resultString : String;
begin
searchContent :=AccountName;
IsExist :=0;
lookupResult := MainDataModule.AccountTable.Lookup('UserName',AccountName,'UserName');
resultString :=VarToStr(lookupResult);
if (VarType(lookupResult) in [varNull]) then
begin
if resultString = AccountName then
IsExist := 1
else
IsExist :=2
end;
end;
//删除指定帐户
procedure AccountDBManager.DeleteAccount;
begin
MainDataModule.AccountTable.Delete;
end;
//修改指定的帐户
procedure AccountDBManager.ModifyAccount(Account: UserAccount);
begin
MainDataModule.AccountTable.Edit();
MainDataModule.AccountTable.FieldByName('UserName').AsString := Account.UserName;
MainDataModule.AccountTable.FieldByName('Password').AsString := Account.Password;
MainDataModule.AccountTable.FieldByName('AccountRight').AsString := Account.Right;
end;
//查询帐户
function AccountDBManager.SearchAccount(AccountInfo :UserAccount): integer;
var
searchResult: Variant;
begin
searchResult :=trim(VarToStr(MainDataModule.AccountTable.Lookup('UserName',AccountInfo.UserName,'AccountRight')));
SearchAccount :=0;
if (VarType(searchResult) in [varNull]) then
SearchAccount :=0
else if searchResult ='操作员' then
SearchAccount :=1
else if searchResult ='管理员' then
SearchAccount :=2;
end;
Procedure UserAccount.SetUserAccount;
begin
UserName := AccountMainForm.edAccountName.Text;
Password := AccountMainForm.edPassword.Text;
Right := AccountMainForm.gbOpRight.Text;
end;
//设置用户登录后的权限
procedure UserAccount.SetRight(const opRight :boolean);
begin
ArchMainForm.loginsystem.Enabled :=true;
if opRight then
begin
ArchMainForm.archManager.Enabled :=opRight;
ArchMainForm.sysManager.Enabled :=opRight;
end
else
begin
ArchMainForm.archManager.Enabled :=true;
ArchMainForm.sysManager.Enabled :=opRight;
end;
end;
//将选择的帐户记录信息加载到输入框中
Procedure UserAccount.LoadAccountInput;
begin
AccountMainForm.edAccountName.Text := trim(MainDataModule.AccountTable.FieldByName('UserName').AsString);
AccountMainForm.edPassword.Text := trim(MainDataModule.AccountTable.FieldByName('Password').AsString);
AccountMainForm.gbOpRight.Text :=trim(MainDataModule.AccountTable.FieldByName('AccountRight').AsString);
end;
//清空输入框中的信息
procedure UserAccount.ZeroAccountInput;
begin
AccountMainForm.edAccountName.Text :='';
AccountMainForm.edPassword.Text :='';
AccountMainForm.gbOpRight.Text :='';
end;
//用户帐户的合法检查
function UserAccount.ValidCheck : boolean;
begin
if (AccountMainForm.edAccountName.Text = '') or
(AccountMainForm.edPassword.Text = '') or
(AccountMainForm.gbOpRight.text= '') then
ValidCheck := false
else
ValidCheck := true;
end;
//将选择员工信息加载到员工输入框中
procedure InputStuffInfo.LoadStuffInfo;
begin
StuffMain.edAdress.Text :=MainDataModule.StuffQuery.FieldByName('Address').AsString;
StuffMain.edArchNo.Text :=IntToStr(MainDataModule.StuffQuery.FieldByName('ArchiveNo').AsInteger);
StuffMain.edBirthday.Text :=DateTimeToStr(MainDataModule.StuffQuery.FieldByName('Birthday').AsDateTime);
StuffMain.edDgree.Text :=MainDataModule.StuffQuery.FieldByname('Degree').AsString;
StuffMain.gbDepName.Text :=MainDataModule.StuffQuery.FieldByname('DepName').AsString;
StuffMain.gbGender.Text :=MainDataModule.StuffQuery.FieldByName('Gender').AsString;
StuffMain.edJobStartDate.Text :=DateTimeToStr(MainDataModule.StuffQuery.FieldByName('JobStartDate').AsDateTime);
StuffMain.edJobEndDate.Text := DateTimeToStr(MainDataModule.StuffQuery.FieldByName('JobEndDate').AsDateTime);
StuffMain.edName.Text:=MainDataModule.StuffQuery.FieldByName('Name').Asstring;
StuffMain.edPosistion.Text :=MainDataModule.StuffQuery.FieldByName('Posistion').AsString;
StuffMain.edTelNo.Text :=MainDataModule.StuffQuery.FieldByName('TelNumber').AsString;
StuffMain.edMemo.Text :=MainDataModule.StuffQuery.FieldByName('Note').AsString;
end;
//清空员工输入框
procedure InputStuffInfo.ZeroStuffInput;
begin
StuffMain.edAdress.Text :='';
StuffMain.edArchNo.Text :='';
StuffMain.edBirthday.Text :='';
StuffMain.edDgree.Text :='';
StuffMain.gbDepName.Text :='';
StuffMain.gbGender.Text :='';
StuffMain.edJobStartDate.Text :='';
StuffMain.edJobEndDate.Text := '';
StuffMain.edName.Text:='';
StuffMain.edPosistion.Text :='';
StuffMain.edTelNo.Text :='';
StuffMain.edMemo.Text :='';
MainDataModule.StuffTable.Last;
StuffMain.edArchNo.Text :=IntToStr(MainDataModule.StuffTable.FieldByName('ArchiveNo').AsInteger+1);
end;
//合法性检查:没有输入返加1,输入的数据类型不正确返加2
//没有错误返回0
function InputStuffInfo.ValidCheck :integer;
begin
ValidCheck :=0;
if (StuffMain.edAdress.Text = '') then
begin
StuffMain.edAdress.SetFocus;
ValidCheck :=1;
end;
if (StuffMain.edBirthday.Text = ' - - ') then
begin
StuffMain.edBirthday.SetFocus;
ValidCheck :=1;
end
else
try
StrToDateTime(StuffMain.edBirthday.Text);
except
on Exception do
begin
ValidCheck :=2;
StuffMain.edBirthday.SetFocus;
end;
end;
if (StuffMain.edDgree.Text = '')then
begin
StuffMain.edDgree.SetFocus;
ValidCheck :=1;
end;
if(StuffMain.gbGender.Text ='')then
begin
StuffMain.gbGender.SetFocus;
ValidCheck :=1;
end;
if(StuffMain.edName.Text ='')then
begin
StuffMain.edName.SetFocus;
ValidCheck :=1;
end;
if(StuffMain.edPosistion.Text ='')then
begin
StuffMain.edPosistion.SetFocus;
ValidCheck :=1;
end;
if(Stuffmain.edTelNo.Text ='')then
begin
stuffMain.edTelNo.SetFocus;
ValidCheck :=1;
end;
if(Stuffmain.edJobStartDate.Text=' - - ')then
begin
StuffMain.edJobStartDate.SetFocus;
ValidCheck :=1;
end
else
try
StrToDateTime(StuffMain.edJobStartDate.Text);
except
on Exception do
begin
ValidCheck :=2;
StuffMain.edJobStartDate.SetFocus;
end;
end;
if(Stuffmain.edJobEndDate.Text=' - - ')then
begin
StuffMain.edJobEndDate.SetFocus;
ValidCheck :=1;
end
else
try
StrToDateTime(StuffMain.edJobEndDate.Text);
except
on Exception do
begin
ValidCheck :=2;
StuffMain.edJobEndDate.SetFocus;
end;
end;
end;
//将输入的信息记录到类InputStuffInfo中
procedure InputStuffInfo.SetStuffInfo;
begin
ArchiveNo :=StrToInt(StuffMain.edArchNo.Text);
Name :=StuffMain.edName.Text;
Address :=StuffMain.edAdress.Text;
Birthday :=StrToDate(StuffMain.edBirthday.Text);
CreateDate :=Date; //记录创建和修改该类的最后时间
Creater :=ArchMainForm.currentAccount;//记录最后一次更新该记录的操作员
Degree :=StuffMain.edDgree.Text;
Gender :=Stuffmain.gbGender.Text;
if StuffMain.gbDepName.Text='' then
DepNo :=1
else
DepNo :=StrToInt(VarToStr(MainDataModule.DepTable.Lookup('DepName',trim(StuffMain.gbDepName.Text),'DepNo')));
JobStartDate :=StrToDate(StuffMain.edJobStartDate.Text);
JobEndDate :=StrToDate(StuffMain.edJobEndDate.Text);
Position :=StuffMain.edPosistion.Text;
TelNo :=StuffMain.edTelNo.Text;
Note :=StuffMain.edMemo.Text;
end;
//新建修改员工记录
procedure StuffDBManager.AddModifyStuffInfo(opid :integer;StuffInfo: InputStuffInfo);
begin
if opid=1 then
begin
MainDataModule.StuffTable.Insert;
if StuffInfo.DepNo >1 then
//添加新记录
begin
MainDataModule.DepTable.Locate('DepNo',StuffInfo.DepNo,[loCaseInsensitive]);
MainDataModule.DepTable.Edit;
MainDataModule.DepTable.FieldByName('DepMemberNo').AsInteger :=MainDataModule.DepTable.FieldByName('DepMemberNo').AsInteger+1;
MainDataModule.DepTable.Post;
MainDataModule.StuffTable.FieldByName('ArchiveNo').AsInteger:=StuffInfo.ArchiveNo;
end
end
else
//修改记录
begin
MainDataModule.StuffTable.Locate('ArchiveNo',StuffInfo.ArchiveNo,[loCaseInsensitive]);
MainDataModule.StuffTable.Edit;
end;
MainDataModule.StuffTable.FieldByName('Note').AsString :=StuffInfo.Note;
MainDataModule.StuffTable.FieldByName('Address').AsString :=trim(StuffInfo.Address);
MainDataModule.StuffTable.FieldByName('Birthday').AsDateTime :=StuffInfo.Birthday;
MainDataModule.StuffTable.FieldByName('CreateTime').AsDateTime :=StuffInfo.CreateDate;
MainDataModule.StuffTable.FieldByName('Creater').AsString :=StuffInfo.Creater;
MainDataModule.StuffTable.FieldByName('Degree').AsString :=StuffInfo.Degree;
MainDataModule.StuffTable.FieldByName('DepNo').AsInteger :=StuffInfo.DepNo;
MainDataModule.StuffTable.FieldByName('Gender').AsString :=StuffInfo.Gender;
MainDataModule.StuffTable.FieldByName('JobEndDate').AsDateTime :=StuffInfo.JobEndDate;
MainDataModule.StuffTable.FieldByName('JobStartDate').AsDateTime :=StuffInfo.JobStartDate;
MainDataModule.StuffTable.FieldByName('Name').AsString :=StuffInfo.Name;
MainDataModule.StuffTable.FieldByName('Posistion').AsString :=StuffInfo.Position;
MainDataModule.StuffTable.FieldByName('TelNumber').AsString :=StuffInfo.TelNo;
end;
//删除指定的记录
procedure StuffDBManager.DelStuffInfo;
begin
MainDataModule.StuffTable.Locate('ArchiveNo',MainDataModule.StuffQuery.FieldByName('ArchiveNo').AsString,[loCaseInsensitive]);
MainDataModule.StuffTable.delete;
if MainDataModule.StuffQuery.FieldByName('DepNo').AsInteger >1 then
begin
MainDataModule.DepTable.Locate('DepNo',MainDataModule.StuffQuery.FieldByName('DepNo').AsInteger,[loCaseInsensitive]);
MainDataModule.DepTable.Edit;
MainDataModule.DepTable.FieldByName('DepMemberNo').AsInteger :=MainDataModule.DepTable.FieldByName('DepMemberNo').AsInteger -1;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -