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

📄 p_user.pas

📁 小学上课排课系统,非常实用,是实际使用软件
💻 PAS
字号:
unit p_user;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,p_mc, ExtCtrls, Grids, DBGrids, StdCtrls, Buttons, ComCtrls,
  DBCtrls, XPMenu;

type
  Tf_user = class(Tf_mc)
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBGrid2: TDBGrid;
    Edit1: TEdit;
    Bevel1: TBevel;
    Label1: TLabel;
    b_add: TBitBtn;
    RichEdit1: TRichEdit;
    B_del: TBitBtn;
    XPMenu1: TXPMenu;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure b_addClick(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure sele_user;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure B_delClick(Sender: TObject); // //过滤权限信息里的记录
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f_user: Tf_user;

implementation
uses p_dm;
{$R *.dfm}
procedure tf_user.sele_user;
begin
 //过滤权限信息里的记录
  with dm do
    begin
       if T_USER.RecordCount<>0 then
          begin
             t_qx.Requery;
             t_QX.Filter:='user_name='''+t_user['name']+'''';
             t_qx.Filtered:=true;
             if t_user['name']='SYSTEM' then
               begin
                 dbgrid2.Enabled:=false;
                 b_del.Enabled:=false;
               end
             else
               begin
                  dbgrid2.Enabled:=true;
                  b_del.Enabled:=true;
               end;
          end;
    end;
//过滤完毕
end;
procedure Tf_user.FormCreate(Sender: TObject);
begin
  dm.T_USER.Filtered:=false;
  dm.T_MENU.Filtered:=false;
  dm.T_QX.Filtered:=false;
  f_user.sele_user;
  f_user.ShowModal;
end;

procedure Tf_user.Edit1Change(Sender: TObject);
begin
  if edit1.Text='' then b_add.Enabled:=false
                    else b_add.Enabled:=true;
end;

procedure Tf_user.b_addClick(Sender: TObject);

begin
 with dm do
   begin
     //判断用户是否重名
     t_user.Filter:='name='''+edit1.Text+'''';
     t_user.Filtered:=true;
     if t_user.RecordCount<>0 then
        begin
           t_user.Filtered:=false;
           application.MessageBox('已有该用户,请重新输入用户名!','用户重名',mb_ok+mb_iconstop);
           edit1.Text:='';
           f_user.sele_user;    //过滤权限信息里的记录
           exit;
        end;
      t_user.Filtered:=false;
     //添加用户到user表
     t_user.Edit;
     t_user.Append;
     t_user['name']:=edit1.Text;
     t_user['password']:='';
     t_user['dt']:=now;
     t_user.Post;
    //添加用户权限信息到QX_INFO表
     t_menu.First;
     while not t_menu.Eof do
        begin
           t_qx.Edit;
           t_qx.Append;
           t_qx['user_name']:=edit1.Text;
           t_qx['menu_id']:=t_menu['id'];
           t_qx['menu_Caption']:=t_menu['caption'];
           t_qx['menu_xz']:=false;
           t_qx.Post;
           t_menu.Next;
        end;
   end;  //with dm do 语句完毕
   f_user.sele_user;    //过滤权限信息里的记录
   edit1.Text:='';
end;

procedure Tf_user.DBGrid2DblClick(Sender: TObject);
var
  recound:integer;//记下改动权限的记录号
begin
  inherited;
  with dm do
   begin
   if t_qx.RecordCount<>0 then
   begin
     //修改用户的权限
     recound:=t_qx.RecNo;
     t_qx.Edit;
     if t_qx['menu_xz'] then t_qx['menu_xz']:=false
        else t_qx['menu_xz']:=true;
     t_qx.Post;
     t_qx.Requery;
     t_qx.RecNo:=recound;//还原到改动权限的记录
   end;
   end;
end;

procedure Tf_user.DBGrid1CellClick(Column: TColumn);
begin
  inherited;
  f_user.sele_user;//过滤权限信息里的记录
end;

procedure Tf_user.B_delClick(Sender: TObject);
var
 y:integer;
begin
  inherited;
  with dm do
    begin
      y:=application.MessageBox('您确认删除该用户码?','删除',mb_okcancel+mb_iconquestion);
      if y=idok then
        begin
          //删除qx_info表中该用户的信息
          t_qx.Filter:='user_name='''+t_user['name']+'''';
          t_qx.Filtered:=true;
          while not t_qx.Eof do
            begin
              t_qx.First;
              t_qx.Edit;
              t_qx.Delete;
            end;
          t_qx.Filtered:=false;
          t_qx.Requery;
          //删除user表中该用户的信息
          t_user.Edit;
          t_user.Delete;
          t_user.Requery;
          f_user.sele_user;  //调用子过程——过滤用户权限
        end;                 //endif
    end;                     //with dm do 语句完毕
end;

end.

⌨️ 快捷键说明

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