⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_checkrights.pas

📁 餐营的数据核算,模拟入库,出库,库存.对餐营的流程详细叙述
💻 PAS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -