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

📄 uuserset.pas

📁 说明: 比较简单的人事档案管理程序,包含了人事档案的大部分功能,做人事档案的兄弟可以看看. 本程序类型:delphi7 + Access2000 桌面数据库 初始用户名/密码:admin
💻 PAS
字号:
unit UUserSet;

interface

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

type
  TForm_UserSet = class(TForm)
    SpeedButton1:TSpeedButton;
    SpeedButton2:TSpeedButton;
    SpeedButton3:TSpeedButton;
    BitBtn1:TBitBtn;
    BitBtn2:TBitBtn;
    GroupBox2:TGroupBox;
    Label3:TLabel;
    Edit3:TEdit;
    Edit2:TEdit;
    Edit1:TEdit;
    Label1:TLabel;
    Label2:TLabel;
    UserList:TListBox;
    procedure FormShow(Sender:TObject);
    procedure UserListClick(Sender:TObject);
    procedure SpeedButton1Click(Sender:TObject);
    procedure BitBtn1Click(Sender:TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
    i:integer; //当前选择的用户
    Isedit:integer; //记录当前操作状态
    procedure LoadUserList;
  public
    { Public declarations }
  end;

var
  Form_UserSet:TForm_UserSet;

implementation
uses Umain, DB;
{$R *.dfm}

//==================================
//载入用户列表过程
//==================================

procedure TForm_UserSet.LoadUserList;
begin
  try
    with form_main.tabuser do
    begin
      Close;
      open;
      first;
      while not eof do
      begin
        UserList.Items.Add(FieldByName('User_name').AsString);
        next;
      end;
      close;
    end;
  except
    beep;
    showmessage('打开用户表失败!');
  end;
end;

procedure TForm_UserSet.FormShow(Sender:TObject);
begin
  isedit := 0;
  LoadUserList;
  edit2.Enabled := false;
  edit3.Enabled := false;
end;

procedure TForm_UserSet.UserListClick(Sender:TObject);
begin
  i := UserList.ItemIndex;
  edit1.Text := UserList.Items[i];
  edit2.Clear;
  edit3.Clear;
end;

procedure TForm_UserSet.SpeedButton1Click(Sender:TObject);
begin
  edit1.Clear;
  edit2.Enabled := true;
  edit3.Enabled := true;
  edit2.Clear;
  edit3.Clear;
  edit1.SetFocus;
  isedit := 1;
end;

procedure TForm_UserSet.BitBtn1Click(Sender:TObject);
begin
  if (isedit = 1) and (edit2.Text = edit3.Text) then
  begin
    if (trim(edit1.Text) <> '') and (edit2.Text <> '') then
    begin
      try
        with Form_Main.TabUser do
        begin
          close;
          open;
          insert;
          FieldValues['user_name'] := trim(edit1.Text);
          FieldValues['user_password'] := edit2.Text;
          FieldValues['user_leave'] := '1';
          post;
          showmessage('增加用户成功');
          close;
        end; // with
      except
        beep;
        showmessage('增加用户失败');
        exit;
      end;
    end
    else
    begin
      showmessage('两次输入的密码不相同,请重新输入密码');
      edit2.SetFocus;
      exit;
    end;
    UserList.Items.Add(edit1.text);
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    isedit := 0;
    edit2.Enabled := false;
    edit3.Enabled := false;
  end;
  if (isedit = 2) and (edit2.Text = edit3.Text) then
  begin
    if (trim(edit1.Text) <> '') and (edit2.Text <> '') then
    begin
      try
        with Form_Main.TabUser do
        begin
          close;
          open;
          first;
          while not eof do
          begin
            if (UserList.Items[i] = fieldByName('user_name').AsString) then
            begin
              update;
              edit;
              FieldValues['user_name'] := trim(edit1.Text);
              FieldValues['user_password'] := edit2.Text;
              FieldValues['user_leave'] := '1';
              post;
              showmessage('编辑用户成功');
              last;
            end;
            next;
          end; // while
          close;
        end; // with
      except
        beep;
        showmessage('编辑用户失败');
        exit;
      end;
    end
    else
    begin
      showmessage('两次输入的密码不相同,请重新输入密码');
      edit2.SetFocus;
      exit;
    end;
    UserList.Clear;
    LoadUserList;
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    isedit := 0;
    edit2.Enabled := false;
    edit3.Enabled := false;
  end;
end;
procedure TForm_UserSet.SpeedButton2Click(Sender: TObject);
var listselect: integer;
begin
  listselect := UserList.ItemIndex + 1;
  if Listselect = 0 then
  begin
    showmessage('请选择要编辑的用户');
    exit;
  end;
  if UserList.Items[ListSelect - 1] = 'admin' then
  begin
    showmessage('你不能编辑管理员用户');
    exit;
  end;
  edit2.Enabled := true;
  edit3.Enabled := true;
  edit2.Clear;
  edit3.Clear;
  edit1.SetFocus;
  isedit := 2;
end;

procedure TForm_UserSet.SpeedButton3Click(Sender: TObject);
var listselect: integer;
begin
  listselect := UserList.ItemIndex + 1; //获取当前选择的用户
  if Listselect = 0 then
  begin
    showmessage('请选择要删除的用户');
    exit;
  end;
  if UserList.Items[ListSelect - 1] = 'admin' then
  begin
    showmessage('你不能删除管理员用户');
    exit;
  end;
  with Form_Main.ADOQ1 do
  begin
    SQL.Clear;
    SQL.Add('delete from Tuser');
    SQL.Add('where user_name=''' + UserList.Items[listselect - 1] + '''');
    ExecSQL;
    UserList.Clear; //清除用户列表
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    LoadUserList; //重新载入用户列表
    edit2.Enabled := false;
    edit3.Enabled := false;
  end; // with
end;

procedure TForm_UserSet.BitBtn2Click(Sender: TObject);
begin
  if isedit = 0 then
  begin
    close;
    exit;
  end
  else
  begin
    isedit := 0;
    UserList.Clear;
    LoadUserList;
    edit1.Clear;
    edit2.Clear;
    edit3.Clear;
    edit2.Enabled := false;
    edit3.Enabled := false;
  end;
end;

end.

⌨️ 快捷键说明

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