📄 main.pas
字号:
procedure TFormMain.RadioButton1Click(Sender: TObject);
begin
LookupT1.Enabled:=True;
LookupT1.SetFocus;
LookupT2.Enabled:=False;
LookupT3.Enabled:=False;
LookupT2.Text:='';
LookupT3.Text:='';
end;
procedure TFormMain.RadioButton2Click(Sender: TObject);
begin
LookupT1.Enabled:=False;
LookupT1.Text:='';
LookupT2.Enabled:=True;
LookupT2.SetFocus;
LookupT3.Enabled:=False;
LookupT3.Text:='';
end;
procedure TFormMain.RadioButton3Click(Sender: TObject);
begin
LookupT1.Enabled:=False;
LookupT1.Text:='';
LookupT2.Enabled:=False;
LookupT2.Text:='';
LookupT3.Enabled:=True;
LookupT3.SetFocus;
end;
procedure TFormMain.ComboID1KeyPress(Sender: TObject; var Key: Char);
var
Current:TComboBox;
begin
Current:= Sender as TComboBox;
if Key = Chr(13) then
begin
with Current do
if Text = '' then
begin
MessageDlg('请输入用户名',mtConfirmation,[mbOK],0);
Current.Setfocus;
end;
Key:=#0;
Perform(CM_DialogKey,VK_TAB,0);
end;
end;
procedure TFormMain.EdtPwd1KeyPress(Sender: TObject; var Key: Char);
begin
if Key =Chr(13) then
begin
Key:=#0;
Perform(CM_DialogKey,VK_TAB,0);
end;
end;
procedure TFormMain.ComboID1Exit(Sender: TObject);
begin
if (Sender as TComboBox).Text = '' then
(Sender as TComboBox).Setfocus;
end;
procedure TFormMain.BtnLogCancelClick(Sender: TObject);
begin
ComboID1.Text:='';
EdtPwd1.Text:='';
ComboID1.SetFocus;
end;
procedure TFormMain.LoadOprator(Obj:TComboBox);
begin
try try
DataM.TableLog.Open;
DataM.TableLog.First;
while not DataM.TableLog.Eof do
begin
if DataM.TableLog.FieldByName('UserName').AsString <>'SuperUser' then
Obj.Items.Add(DataM.TableLog.FieldByName('UserName').AsString);
DataM.TableLog.Next;
end;
except on EDatabaseError do
ShowMessage('发生意外错误,请关闭重运行。');
end;
finally
DataM.TableLog.Close;
end;
end;
procedure TFormMain.AddOprator(User, Pwd: String; Purview: Integer);
begin
with DataM.TableLog do
begin
try
Open;
Append;
FieldByName('UserName').AsString:=User;
FieldByName('Password').AsString:=Pwd;
FieldByName('Purview').AsInteger:=Purview;
Post;
StatusBar.Panels[3].Text:='成功增加操作员';
finally
close;
end;
end;
end;
procedure TFormMain.DeleteOprator(User: String);
begin
with DataM.TableLog do
begin
try
Open;
FindKey([User]);
Delete;
StatusBar.Panels[3].Text:='成功删除该操作员';
finally
Close;
end;
end;
end;
procedure TFormMain.ModifyOprator(User, Pwd: String);
begin
with DataM.TableLog do
begin
try
Open;
FindKey([User]);
Edit;
FieldByName('Password').AsString:=Pwd;
Post;
StatusBar.Panels[3].Text:='修改完成';
finally
Close;
end;
end;
end;
procedure TFormMain.ModifyOprator(User: String; Purview: Integer);
begin
with DataM.TableLog do
begin
try
Open;
FindKey([User]);
Edit;
FieldByName('Purview').AsInteger:=Purview;
Post;
StatusBar.Panels[3].Text:='修改完成';
finally
Close;
end;
end;
end;
procedure TFormMain.CheckPurview(s: String);
begin
with DataM.TableLog do
begin
Open;
first;
FindKey([s]);
CurrentPurview:=FieldByName('Purview').AsInteger;
Close;
end;
ExecPurview(CurrentPurview);
end;
procedure TFormMain.ExecPurview(p: Integer);
begin
case p of
2: //查询用户
begin
//OutlookBtn2.Enabled:=True;
//OutlookList2.Enabled:=True;
//OutlookList2.Items[0].OnClick:=nil;
//OutlookBtn1.Enabled:=False;
OutlookBtn3.Enabled:=False;
//OutlookList1.Enabled:=False;
//OutlookList3.Enabled:=False;
end;
0,1: //高级用户,普通用户
begin
OutlookBtn3.Enabled:=True;
//OutlookBtn1.Enabled:=False;
//OutlookList1.Enabled:=False;
//
end;
end;
end;
procedure TFormMain.ComboID2Change(Sender: TObject);
begin
if OutlookList1.Items[2].Selected then
begin
if ComboID2.Text <> '' then
if ComboID2.Text <> CurrentUser then
begin
Label4.Enabled:=False;
Label5.Enabled:=False;
EdtPwd2.Enabled:=False;
EdtPwd3.Enabled:=False;
Label6.Enabled:=True;
ComboRight.Enabled:=True;
end
else
begin
Label4.Enabled:=True;
Label5.Enabled:=True;
EdtPwd2.Enabled:=True;
EdtPwd3.Enabled:=True;
Label6.Enabled:=False;
ComboRight.Enabled:=False;
end
else
MessageDlg('请选择用户!',mtWarning,[mbOK],0);
end;
end;
procedure TFormMain.TabSheet2Show(Sender: TObject);
begin
ComboID2.Text:='';
ComboRight.Text:='';
EdtPwd2.Text:='';
EdtPwd3.Text:='';
end;
procedure TFormMain.BtnSysOKClick(Sender: TObject);
var
s:String;
begin
if OutlookList1.Items[0].Selected then //增加操作员
begin
if not(ComboID2.Text <> '') then
MessageDlg('用户名不能为空!',mtWarning,[mbOK],0)
else if ComboID2.Items.IndexOf(ComboID2.Text) >= 0 then
MessageDlg('己有此用户,请选择其他用户名',mtWarning,[mbOK],0)
else if not(EdtPwd2.Text <>'') then
MessageDlg('密码不能为空!',mtWarning,[mbOK],0)
else if not(EdtPwd3.Text <>'') then
MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
else if EdtPwd2.Text <> EdtPwd3.Text then
MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
else if not(ComboRight.Text <>'') then
MessageDlg('请选择权限!',mtWarning,[mbOK],0)
else
begin
ComboID2.Items.Add(ComboID2.Text);
AddOprator(ComboID2.Text,EdtPwd2.Text,ComboRight.ItemIndex);
ComboID2.Text:='';
EdtPwd2.Text:='';
EdtPwd3.Text:='';
ComboRight.Text:='';
end;
end;
if OutlookList1.Items[1].Selected then //删除操作员
begin
if not(ComboID2.Text <> '') then
MessageDlg('请选择用户!',mtWarning,[mbOK],0)
else if MessageDlg('真的要删除?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
begin
s:=ComboID2.Text;
DeleteOprator(ComboID2.Text);
ComboID2.Text:='';
ComboID2.Items.Delete(ComboID2.ItemIndex);
ComboID1.Items.Delete(ComboID1.Items.IndexOf(s));
ComboID2.ItemIndex:=-1;
end;
end;
if OutlookList1.Items[2].Selected then //修改操作员
begin
if not(ComboID2.Text <> '') then
MessageDlg('请选择用户!',mtWarning,[mbOK],0)
else
begin
if ComboID2.Text <> CurrentUser then
begin
if not(ComboRight.Text <> '') then
MessageDlg('请选择权限!',mtWarning,[mbOK],0)
else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
begin
ModifyOprator(ComboID2.Text,ComboRight.ItemIndex);
ComboID2.Text :='';
ComboRight.Text:='';
end
end
else
begin
if not(EdtPwd2.Text <>'') then
MessageDlg('密码不能为空!',mtWarning,[mbOK],0)
else if not(EdtPwd3.Text <>'') then
MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
else if EdtPwd2.Text <> EdtPwd3.Text then
MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
begin
ModifyOprator(ComboID2.Text,EdtPwd2.Text);
ComboID2.Text :='';
ComboRight.Text:='';
end
end;
end;
end;
end;
procedure TFormMain.BtnSysCancelClick(Sender: TObject);
begin
ComboID2.Text:='';
EdtPwd2.Text:='';
EdtPwd3.Text:='';
ComboRight.Text:='';
end;
procedure TFormMain.BtnSysOK1Click(Sender: TObject);
begin
if not(EdtOldPwd.Text <>'') then
MessageDlg('请输入原有密码!',mtWarning,[mbOK],0)
else if not(EdtNewPwd.Text <>'') then
MessageDlg('请输入新密码!',mtWarning,[mbOK],0)
else if not(EdtNewPwdOnce.Text <>'') then
MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
else if EdtNewPwd.Text <> EdtNewPwdOnce.Text then
MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
begin
ModifyOprator(EdtID.Text,EdtNewPwd.Text);
EdtOldPwd.Text:='';
EdtNewPwd.Text:='';
EdtNewPwdOnce.Text:='';
end;
end;
procedure TFormMain.TabSheet6Show(Sender: TObject);
begin
EdtOldPwd.Text:='';
EdtNewPwd.Text:='';
EdtNewPwdOnce.Text:='';
//EdtOldPwd.SetFocus;
end;
procedure TFormMain.BtnSysCancel1Click(Sender: TObject);
begin
EdtOldPwd.Text:='';
EdtNewPwd.Text:='';
EdtNewPwdOnce.Text:='';
end;
procedure TFormMain.OutlookList3Items0Click(
OutlookList: TfcCustomOutlookList; Item: TfcOutlookListItem);
begin
if Item.Index <> OldSelectedIndex then
begin
ActivedOutlookList:=OutlookList;
OldSelectedIndex:=Item.Index;
MaintainEnable(True);
Label27.Enabled:=False;
EdtRecover.Enabled:=False;
EdtRecover.Text:='';
EdtBackup.Text:=ExtractFilePath(ParamStr(0))+'Backup';
ProgressBar1.Position:=0;
StatusBar.Panels[3].Text:='';
end;
end;
procedure TFormMain.OutlookList3Items1Click(
OutlookList: TfcCustomOutlookList; Item: TfcOutlookListItem);
begin
if Item.Index <> OldSelectedIndex then
begin
ActivedOutlookList:=OutlookList;
OldSelectedIndex:=Item.Index;
MaintainEnable(True);
Label26.Enabled:=False;
EdtBackup.Enabled:=False;
EdtBackup.Text:='';
EdtRecover.Text:=ExtractFilePath(ParamStr(0))+'Backup';
ProgressBar1.Position:=0;
StatusBar.Panels[3].Text:='';
end;
end;
//新增页面处理
procedure TFormMain.CheckNew1Click(Sender: TObject);
var
i,t,f:Integer;
begin
for i:=1 to 3 do
(FindComponent('LabelNew'+IntToStr((Sender as TCheckBox).Tag)+IntToStr(i)) as TLabel).Enabled:=
(Sender as TCheckBox).Checked;
for i:=1 to 2 do
(FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+IntToStr(i)) as TwwDBDateTimePicker).Enabled:=
(Sender as TCheckBox).Checked;
(FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Enabled:=
(Sender as TCheckBox).Checked;
if not((Sender as TCheckBox).Checked) then
begin
(FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'1') as TwwDBDateTimePicker).Date:=Date();
(FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'2') as TwwDBDateTimePicker).Date:=Date();
t:=StrToInt(EdtNew8.Text);
f:=StrToInt((FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Text);
t:=t-f;
EdtNew8.Text:=IntToStr(t);
(FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Text:='0';
end
else
(FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'2') as TwwDBDateTimePicker).Date:=
(FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'1') as TwwDBDateTimePicker).Date;
for i:=1 to 4 do
if (FindComponent('CheckNew'+IntToStr(i)) as TCheckBox).Checked then
begin
BtnNew1.Enabled:=True;
BtnNew2.Enabled:=True;
Break;
end
else
begin
BtnNew1.Enabled:=False;
BtnNew2.Enabled:=False;
end;
end;
procedure TFormMain.TabSheet3Show(Sender: TObject);
var
i,j:Integer;
Temp:TCheckBox;
begin
for j:=1 to 4 do
begin
Temp:=FindComponent('CheckNew'+IntToStr(j)) as TCheckBox;
(FindComponent('DateNew'+IntToStr(j)+'1') as TwwDBDateTimePicker).Date:=Date();
(FindComponent('DateNew'+IntToStr(j)+'2') as TwwDBDateTimePicker).Date:=Date();
for i:=1 to 3 do
(FindComponent('LabelNew'+IntToStr(Temp.Tag)+IntToStr(i)) as TLabel).Enabled:=
Temp.Checked;
for i:=1 to 2 do
(FindComponent('DateNew'+IntToStr(Temp.Tag)+IntToStr(i)) as TwwDBDateTimePicker).Enabled:=
Temp.Checked;
(FindComponent('EdtFee'+IntToStr(Temp.Tag)) as TEdit).Enabled:=Temp.Checked;
end;
BtnNew1.Enabled:=False;
BtnNew2.Enabled:=False;
BtnNew3.Enabled:=False;
//EdtNew1.SetFocus;
end;
procedure TFormMain.DateNew12Exit(Sender: TObject);
var
StartYear,StartMonth,StartDay:Word;
EndYear,EndMonth,EndDay:Word;
Fee:Word;
begin
DecodeDate(DateNew11.Date,StartYear,StartMonth,StartDay);
DecodeDate(DateNew12.Date,EndYear,EndMonth,EndDay);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -