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

📄 userman.pas

📁 一个基于局域网的公司公文管理系统
💻 PAS
字号:
unit userMan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DB, DBTables,GlobalUnit,
  ADODB,FrmMain;

type
  TFuserMan = class(TForm)
    Panel1: TPanel;
    Label4: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    GroupBox1: TGroupBox;
    addBitBtn: TBitBtn;
    delBitBtn: TBitBtn;
    modBitBtn: TBitBtn;
    savBitBtn: TBitBtn;
    canBitBtn: TBitBtn;
    exiBitBtn: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    userDBGrid: TDBGrid;
    userDataSource: TDataSource;
    addQuery: TQuery;
    delQuery: TQuery;
    modQuery: TQuery;
    useraddQuery: TQuery;
    usermodQuery: TQuery;
    Label5: TLabel;
    ComboBox1: TComboBox;
    userTable: TTable;
    Database1: TDatabase;
    Label6: TLabel;
    ComboBox2unit: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure addBitBtnClick(Sender: TObject);
    procedure delBitBtnClick(Sender: TObject);
    procedure modBitBtnClick(Sender: TObject);
    procedure savBitBtnClick(Sender: TObject);
    procedure canBitBtnClick(Sender: TObject);
    procedure exiBitBtnClick(Sender: TObject);
    procedure userTableAfterScroll(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

   function getunitindex(unit_id:integer):integer;

var
  FuserMan: TFuserMan;
  newormod: string;
  usercode: string;   //就是user_id
  unit_index:integer;//当前单位在列表中的排位
implementation  
{$R *.dfm}

procedure TFuserMan.FormCreate(Sender: TObject);
begin
    edit1.Enabled :=false;
    edit2.Enabled :=false;
    edit3.Enabled :=false;
    edit4.Enabled :=false;
    ComboBox2unit.Enabled :=false;
    ComboBox1.Enabled :=false;

    usertable.Close;
    usertable.Open; 
end;

procedure TFuserMan.addBitBtnClick(Sender: TObject);
begin //增加用户
    newormod:='insert';
    edit1.Enabled :=true;
    edit2.Enabled :=true;
    edit3.Enabled :=true;
    edit4.Enabled :=true;
    ComboBox2unit.Enabled:=true;
    ComboBox1.Enabled :=true;
    ComboBox1.ItemIndex:=0;
    edit1.Text :='';
    edit2.Text :='';
    edit3.Text :='';
    edit4.Text :='';

    ComboBox2unit.ItemIndex:=getunitindex(g_unit_id);
    ComboBox2unit.SetFocus ;
    delbitbtn.Enabled :=false;
    modbitbtn.Enabled :=false;
end;

procedure TFuserMan.delBitBtnClick(Sender: TObject);
begin   //删除
    if usertable.IsEmpty then
    begin
    application.MessageBox('没有用户信息可供删除!','删除用户信息时出错',MB_OK+MB_ICONEXCLAMATION);
    Exit;
    end;

    if MessageDlg('确实要删除这条用户信息?',mtInformation,[mbYes,mbNo],0)=mrYes then
      begin
      Database1.StartTransaction;
      DelQuery.ParamByName('user_id').AsString :=usercode;
      try
      DelQuery.ExecSQL;
      except
      Database1.Rollback;
      Application.MessageBox('删除用户信息出错!','系统错误',MB_OK+MB_ICONERROR);
      Exit;
      end;
      Database1.Commit;
      usertable.Close;
      usertable.Open;
   end;
end;

procedure TFuserMan.modBitBtnClick(Sender: TObject);
begin
   newormod:='modify';
   edit1.Enabled :=false;
   edit2.Enabled :=true;
   edit3.Enabled :=true;
   edit4.Enabled :=true;
   ComboBox2unit.Enabled :=false;
   ComboBox1.Enabled :=true;

   edit2.SetFocus ;
   addbitbtn.Enabled :=false;
   delbitbtn.Enabled :=false;
end;

procedure TFuserMan.savBitBtnClick(Sender: TObject);
begin //保存
     if edit1.Text ='' then
     begin
     showmessage('必须输入用户编号!');
     edit1.SetFocus ;
     exit;
     end;

     if edit2.Text ='' then
     begin
     showmessage('必须输入姓名!');
     edit2.SetFocus ;
     exit;
     end;

     if edit3.Text <>edit4.Text then
     begin
     showmessage('密码不一致!');
     edit3.Text :='';
     edit4.Text :='';
     edit3.SetFocus ;
     exit;
     end;

  if newormod='insert' then
  begin
  useraddquery.ParamByName('user_id').AsString :=edit1.Text ;
  useraddquery.ParamByName('unit_id').AsInteger :=unit_id_group[ComboBox2unit.ItemIndex].unit_id;
  useraddquery.Close;
  useraddquery.Open;
    if not useraddquery.IsEmpty  then
    begin
     showmessage('已经有重复的工号,输入错误!');
     edit1.Text :='';
     edit1.SetFocus ;
     exit;
    end;
  addquery.ParamByName('user_id').AsString :=edit1.Text ;
  addquery.ParamByName('unit_id').AsInteger :=unit_id_group[ComboBox2unit.ItemIndex].unit_id;
  addquery.ParamByName('name').AsString :=edit2.Text ;
  addquery.ParamByName('password').AsString :=edit3.Text ;
  addquery.ParamByName('privilege').AsInteger:=ComboBox1.ItemIndex;
   try
   addquery.ExecSQL ;
   except
   showmessage('添加用户时出错!');
   exit;
   end;
  end;

  if newormod='modify' then
  begin
  {
   usermodquery.ParamByName('user_id').AsString :=edit1.Text ;
   usermodquery.Close;
   usermodquery.Open;
    if not usermodquery.IsEmpty  then
    begin
     showmessage('已经有重复的工号,输入错误!');
     edit1.SetFocus ;
     exit;
    end;
    }
   modquery.ParamByName('user_id').AsString:=usercode;
   modquery.ParamByName('privilege').AsInteger :=ComboBox1.ItemIndex ;
   modquery.ParamByName('name').AsString :=edit2.Text ;
   modquery.ParamByName('password').AsString :=edit3.Text ;
    try
    modquery.ExecSQL ;
    except
    showmessage('修改用户时出错!');
    exit;
    end;
  end;
  usertable.Close;
  usertable.Open;
  edit1.Enabled :=false;
  edit2.Enabled :=false;
  edit3.Enabled :=false;
  edit4.Enabled :=false;
  ComboBox2unit.Enabled :=false;
  ComboBox1.Enabled :=false;
  addbitbtn.Enabled :=true;
  delbitbtn.Enabled :=true;
  modbitbtn.Enabled :=true;
end;



procedure TFuserMan.canBitBtnClick(Sender: TObject);
begin  //取消
   addbitbtn.Enabled :=true;
   delbitbtn.Enabled :=true;
   modbitbtn.Enabled :=true;
   edit1.Enabled :=false;
   edit2.Enabled :=false;
   edit3.Enabled :=false;
   edit4.Enabled :=false;
   ComboBox2unit.Enabled :=false;
   ComboBox1.Enabled :=false;
end;

procedure TFuserMan.exiBitBtnClick(Sender: TObject);
begin
  close;
end;

procedure TFuserMan.userTableAfterScroll(DataSet: TDataSet);
begin
  unit_index:= getunitindex(userTable.fieldbyname('unit_id').AsInteger);
  usercode :=userTable.fieldbyname('user_id').AsString;
  ComboBox2unit.ItemIndex:=unit_index;
  edit1.Text :=userTable.fieldbyname('user_id').AsString ;
  edit2.Text :=userTable.fieldbyname('name').AsString ;
  edit3.Text :=userTable.fieldbyname('password').AsString;
  edit4.Text :=edit3.Text ;
  ComboBox1.ItemIndex:=userTable.fieldbyname('privilege').AsInteger;
end;

procedure TFuserMan.FormShow(Sender: TObject);
var
i:integer;
begin
        ComboBox2unit.Items.Clear;
        for i:=0 to unit_id_Cnt-1 do
        begin
            ComboBox2unit.Items.Add(unit_id_group[i].strName);
        end;
        ComboBox2unit.ItemIndex:=unit_index;
end;
function getunitindex(unit_id:integer):integer;
var
   unitindex:integer;
   i:integer;
begin
///////////////////////////////////////////
        unitindex:=0;
        for i:=0 to unit_id_Cnt-1 do
        begin
            if unit_id_group[i].unit_id=unit_id then
            begin
               unitindex:=i;
               break;
            end;
        end;
        result:= unitindex;
//////////////////////////////////////////
end;
end.

⌨️ 快捷键说明

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