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

📄 yhzgl_form.pas

📁 一个小的Delphi的权限控制工具
💻 PAS
字号:
unit YHZGL_Form;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TFlatEditUnit, TFlatRadioButtonUnit, TFlatButtonUnit,
  Grids, DBGrids, TFlatGroupBoxUnit, ExtCtrls, TFlatPanelUnit,DB,ADODB,
  TFlatSpeedButtonUnit, TFlatListBoxUnit, TFlatCheckListBoxUnit;

type
  TYHZGL_F = class(TForm)
    FlatPanel1: TFlatPanel;
    FlatGroupBox5: TFlatGroupBox;
    YHZ_DG: TDBGrid;
    Del_FBtn: TFlatButton;
    FlatGroupBox8: TFlatGroupBox;
    Label18: TLabel;
    Label19: TLabel;
    ZBH_FE: TFlatEdit;
    ZMC_FE: TFlatEdit;
    YHZ_DS: TDataSource;
    FlatButton1: TFlatButton;
    FlatGroupBox1: TFlatGroupBox;
    QX_DG1: TDBGrid;
    TJ_FB: TFlatButton;
    FlatButton2: TFlatButton;
    QX_DS: TDataSource;
    Edit1: TEdit;
    LHZGL_FBtn: TFlatButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure Close_BtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Del_FBtnClick(Sender: TObject);
    procedure YHZ_DGMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TJ_FRBtnClick(Sender: TObject);
    procedure XG_FRBtnClick(Sender: TObject);
    procedure FlatButton1Click(Sender: TObject);
    procedure TJ_FBClick(Sender: TObject);
    procedure FlatButton2Click(Sender: TObject);
    procedure LHZGL_FBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  YHZGL_F: TYHZGL_F;

implementation

uses share, ZGNB_Form;



{$R *.dfm}

var
  YHZ_T:TADOTable;


procedure TYHZGL_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:=caFree;
end;
//***********************************************************************************
procedure TYHZGL_F.FormDestroy(Sender: TObject);
begin
  FreeAndNil(YHZ_T);
  FreeAndNil(ZGNB_Q);
  YHZGL_F:=nil;
end;
//***********************************************************************************
procedure TYHZGL_F.Close_BtnClick(Sender: TObject);
begin
  close;
end;
//***********************************************************************************
procedure TYHZGL_F.FormCreate(Sender: TObject);
begin
  YHZ_T:=TADOTable.Create(nil);
  YHZ_T.Connection:=Connect;
  YHZ_T.TableName:='用户组表';
  YHZ_DS.DataSet:=YHZ_T;
  YHZ_DG.Columns[0].FieldName:='组号';
  YHZ_DG.Columns[1].FieldName:='组名';
  YHZ_T.Open;

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

end;
//***********************************************************************************
procedure TYHZGL_F.Del_FBtnClick(Sender: TObject);           //删除组
var
  Del_Flag:integer;
  ZGNB_Q:TADOQuery;
begin
  Del_Flag:=MessageBox(handle,'警告:删除是永久的不可恢复的!确认删除吗?','删除确认',MB_OKCANCEL or MB_ICONWarning);
  if Del_Flag=IDCancel then exit;
  ZGNB_Q:=TADOQuery.Create(nil);
  ZGNB_Q.Connection:=Connect;
  ZGNB_Q.SQL.Add('delete * from 组功能表 where 组号=:组号');
  ZGNB_Q.Parameters.ParamByName('组号').Value:=YHZ_DG.Fields[0].AsString;
  ZGNB_Q.ExecSQL;

  YHZ_DG.DataSource.DataSet.Delete;
  MessageBox(handle,'记录已成功删除!','删除成功',MB_OK or MB_ICONINFORMATION);
  ZBH_FE.Text:='';
  ZBH_FE.Enabled:=true;
  ZMC_FE.Text:='';


  //FreeAndNil(ZGNB_Q);
end;
//***********************************************************************************
procedure TYHZGL_F.YHZ_DGMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ZH1:=YHZ_DG.Fields[0].AsString;
  FlatGroupBox1.Caption:=YHZ_DG.Fields[1].AsString+ '已有权限';
  ZGNB_Q.Close;
  ZGNB_Q.SQL.Clear;
  ZGNB_Q.SQL.Add('Select 功能名,A.功能号 From 组功能表 A,功能表 B Where 组号=:组号 and A.功能号=B.功能号');
  ZGNB_Q.Parameters.ParamByName('组号').Value:=YHZ_DG.Fields[0].AsString;

  QX_DS.DataSet:=ZGNB_Q;
  QX_DG1.Columns[0].FieldName:='功能名';
  ZGNB_Q.Open;
end;
//***********************************************************************************
procedure TYHZGL_F.TJ_FRBtnClick(Sender: TObject);   //选中添加
begin
  ZBH_FE.Text:='';
  ZBH_FE.Enabled:=true;
  ZMC_FE.Text:='';
end;
//***********************************************************************************
procedure TYHZGL_F.XG_FRBtnClick(Sender: TObject);   //选中修改
begin
  ZBH_FE.Text:=YHZ_DG.DataSource.DataSet.FieldValues['组号'];
  ZBH_FE.Enabled:=false;
  ZMC_FE.Text:=YHZ_DG.DataSource.DataSet.FieldValues['组名'];
end;
//***********************************************************************************
procedure TYHZGL_F.FlatButton1Click(Sender: TObject);
begin
  close;
end;


procedure TYHZGL_F.TJ_FBClick(Sender: TObject);
var
   p:TPoint;
begin
  if ZH1=''then
    begin
      MessageBox(handle,'请先在左面选择组号','请选择组号',MB_OK or MB_ICONERROR);
      exit;
    end
  else
   begin
   P.x := TJ_FB.Left+TJ_FB.Width;
   P.y := TJ_FB.Top;
   ZGNB_F.Top := FlatGroupBox1.ClientToScreen(P).y;
   ZGNB_F.Left := FlatGroupBox1.ClientToScreen(P).x;
   ZGNB_F.Show(Edit1);
   end;
end;

procedure TYHZGL_F.FlatButton2Click(Sender: TObject);
var
  Del_Flag:integer;
  GNB_T:TADOTable;
  GNB_Q:TADOQuery;
begin
  if ZH1=''then
    begin
      MessageBox(handle,'请先在左面选择组号','请选择组号',MB_OK or MB_ICONERROR);
      exit;
   end
  else begin
    GNB_T:=TADOTable.Create(nil);
    GNB_T.Connection:=Connect;
    GNB_T.TableName:='功能表';
    GNB_T.Open;

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

    Del_Flag:=MessageBox(handle,'警告:删除是永久的不可恢复的!确认删除吗?','删除确认',MB_OKCANCEL or MB_ICONWarning);
    if Del_Flag=IDCancel then exit;

    GNB_T.Locate('功能名',QX_DG1.Fields[0].AsString,[]);
    GNB_Q.SQL.Add('select * from 组功能表 where 功能号=:功能号 and 组号=:组号' );
    GNB_Q.Parameters.ParamByName('功能号').Value:=GNB_T.FieldValues['功能号'];
    GNB_Q.Parameters.ParamByName('组号').Value:=ZH1;
    GNB_Q.Open;
    GNB_Q.Delete;
    ZGNB_Q.Requery;
  end;
  //FreeAndNil(GNB_T);
 // FreeAndNil(GNB_Q);

end;


procedure TYHZGL_F.LHZGL_FBtnClick(Sender: TObject);
begin
 if (ZBH_FE.Text='') or (ZMC_FE.Text='') then
   begin
      MessageBox(handle,'请先填写组号和组名','请填写组号和组名',MB_OK or MB_ICONERROR);
      exit;
   end
 else
   begin
      YHZ_T.Append;
      YHZ_T.FieldByName('组号').AsString:=ZBH_FE.Text;
      YHZ_T.FieldByName('组名').AsString:=ZMC_FE.Text;
      YHZ_T.Post;
      YHZ_T.Requery;
      ZBH_FE.Text:='';
      ZMC_FE.Text:='';
     end;
end;

end.

⌨️ 快捷键说明

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