📄 zgnb_form.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 + -