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

📄 usermanager.pas

📁 人事管理
💻 PAS
字号:
unit usermanager;

interface

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

type
  Tfrmusermanager = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Label4: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    ednewuser: TEdit;
    ednewkey1: TEdit;
    cmbuser: TComboBox;
    edoldkey: TEdit;
    ednewkey2: TEdit;
    edrenewkey2: TEdit;
    cmbnewrights: TComboBox;
    cmbuser2: TComboBox;
    cmbrights1: TComboBox;
    Panel1: TPanel;
    trvdisplay: TTreeView;
    edrenewkey1: TEdit;
    btnadduser: TBitBtn;
    btnmdkey: TBitBtn;
    btnmdright: TBitBtn;
    btncancel: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure btncancelClick(Sender: TObject);
    procedure btnmdrightClick(Sender: TObject);
    procedure btnmdkeyClick(Sender: TObject);
    procedure btnadduserClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmusermanager: Tfrmusermanager;

implementation

uses datarsgl;

{$R *.dfm}

procedure Tfrmusermanager.FormCreate(Sender: TObject);
begin
cmbnewrights.Items.Add('系统管理员');
cmbnewrights.Items.Add('操作员');
cmbrights1.Items.Add('系统管理员');
cmbrights1.Items.Add('操作员');
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb');
open;
if recordcount<>0 then
first;
while not eof do
begin
cmbuser.Items.Add(fieldbyname('name').AsString);
cmbuser2.Items.Add(fieldbyname('name').AsString);
next;
end;
end;
end;

procedure Tfrmusermanager.btncancelClick(Sender: TObject);
begin
close;
end;

procedure Tfrmusermanager.btnmdrightClick(Sender: TObject);
begin  //实现修改权限
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb where name='+quotedstr(cmbuser2.Text));
open;
if cmbuser2.Text='' then
   begin
   showmessage('对不起,您必须选择相应的用户才可修改其权限。');
   cmbuser2.SetFocus;
   end
else
    begin
    if cmbrights1.Text='' then
       begin
       showmessage('对不起,你必须选择权限才可'+#13+'修改相对应用户的权限。');
       cmbrights1.SetFocus;
       end
    else
       begin
       if RecordCount<>0 then
          begin
          Edit;
          fieldbyname('identify').AsString:=trim(cmbrights1.Text);
          If MessageDlg('是否要把用户新权限写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
             begin
             post;
             showmessage('修改权限成功!');
             cmbuser2.Text:='';
             cmbrights1.Text:='';
             cmbuser2.SetFocus;
             end
             else
             cancel;
          end
          else
          exit;
    end
  end
end;
end;

procedure Tfrmusermanager.btnmdkeyClick(Sender: TObject);
begin
if cmbuser.Text='' then
   begin
   showmessage('对不起,用户名不能为空.');
   cmbuser.SetFocus;
   end
else
    begin
    if edoldkey.Text='' then
       begin
       showmessage('对不起,旧密码不能为空.');
       edoldkey.SetFocus;
       end
     else
     begin
     with dmrsgl.userqry do
     begin
     close;
     sql.Clear;
     sql.Add('select * from usertb where name='+quotedstr(cmbuser.Text)+'and password='+quotedstr(edoldkey.Text));
     open;
     if ednewkey2.Text='' then
        begin
        showmessage('对不起,新密码不能为空.');
        ednewkey2.SetFocus;
        end
     else
         begin
         if edrenewkey2.Text='' then
            begin
            showmessage('对不起,重复新密码不能为空.');
            edrenewkey2.SetFocus;
            end
         else
            begin
            if trim(ednewkey2.Text)<>trim(edrenewkey2.Text) then
               begin
               showmessage('对不起,新密码和重复新密码不一致.');
               ednewkey2.Text:='';
               edrenewkey2.Text:='';
               ednewkey2.SetFocus;
               end
            else
               begin
               if recordcount<>0 then
                  begin
                  edit;
                  fieldbyname('password').AsString:=trim(ednewkey2.Text);
                  If MessageDlg('是否要把修改的用户密码写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
                     begin
                     post; //确认写入数据库中
                     showmessage('密码修改成功.');
                     //clear components text
                     cmbuser.Text:='';
                     edoldkey.Text:='';
                     ednewkey2.Text:='';
                     edrenewkey2.Text:='';
                     cmbuser.SetFocus;
                     end
                  else
                  cancel;
                  end
               else
               showmessage('对不起,新密码修改不成功.'+#13+'由于输入的旧密码发生错误所导致.');
               //clear components text
               cmbuser.Text:='';
               edoldkey.Text:='';
               ednewkey2.Text:='';
               edrenewkey2.Text:='';
               cmbuser.SetFocus;
               exit;
               end
              end
             end
            end
           end
        end      

end;

procedure Tfrmusermanager.btnadduserClick(Sender: TObject);
begin
with dmrsgl.userqry do
begin
close;
sql.Clear;
sql.Add('select * from usertb');
open;
if ednewuser.Text='' then
   begin
   showmessage('新加用户名不能为空.');
   ednewuser.SetFocus;
   end
else
   begin
   if ednewkey1.Text='' then
      begin
      showmessage('新密码不能为空.');
      ednewkey1.SetFocus;
      end
   else
      begin
      if edrenewkey1.Text='' then
          begin
          showmessage('新的重复密码不能为空.');
          edrenewkey1.SetFocus;
          end
      else
         begin
         if cmbnewrights.Text='' then
            begin
            showmessage('必须选择相应权限.');
            cmbnewrights.SetFocus;
            end
         else
            begin
            if trim(ednewkey1.Text)<>trim(edrenewkey1.Text) then
               begin
               showmessage('新密码和重复密码不相一致.');
               ednewkey1.Text:='';
               edrenewkey1.Text:='';
               ednewkey1.SetFocus;
               end
           else
             begin
             append;    //add user's data
             fieldbyname('name').AsString:=trim(ednewuser.Text);
             fieldbyname('password').AsString:=trim(ednewkey1.Text);
             fieldbyname('identify').AsString:=trim(cmbnewrights.Text);
             If MessageDlg('是否要把新用户资料写入库中?',MtConfirmation,[mbYes,mbNo],0)=mrYes then
                begin
                post;
                showmessage('添加新用户成功.');
                ednewuser.Text:='';
                ednewkey1.Text:='';
                edrenewkey1.Text:='';
                cmbnewrights.Text:='';
                ednewuser.SetFocus;
                end
            else
            cancel;
            ednewuser.Text:='';
            ednewkey1.Text:='';
            edrenewkey1.Text:='';
            cmbnewrights.Text:='';
            ednewuser.SetFocus;
            end
           end
         end
       end
     end
end;
end;
end.

⌨️ 快捷键说明

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