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

📄 unit_frmgrouppower.pas

📁 影院售票系统完整源码
💻 PAS
字号:
unit Unit_frmgrouppower;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit_frmtemplate2, StdCtrls, Buttons, ExtCtrls, ComCtrls,
  CyberTreeView,Menus;

type
  Tfrmgrouppower = class(Tfrmtemplate2)
    Label1: TLabel;
    CyberCheckTree1: TCyberCheckTree;
    Btnsave: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure BtnsaveClick(Sender: TObject);
  private
    procedure InitMenu(_GroupID:Integer);
    function SaveMenu(_GroupID:Integer):Boolean;
    { Private declarations }
  public
    groupid:integer;
    { Public declarations }
  end;

var
  frmgrouppower: Tfrmgrouppower;

implementation
uses unit_public,unit_adodm,unit_frmmain;
{$R *.dfm}

{ Tfrmgrouppower }

procedure Tfrmgrouppower.InitMenu(_GroupID: Integer);
var
  myMenu : TMenu;
  Item0,Item1 : TMenuItem;
  I,J:Integer;
  Node0 ,Node1 : TTreeNode;
  _name,_sqlstr :String;
begin

  CyberCheckTree1.Items.Clear;

  //构造树型!
  myMenu := frmmain.MainMenu;
  for I:=1 to myMenu.Items.Count -3 do
  begin
    Item0 := myMenu.Items[I];
    Node0 := CyberCheckTree1.Items.Add(nil,Item0.Caption);
    Node0.Data := Item0;
    for J:=0 to Item0.Count -1  do
    begin
      Item1 := Item0.Items[J];
      Node1 := CyberCheckTree1.Items.AddChild(Node0,Item1.Caption);
      Node1.Data := Item1;
    end;
  end;
  //根据ID来给树型赋值!
  _sqlstr := 'Select MenuName from tblpower Where GroupID='+IntToStr(_GroupID);
  if publicinfo.Execsql(_sqlstr,false) then
  begin
     with adodm.ADOQRY do
     begin
       if recordcount<=0 then exit;
       First;
       while not Eof  do
       begin
         _name := FieldbyName('MenuName').AsString;
         for J:=0 to CyberCheckTree1.Items.Count -1 do
         begin
            Node0 := CyberCheckTree1.Items[J];
            Item0 := Node0.Data;
            if Trim(Item0.Name) = Trim(_name) then
            begin
               CyberCheckTree1.ChangeNodeCheckState(Node0,csChecked);
               break;
            end;
         end;
         Next;
       end;
     end;
  end;
end;

function Tfrmgrouppower.SaveMenu(_GroupID: Integer):Boolean;
var
  sqlstr:String;
  Node0 :TTreeNode;
  I:Integer;
  Item0 :TMenuItem;
begin
  result:=true;
  sqlstr := 'delete from tblpower where GroupID='+InttoStr(_GroupID);
  publicinfo.Execsql(sqlstr,true) ;
  for I:=0 to CyberCheckTree1.Items.Count -1 do
  begin
      Node0 := CyberCheckTree1.Items[I];
      if Node0.Text ='-' then  continue;
      Item0  := Node0.data ;
      if CyberCheckTree1.ItemState[I]= csChecked then
      begin
         sqlstr := Item0.Name;
         sqlstr := 'Insert into tblpower(GroupID,MenuName) values( '+IntToStr(_GroupID)+','''+ sqlstr +''')';
         if not PublicInfo.Execsql(sqlstr,true) then
         begin
           result:=false;
           break;
         end;
      end;
  end;
end;

procedure Tfrmgrouppower.FormShow(Sender: TObject);
begin
  inherited;
  InitMenu(groupid);
end;

procedure Tfrmgrouppower.BtnsaveClick(Sender: TObject);
begin
  inherited;
  if SaveMenu(groupid) then
  begin
    Publicinfo.showmsg('角色权限设置成功!');
    ModalResult:=mrok;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -