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

📄 qxgl_form.pas

📁 Delphi7和ACCESS开发的用户权限管理的源程序.
💻 PAS
📖 第 1 页 / 共 2 页
字号:

          SCZH:=QX_DG.Fields[0].AsString;
          YHGNB_Q:=TADOQuery.Create(nil);
          YHGNB_Q.Connection:=Connect;
          {YHGNB_Q.SQL.Add('delect * from 用户功能表 where 帐号=:帐号');
          YHGNB_Q.Parameters.ParamByName('帐号').Value:=QX_DG.Fields[0].AsString;
          YHGNB_Q.ExecSQL;}

          YHGNB_Q.Close;
          YHGNB_Q.SQL.Clear;
          YHGNB_Q.SQL.Add('select * from 用户功能表 where 帐号=:帐号');
          YHGNB_Q.Parameters.ParamByName('帐号').Value:=QX_DG.Fields[0].AsString;
          YHGNB_Q.Open;
          while not YHGNB_Q.Eof do  YHGNB_Q.Delete;

          YHB_T.Locate('帐号',QX_DG.Fields[0].AsString,[]);
          YHB_T.Delete;

          QXBH_FE.Text:='';
          QXXM_FE.Text:='';
          ZM_FCB.ItemIndex:=0;
          XMM_FE.Text:='';
          QR_FE.Text:='';
          QXGL_Q.Requery;
          Display;

          CZRZ:='          '+SCZH+'帐号删除成功'+'    '+timetostr(time);
          CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
          WriteCZRZ;
        end;


  //FreeAndNil(YHB_Q);
 // FreeAndNil(ZGNB_Q);
  //FreeAndNil(YHGNB_Q);
end;

procedure TQXGL_F.CZ_FBClick(Sender: TObject);
begin
  if ZH_FE.Text='' then
    begin
      if ZH_FRB.Checked then
        ZH:=trim(QX_DG.Fields[0].AsString);
      if XM_FRB.Checked then
        ZH:=trim(QX_DG.Fields[1].AsString);
      if QX_FRB.Checked then
        ZH:=trim(QX_DG.Fields[2].AsString);
    end
  else
    ZH:=trim(ZH_FE.Text);
  FlatGroupBox2.Caption:=QX_DG.Fields[1].AsString+ '用户已有权限:';

  if ZH_FRB.Checked then
    if not QXGL_Q.Locate('帐号',ZH,[]) then                       //根据Zh_FE(帐号)查找,DBGRID定位
      showmessage('此帐号不存在');
  if XM_FRB.Checked then
     if not  QXGL_Q.Locate('姓名',ZH,[]) then
      showmessage('此用户不存在');
  if QX_FRB.Checked then
     if not  QXGL_Q.Locate('组名',ZH,[]) then
      showmessage('此组名不存在');


  QXBH_FE.Text:=QX_DG.Fields[0].AsString;
  QXXM_FE.Text:=QX_DG.Fields[1].AsString;
  ZM_FCB.ItemIndex:=ZM_FCB.Items.IndexOf(QX_DG.Fields[2].AsString);//QX_DGMouseUp(QX_DG);

  QXGL_Q1.Close;
  QXGL_Q1.SQL.Clear;
  QXGL_Q1.SQL.Add('Select 功能名,A.功能号 From 用户功能表 A,功能表 B Where 帐号=:帐号 and A.功能号=B.功能号');
  //QXGL_Q1.Parameters.ParamByName('帐号').Value:=ZH;
  QXGL_Q1.Parameters.ParamByName('帐号').Value:=QXGL_Q.FieldValues['帐号'];
  QXGL_Q1.Open;
  if  QXGL_Q1.RecordCount>0 then
    begin
      QXGL_Q1.Close;
      QX_DS1.DataSet:=QXGL_Q1;
      QX_DG1.Columns[0].FieldName:='功能名';
      QXGL_Q1.Open;
    end;
  if  QXXG_FRBtn.Checked then
    begin
      QXBH_FE.Enabled:=False;
      QXXM_FE.Enabled:=True;
      XMM_FE.Enabled:=True;
      QR_FE.Enabled:=True;
    end;
  if ZHSC_FRBtn.Checked then
    begin
      QXBH_FE.Enabled:=False;
      QXXM_FE.Enabled:=False;
      XMM_FE.Enabled:=False;
      QR_FE.Enabled:=False;
    end;
  ZH_FE.Text:='';
  //ZH_FE.SetFocus;
end;

procedure TQXGL_F.FlatButton1Click(Sender: TObject);
begin
  close;
end;
//******************************************************************************
procedure TQXGL_F.FlatButton2Click(Sender: TObject);
{var
  Del_Flag:integer;
  GNB_T:TADOTable;
  GNB_Q:TADOQuery;
  HSXX_Q:TADOQuery;   }
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;

  HSXX_Q:=TADOQuery.Create(nil);
  HSXX_Q.Connection:=Connect;
  HSXX_Q.SQL.Add('select * from 用户功能表');
  HSXX_Q.SQL.Add('where 帐号=:帐号');
  HSXX_Q.Parameters.ParamByName('帐号').Value:=ZH;
  HSXX_Q.Open;
  if HSXX_Q.RecordCount>0 then
    begin
      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:=ZH;
      GNB_Q.Open;
      if  (GNB_Q.FieldValues['功能号']='10') or (GNB_Q.FieldValues['功能号']='20') then
         begin
            MessageBox(handle,'不能删除此功能','错误',MB_OK or MB_ICONERROR);
            exit;
         end ;

      CZRZ:='          '+ZH+'帐号删除'+GNB_T.FieldByName('功能名').AsString+'权限    '+timetostr(time);
      CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
      WriteCZRZ;

      GNB_Q.Delete;
      QXGL_Q1.Requery;
      //FreeAndNil(GNB_Q);
    end
  else
    begin
      if ZH<>'' then
        MessageBox(handle,'没有要删除的权限','没有要删除的权限',MB_OK or MB_ICONERROR)
      else
        MessageBox(handle,'请先指定帐号','请先指定帐号',MB_OK or MB_ICONERROR);
    end;
  ZH_FE.Text:='';
  //FreeAndNil(GNB_T);
  //FreeAndNil(GNB_Q);
  //FreeAndNil(HSXX_Q);    }
end;
//******************************************************************************
procedure TQXGL_F.TJ_FBClick(Sender: TObject);
{var
   p:TPoint;   }
begin
  {if ZH=''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;
       GNB_F.Top := FlatGroupBox2.ClientToScreen(P).y;
       GNB_F.Left := FlatGroupBox2.ClientToScreen(P).x;
       //GNB_F.Show(Edit1);
       GNB_F.ShowModal;
    end;  }
end;
//******************************************************************************
procedure TQXGL_F.ZH_FEKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if Key=VK_RETURN then CZ_FBClick(CZ_FB);
end;
//******************************************************************************
procedure TQXGL_F.QR_FEKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if Key=VK_RETURN then QXZX_FBtnClick(QXZX_FBtn);
end;
//******************************************************************************
procedure TQXGL_F.QX_DGMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  CZ_FBClick(CZ_FB);
end;
//******************************************************************************
procedure TQXGL_F.FlatButton3Click(Sender: TObject);
begin
  Close;
end;
//******************************************************************************
procedure TQXGL_F.ZHSC_FRBtnClick(Sender: TObject);
begin
  QXBH_FE.Enabled:=False;
  QXXM_FE.Enabled:=False;
  ZM_FCB.Enabled:=False;
  XMM_FE.Enabled:=False;
  QR_FE.Enabled:=False;
  CZ_FB.Enabled:=True;
  ZH_FE.Enabled:=True;
  QX_DG.Enabled:=True;
  Display;
end;
//******************************************************************************
procedure TQXGL_F.YHGL_PCChange(Sender: TObject);
begin
  if YHGL_PC.ActivePage=ZHGL_TS then
     QXZX_FBtn.Visible:=true
  else
     QXZX_FBtn.Visible:=false;
end;
//******************************************************************************
procedure TQXGL_F.N2Click(Sender: TObject);
var
   p:TPoint;
begin
  if ZH=''then
    begin
      MessageBox(handle,'请先在左面选择帐户','请选择帐户',MB_OK or MB_ICONERROR);
      exit;
    end
  else
    begin
       P.x := QX_DG1.Left+QX_DG1.Width;
       P.y := QX_DG1.Top;
       GNB_F.Top := FlatGroupBox2.ClientToScreen(P).y;
       GNB_F.Left := FlatGroupBox2.ClientToScreen(P).x;
       //GNB_F.Show(Edit1);
       GNB_F.ShowModal;
    end;
end;
//******************************************************************************
procedure TQXGL_F.N3Click(Sender: TObject);
var
  Del_Flag:integer;
  GNB_T:TADOTable;
  GNB_Q:TADOQuery;
  HSXX_Q:TADOQuery;
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;

  HSXX_Q:=TADOQuery.Create(nil);
  HSXX_Q.Connection:=Connect;
  HSXX_Q.SQL.Add('select * from 用户功能表');
  HSXX_Q.SQL.Add('where 帐号=:帐号');
  HSXX_Q.Parameters.ParamByName('帐号').Value:=ZH;
  HSXX_Q.Open;
  if HSXX_Q.RecordCount>0 then
    begin
      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:=ZH;
      GNB_Q.Open;
      if  (GNB_Q.FieldValues['功能号']='10') or (GNB_Q.FieldValues['功能号']='20') then
         begin
            MessageBox(handle,'不能删除此功能','错误',MB_OK or MB_ICONERROR);
            exit;
         end ;

      CZRZ:='          '+ZH+'帐号删除'+GNB_T.FieldByName('功能名').AsString+'权限    '+timetostr(time);
      CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
      WriteCZRZ;

      GNB_Q.Delete;
      QXGL_Q1.Requery;
      //FreeAndNil(GNB_Q);
    end
  else
    begin
      if ZH<>'' then
        MessageBox(handle,'没有要删除的权限','没有要删除的权限',MB_OK or MB_ICONERROR)
      else
        MessageBox(handle,'请先指定帐号','请先指定帐号',MB_OK or MB_ICONERROR);
    end;
  ZH_FE.Text:='';
  //FreeAndNil(GNB_T);
  //FreeAndNil(GNB_Q);
  //FreeAndNil(HSXX_Q);
end;
//******************************************************************************
procedure TQXGL_F.N1Click(Sender: TObject);
var
  YHGNB_Q:TADOQuery;
  Flag:integer;
  SCZH:String;//要删除的帐号
begin
   if UserName=QX_DG.Fields[0].AsString then
     showmessage('此帐号正在使用中,不能删除')
   else
     begin
       Flag:=MessageBox(handle,'警告:删除是永久的不可恢复的!确认删除吗?','确认删除',MB_OKCANCEL or MB_ICONWarning);
       if flag=IDCANCEL then exit;

       SCZH:=QX_DG.Fields[0].AsString;
       YHGNB_Q:=TADOQuery.Create(nil);
       YHGNB_Q.Connection:=Connect;
          {YHGNB_Q.SQL.Add('delect * from 用户功能表 where 帐号=:帐号');
          YHGNB_Q.Parameters.ParamByName('帐号').Value:=QX_DG.Fields[0].AsString;
          YHGNB_Q.ExecSQL;}

       YHGNB_Q.Close;
       YHGNB_Q.SQL.Clear;
       YHGNB_Q.SQL.Add('select * from 用户功能表 where 帐号=:帐号');
       YHGNB_Q.Parameters.ParamByName('帐号').Value:=QX_DG.Fields[0].AsString;
       YHGNB_Q.Open;
       while not YHGNB_Q.Eof do  YHGNB_Q.Delete;

       YHB_T.Locate('帐号',QX_DG.Fields[0].AsString,[]);
       YHB_T.Delete;

       QXBH_FE.Text:='';
       QXXM_FE.Text:='';
       ZM_FCB.ItemIndex:=0;
       XMM_FE.Text:='';
       QR_FE.Text:='';
       QXGL_Q.Requery;
       Display;

       CZRZ:='          '+SCZH+'帐号删除成功'+'    '+timetostr(time);
       CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
       WriteCZRZ;
     end;
end;
//******************************************************************************
procedure TQXGL_F.QX_DG1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  num:=self.HelpContext;
  F1_Help(key);
end;
//******************************************************************************
procedure TQXGL_F.QXXG_FRBtnKeyDown(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 + -