u_checkrights.~pas
来自「餐营的数据核算,模拟入库,出库,库存.对餐营的流程详细叙述」· ~PAS 代码 · 共 70 行
~PAS
70 行
unit U_CheckRights;
interface
uses windows,Classes,ADODB;
var
RightsList:TStringList;
type
PRights=^RRights;
RRights=record
FormName:String;
BtnName:String;
end;
function FillStrList(ADO:TADOQuery):Boolean;
procedure ClearStrList;
function CheckRights(FormName,BtnName:String):Boolean;
implementation
function FillStrList(ADO:TADOQuery):Boolean;
var
i:integer;
Rights:PRights;
begin
if Not Assigned(RightsList) then
RightsList:=TStringList.Create;
ADO.First;
while Not ADO.Eof do
begin
New(Rights);
Rights^.FormName:=ADO.fieldByName('FormName').AsString;
Rights^.BtnName:= ADO.fieldByName('BtnName').AsString;
RightsList.AddObject(Rights^.BtnName,TObject(Rights));
ADO.next;
end;
end;
procedure ClearStrList;
var
i:integer;
begin
for i:=0 to RightsList.Count-1 do
begin
if RightsList.Objects[0]<>nil then
Dispose(PRights(RightsList.Objects[0]));
RIghtsList.Delete(0);
end;
end;
function CheckRights(FormName,BtnName:String):Boolean;
var
i:integer;
begin
Result:=false;
if RightsList.IndexOf(BtnName)=-1 then exit;
for i:=0 to RightsList.Count-1 do
begin
if RightsList[i]=BtnName then
Result:=PRights(RightsList.Objects[i])^.FormName=FormName;
if Result then exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?