📄 security.pas
字号:
end;
end;
Query1.sql.add('Insert into sys03012 select '''+adopasswordno.asstring+''','''+menuname(menu,parent,subparent)+''',0,0,0,0 ');
end;
if Query1.SQL.Text<>'' then
// query1.sql.savetofile('d:\help.sql');
Query1.ExecSQL;
adosecurit.DisableControls;
adosecurit.close;
adosecurit.open;
adosecurit.EnableControls;
end;
end;
procedure TFormsecurity.FindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
findrecorder(adosecurit,'Adosecurit','view_menu');
end;
procedure TFormsecurity.DBGrid2TitleClick(Column: TColumn);
var dbs:Tdbgridsort;
begin
dbs:=Tdbgridsort.create;
dbs.sort(column,adopassword,f);
dbs.free;
end;
//当用户按修改按钮时,在listbox中弹出原有的菜单权限,让user修改,
//然后,按存盘即可
procedure TFormsecurity.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
var menuname:string;
begin
case button of
nbedit:if not adosecurit.eof then
begin
listbox4.items.clear;
adosecurit.first;
while not adosecurit.eof do
begin
menuname:=adosecurit.fieldbyname('menuparentbig').asstring; //第一层菜单项
if length(adosecurit.fieldbyname('menusubparentbig').asstring)>1 then //第二层菜单项
menuname:=menuname+'-'+adosecurit.fieldbyname('menusubparentbig').asstring;
if length(menuname)>1 then
menuname:=menuname+'-'+adosecurit.fieldbyname('menucaptionbig').asstring // //第三层菜单项
else
menuname:=adosecurit.fieldbyname('menucaptionbig').asstring;
Listbox4.Items.add(menuname);
Adosecurit.next;
end;
adosecurit.first;
end;
end;
end;
function TFormsecurity.menuname(menun, parentmenu,
subparentmenu: string): string;
var i,j,k:integer;
begin
with formmain do
begin
if trim(parentmenu)='' then
begin
for i:=0 to MainMenu1.items.count-1 do
if mainmenu1.items[i].caption=menun then
begin
result:=mainmenu1.items[i].name;
exit;
end;
end
else if trim(subparentmenu)='' then
begin
for i:=0 to mainmenu1.items.count-1 do
if mainmenu1.items[i].Caption=parentmenu then
for j:=0 to mainmenu1.items[i].Count-1 do
if mainmenu1.items[i].items[j].caption=menun then
begin
result:=mainmenu1.items[i].items[j].name;
exit;
end;
end
else
begin
for i:=0 to mainmenu1.items.count-1 do
if mainmenu1.items[i].Caption=parentmenu then
for j:=0 to mainmenu1.items[i].Count-1 do
if mainmenu1.items[i].items[j].caption=subparentmenu then
for k:=0 to mainmenu1.items[i].Items[j].Count-1 do
if mainmenu1.items[i].items[j].Items[k].caption=menun then
begin
result:=mainmenu1.items[i].items[j].items[k].name;
exit;
end;
end;
end;
end;
procedure TFormsecurity.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0055');
end;
end;
procedure Tformsecurity.menuitem(pos:integer;menuname:string;Var two:integer);
var i:integer;
begin
with formmain do
begin
if mainmenu1.items[pos].Count>0 then
for i:=0 to mainmenu1.items[pos].count-1 do
if mainmenu1.items[pos].items[i].Caption=menuname then
two:=i;
end;
end;
procedure TFormsecurity.ADOpasswordBeforeDelete(DataSet: TDataSet);
begin
datamod.Query1.close;
datamod.Query1.sql.text:='Delete from sys03012 where no='''+adopasswordno.asstring+''' ';
datamod.Query1.execsql;
end;
procedure TFormsecurity.ADOpasswordBeforePost(DataSet: TDataSet);
begin
if IsRight(self,Dataset)=false then
begin
showmessage('对不起,你的权限不够!');
abort;
end;
adopasswordpassword.asstring:=addpassword(adopasswordpassword.asstring);
end;
procedure TFormsecurity.ADOpasswordnoChange(Sender: TField);
begin
if adopassword.state=dsedit then
begin
datamod.Query1.Close;
datamod.Query1.Sql.Text:='Update sys03012 set no='''+(Sender as TField).newvalue+''' where no='''+(Sender as TField).oldvalue+''' ';
datamod.Query1.execsql;
end;
end;
procedure TFormsecurity.ADOsecuritBeforePost(DataSet: TDataSet);
begin
if IsRight(self,Dataset)=false then
begin
showmessage('对不起,你的权限不够!');
abort;
end;
end;
procedure TFormsecurity.ToolButton1Click(Sender: TObject);
begin
// ADOpassword.open;
adosecurit.close;
adosecurit.DataSource:=DSpassword;
adosecurit.commandtext:='select no, menucaptionbig, menuparentbig, menusubparentbig, R_Add, '+
'R_Edit, R_Del, R_Print from view_menu where no=:no ';
adosecurit.open;
adosecurit.first;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Add.AsBoolean:=true;
ADOsecuritR_Edit.AsBoolean:=true;
ADOsecuritR_Del.AsBoolean:=true;
ADOsecuritR_Print.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
end;
procedure TFormsecurity.N3Click(Sender: TObject);
begin
ToolButton1Click(sender);
end;
procedure TFormsecurity.ToolButton3Click(Sender: TObject);
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Add.AsBoolean:=true;
ADOsecuritR_Edit.AsBoolean:=true;
ADOsecuritR_Del.AsBoolean:=true;
ADOsecuritR_Print.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
procedure TFormsecurity.N4Click(Sender: TObject);
begin
ToolButton3Click(sender);
end;
procedure TFormsecurity.N5Click(Sender: TObject);
begin
n5.Checked:=not n5.Checked ;
if n5.Checked=true then
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Add.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
end
else
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Add.AsBoolean:=false;
adosecurit.next;
adosecurit.EnableControls;
end;
end;
end;
procedure TFormsecurity.N6Click(Sender: TObject);
begin
n6.Checked:=not n6.Checked ;
if n6.Checked=true then
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Edit.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
end
else
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Edit.AsBoolean:=false;
adosecurit.next;
adosecurit.EnableControls;
end;
end;
end;
procedure TFormsecurity.N7Click(Sender: TObject);
begin
n7.Checked:=not n7.Checked ;
if n7.Checked=true then
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Del.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
end
else
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Del.AsBoolean:=false;
adosecurit.next;
adosecurit.EnableControls;
end;
end;
end;
procedure TFormsecurity.N8Click(Sender: TObject);
begin
n8.Checked:=not n8.Checked ;
if n8.Checked=true then
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Print.AsBoolean:=true;
adosecurit.next;
adosecurit.EnableControls;
end;
end
else
begin
adosecurit.First;
while not adosecurit.Eof do
begin
adosecurit.DisableControls;
adosecurit.edit;
ADOsecuritR_Print.AsBoolean:=false;
adosecurit.next;
adosecurit.EnableControls;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -