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

📄 security.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit security;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask, DBCtrls, RXCtrls, ExtCtrls, Db, DBTables, Grids, DBGrids,
  ComCtrls, ImgList, ToolWin, Menus, Buttons, ADODB, Wwdbigrd, Wwdbgrid
  ;

type
  TFormsecurity = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Panel2: TPanel;
    ListBox4: TListBox;
    Splitter1: TSplitter;
    Splitter2: TSplitter;
    Panel1: TPanel;
    Panel3: TPanel;
    Label3: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Panel4: TPanel;
    DBGrid2: TDBGrid;
    Splitter3: TSplitter;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    ToolBar1: TToolBar;
    tblpnt: TToolButton;
    Find: TToolButton;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    DBNavigator1: TDBNavigator;
    Panel5: TPanel;
    Button1: TButton;
    Panel6: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    ListBox1: TListBox;
    ListBox2: TListBox;
    ListBox3: TListBox;
    Panel7: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label8: TLabel;
    DSpassword: TDataSource;
    DSsecurit: TDataSource;
    ADOpassword: TADODataSet;
    ADOpasswordno: TStringField;
    ADOpasswordname: TStringField;
    ADOpasswordpassword: TStringField;
    ADOsecurit: TADODataSet;
    ADOsecuritno: TStringField;
    ADOsecuritmenucaptionbig: TStringField;
    ADOsecuritmenuparentbig: TStringField;
    ADOsecuritmenusubparentbig: TStringField;
    DBGrid1: TwwDBGrid;
    ADOsecuritR_Add: TBooleanField;
    ADOsecuritR_Edit: TBooleanField;
    ADOsecuritR_Del: TBooleanField;
    ADOsecuritR_Print: TBooleanField;
    DBGrid1IButton: TwwIButton;
    ToolButton1: TToolButton;
    PopupMenu1: TPopupMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    ToolButton3: TToolButton;
    ToolButton5: TToolButton;
    PopupMenu2: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure modifyClick(Sender: TObject);
    procedure copyClick(Sender: TObject);
    procedure tblexitClick(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FindClick(Sender: TObject);
    procedure DBGrid2TitleClick(Column: TColumn);
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ADOpasswordBeforeDelete(DataSet: TDataSet);
    procedure ADOpasswordBeforePost(DataSet: TDataSet);
    procedure ADOpasswordnoChange(Sender: TField);
    procedure ADOsecuritBeforePost(DataSet: TDataSet);
    procedure ToolButton1Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
  private
    { Private declarations }
    f:string;
  public
    { Public declarations }
    function menuname(menun,parentmenu,subparentmenu:string):string;
    procedure menuitem(pos:integer;menuname:string;Var two:integer);
  end;

var
  Formsecurity: TFormsecurity;
  insert:boolean;

implementation

uses datamol, main, copysecurity, publicfunction, canfind;
{$R *.DFM}

procedure TFormsecurity.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  adosecurit.close;
  adopassword.close;
  formsecurity:=nil;
  action:=cafree;
end;

procedure TFormsecurity.FormCreate(Sender: TObject);
var
   i:integer;
begin
  f:='ASC';
  with formmain do
    for i:=0 to MainMenu1.items.count-1 do
     begin
       if MainMenu1.items[i].visible=true then
       listbox1.Items.add(MainMenu1.items[i].caption);
     end;
  adopassword.open;
  adosecurit.open;
end;

procedure TFormsecurity.FormKeyPress(Sender: TObject; var Key: Char);
begin
     if (key=#13) and (sender<>dbgrid1) then
     begin
        key:=#0;
        selectnext(activecontrol,true,true);
     end;
end;

procedure TFormsecurity.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
     dbgrid_keypress(sender,key);
end;

procedure TFormsecurity.modifyClick(Sender: TObject);
begin
       adopassword.Edit;
end;

procedure TFormsecurity.copyClick(Sender: TObject);
begin
  if not assigned(formcopysecurity) then
    formcopysecurity:=TFormcopysecurity.Create(application);
  formcopysecurity.show;
end;

procedure TFormsecurity.tblexitClick(Sender: TObject);
begin
  close;
end;

procedure TFormsecurity.ListBox1Click(Sender: TObject);
var
   i,j:integer;
begin
   with formmain do
   begin
     j:=listbox1.itemindex;
     listbox2.items.clear;
     listbox3.items.clear;
     if j>=0 then
     begin
          for i:=0 to MainMenu1.items[j].Count-1 do
          begin
              if (MainMenu1.items[j].items[i].caption<>'-') and (MainMenu1.items[j].items[i].visible=true) then
              listbox2.Items.Add(MainMenu1.items[j].items[i].caption);
          end;
     end;
   end;
end;

procedure TFormsecurity.ListBox2Click(Sender: TObject);
var
    i,j,k,two:integer;
begin
   with formmain do
   begin
     two:=-1;
     i:=listbox1.itemindex;
     j:=listbox2.ItemIndex;
     listbox3.items.clear;
     menuitem(i,listbox2.items[j],two);
     if (MainMenu1.Items[i].Items[two].Count>0) then
     begin
          for k:=0 to MainMenu1.items[i].items[two].Count-1 do
          begin
               if (MainMenu1.items[i].items[two].items[k].Caption<>'-') and (MainMenu1.items[i].items[two].items[k].visible=true) then
                  listbox3.items.add(MainMenu1.items[i].items[two].items[k].caption);
          end;
     end;
   end;
end;

procedure TFormsecurity.SpeedButton1Click(Sender: TObject);
var
    i,j,k:integer;
begin
 if listbox1.SelCount>1 then
 begin
    for I := 0 to Listbox1.Items.Count - 1 do
        if Listbox1.Selected[I] then
           if listbox4.items.indexof(listbox1.items[i])=-1 then
              Listbox4.items.add(Listbox1.items[i])
 end
 else
 begin
  if (listbox1.selcount=1) then
      if (listbox2.SelCount=0) then
      begin
         if listbox4.items.indexof(listbox1.items[listbox1.itemindex])=-1 then
            listbox4.items.add(listbox1.items[listbox1.itemindex])
      end
      else
      begin
          if listbox2.SelCount>1 then
          begin
             for j:=0 to listbox2.items.count-1 do
                 if listbox2.selected[j] then
                    if listbox4.items.indexof(listbox1.items[listbox1.itemindex]+'-'+listbox2.items[j])=-1 then
                       listbox4.items.add(listbox1.Items[listbox1.itemindex]+'-'+listbox2.items[j])
          end
          else
          begin
          if listbox2.SelCount=1 then
             if listbox3.SelCount=0 then
             begin
               if listbox4.items.indexof(listbox1.items[listbox1.itemindex]+'-'+listbox2.items[listbox2.itemindex])=-1 then
                  listbox4.items.add(listbox1.items[listbox1.itemindex]+'-'+listbox2.Items[listbox2.itemindex])
             end
             else
             begin
                 for k:=0 to listbox3.items.count-1 do
                    if listbox3.selected[k] then
                       if listbox4.items.indexof(listbox1.items[listbox1.itemindex]+'-'+listbox2.items[listbox2.itemindex]+'-'+listbox3.items[k])=-1 then
                          listbox4.items.add(listbox1.items[listbox1.itemindex]+'-'+listbox2.items[listbox2.itemindex]+'-'+listbox3.items[k]);
             end
          end;
      end;
 end;
end;

procedure TFormsecurity.SpeedButton2Click(Sender: TObject);
var
   i:integer;
begin
     for i:=listbox4.items.count-1 downto 0 do
     begin
         if listbox4.Selected[i] then
            listbox4.Items.Delete(i);
     end;
end;

procedure TFormsecurity.SpeedButton3Click(Sender: TObject);
begin
     listbox4.Items.Clear;
end;

procedure TFormsecurity.Button1Click(Sender: TObject);
var
   i:integer;
   menu,parent,subparent:string;
begin
   with datamod do
   begin
     if adopassword.modified then
        adopassword.post;
     Query1.close;
     Query1.sql.clear;
     if listbox4.items.Count>0 then
     Query1.sql.add('Delete from sys03012 where no='''+adopasswordno.AsString+''' ');
     for i:=0 to listbox4.items.count-1 do   //保存菜单名,以及添加删除,等的权限.
     begin
         parent:='';
         subparent:='';
         menu:=listbox4.items[i];
         if pos('-',menu)>0 then
         begin
            parent:=copy(menu,1,pos('-',menu)-1);
            delete(menu,1,length(parent)+1);
            if pos('-',menu)>0 then
            begin
               subparent:=copy(menu,1,pos('-',menu)-1);
               delete(menu,1,length(subparent)+1);

⌨️ 快捷键说明

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