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

📄 zgnb_form.pas

📁 Delphi7和ACCESS开发的用户权限管理的源程序.
💻 PAS
字号:
unit ZGNB_Form;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls,DB,ADODB;

type
  TZGNB_F = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    ListView1: TListView;
    Panel4: TPanel;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ListView1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
    Edit : TEdit;
    procedure Refresh;
    procedure Show(var Text:TEdit);virtual;
    constructor Create(AOwner : TComponent);override;
  end;

var
  ZGNB_F: TZGNB_F;
  GNB_Q:TADOQuery;
  YHB_Q:TADOQuery;    // 用户表
  QXGL_T:TADOTable;
  YHZB_T:TADOTable;    //用户组表

implementation

uses share, YHZGL_Form, CZRZ_Form;

{$R *.dfm}
//******************************************************************************
procedure TZGNB_F.Refresh;
begin
   GNB_Q.Close;
   GNB_Q.SQL.Clear;
   GNB_Q.SQL.Add('select 功能号,功能名 from 功能表');
   GNB_Q.SQL.Add('where 功能号 not in (select 功能号 from 组功能表 where 组号=:组号)');
   GNB_Q.Parameters.ParamByName('组号').Value:=ZH1;
   GNB_Q.Open;
   ListView1.Items.Clear;
   while not GNB_Q.Eof do
     begin
       with ListView1.Items.Add do
         begin
           Caption := GNB_Q.FieldByName('功能号').AsString;
           SubItems.Add(GNB_Q.FieldByName('功能名').AsString);
         end;
        GNB_Q.Next;
     end;
end;
//******************************************************************************
procedure TZGNB_F.FormCreate(Sender: TObject);
begin
  YHZB_T:=TADOTable.Create(nil);
  YHZB_T.Connection:=Connect;
  YHZB_T.TableName:='用户组表';
  YHZB_T.Open;

  QXGL_T:=TADOTable.Create(nil);
  QXGL_T.Connection:=Connect;
  QXGL_T.TableName:='组功能表';
  QXGL_T.Open;

  {YHGNB_T:=TADOTable.Create(nil);
  YHGNB_T.Connection:=Connect;
  YHGNB_T.TableName:='用户功能表';
  YHGNB_T.Open; }

  YHB_Q:=TADOQuery.Create(nil);
  YHB_Q.Connection:=Connect;

  GNB_Q:=TADOQuery.Create(nil);
  GNB_Q.Connection:=Connect;
end;
//******************************************************************************
procedure TZGNB_F.Button1Click(Sender: TObject);
var
  YHGNB_T:TADOTable;    // 用户功能表
begin
  if ZGNB_F.ListView1.Selected <> nil then
    begin
      Edit.Text := '';
      Edit.Text := ListView1.Selected.Caption;

      QXGL_T.Append;
      QXGL_T.FieldByName('组号').AsString:=ZH1;
      QXGL_T.FieldByName('功能号').AsString:=ListView1.Selected.Caption;
      QXGL_T.Post;

      YHB_Q.Close;
      YHB_Q.SQL.Clear;
      YHB_Q.SQL.Add('Select * from 用户表 where 组号='+quotedstr(ZH1));
      YHB_Q.Open;
      YHB_Q.First;
      if YHB_Q.RecordCount>0 then
        while not YHB_Q.Eof do
          begin
            YHGNB_T:=TADOTable.Create(nil);
            YHGNB_T.Connection:=Connect;
            YHGNB_T.TableName:='用户功能表';
            YHGNB_T.Open;

            if not (YHGNB_T.Locate('帐号;功能号',vararrayof([YHB_Q.FieldValues['帐号'],ListView1.Selected.Caption]),[])) then
              begin
                YHGNB_T.Append;
                YHGNB_T.FieldByName('帐号').AsString:=YHB_Q.FieldValues['帐号'];
                YHGNB_T.FieldByName('功能号').AsString:=ListView1.Selected.Caption;
                YHGNB_T.Post;
              end;
            YHB_Q.Next;
          end;

      GNB_Q.Locate('功能号',ListView1.Selected.Caption,[]);
      YHZB_T.Locate('组号',ZH1,[]);
      CZRZ:='          '+YHZB_T.FieldByName('组名').AsString+'组添加'+GNB_Q.FieldByName('功能名').AsString+'权限    '+timetostr(time);
      CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
      WriteCZRZ;

      ZGNB_Q.Requery;
      ListView1.Selected.Delete;
    end;
end;
//******************************************************************************
procedure TZGNB_F.ListView1DblClick(Sender: TObject);
begin
  if ListView1.Selected <> nil then
    Button1Click(Sender);
end;
//******************************************************************************
constructor TZGNB_F.Create(AOwner: TComponent);
begin
  inherited;
end;
//******************************************************************************
procedure TZGNB_F.Button2Click(Sender: TObject);
begin
   Close;
end;
//******************************************************************************
procedure TZGNB_F.Show(var Text:TEdit);
begin
  //inherited Show;
  //Edit := Text;
end;
//******************************************************************************
procedure TZGNB_F.FormShow(Sender: TObject);
begin
  try
    Refresh;
    ListView1.SetFocus;
  except
    ListView1.Items.Clear;
  end;
end;
//******************************************************************************
procedure TZGNB_F.FormDestroy(Sender: TObject);
begin
  FreeAndNil(GNB_Q);
end;
//******************************************************************************
procedure TZGNB_F.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    num:=self.HelpContext;
  F1_Help(key);
end;
//******************************************************************************
procedure TZGNB_F.ListView1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  num:=self.HelpContext;
  F1_Help(key);
end;
//******************************************************************************
end.

⌨️ 快捷键说明

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