frm_adduser.pas

来自「是一个用delphi设计的考勤系统」· PAS 代码 · 共 191 行

PAS
191
字号
{
***************************************************************
*  说明:新增用户                                         *
*  时间:2003/02/20                                        *
*  作者:杨泉清                                               *
***************************************************************
}
unit Frm_AddUser;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ModalForm, Menus, StdCtrls, ExtCtrls, YLabelButton, ChangeImage,
  DB, ADODB;

type
  TAddUser = class(TMyModalForm)
    Label1: TLabel;
    Edtyhm: TEdit;
    Label2: TLabel;
    Edtmm: TEdit;
    Label3: TLabel;
    Edtqrmm: TEdit;
    Label4: TLabel;
    Edtbm: TEdit;
    Label6: TLabel;
    Edtlxdh: TEdit;
    Label5: TLabel;
    EdtEmail: TEdit;
    CbGroup: TComboBox;
    Label7: TLabel;
    ChangeImg15: TChangeImg;
    LabelB16: TLabelB;
    ChangeImg16: TChangeImg;
    LabelB17: TLabelB;
    AdoStp: TADOStoredProc;
    procedure EdtyhmKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ChangeImg16Click(Sender: TObject);
    procedure ChangeImg15Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure imgCloseButtonClick(Sender: TObject);
    procedure CbGroupKeyPress(Sender: TObject; var Key: Char);
    procedure EdtlxdhKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    procedure SetEditValue(UserName:string);
    procedure init_value ;
  public
    { Public declarations }
  end;

var
  AddUser: TAddUser;

implementation
uses
   DM_DataModal,UGeneralFunc,Uglobal;
{$R *.dfm}

procedure TAddUser.init_value ;
begin
   Edtyhm.SetFocus ;
   Edtyhm.Text :='';
   Edtmm.Text :='';
   Edtqrmm.Text :='';
   Edtbm.Text :='';
   EdtLxdh.Text :='';
   EdtEmail.Text :='';
   cbgroup.ItemIndex :=0;
end;

procedure TAddUser.SetEditValue(UserName:string);
Var
   TempAdoQry:TAdoQuery;
begin
   TempAdoQry:=TADOQuery.Create(nil);
   TempAdoQry.Connection :=WindData.AdoConn;
   with  TempAdoQry do
   begin
      sql.Clear ;
      sql.Add('select * from Usr_Info where usrname='''+UserName+'''' );
      open;
   end;
   if TempAdoQry.RecordCount >0 then
   begin
      AddUser.Caption :='编辑用户';
      edtyhm.Text :=TempAdoQry.fieldbyname('usrname').Value ;
      edtmm.Text :=TempAdoQry.fieldbyname('UsrPassword').Value ;
      edtqrmm.Text :=TempAdoQry.fieldbyname('UsrPassword').Value ;
      edtbm.Text :=TempAdoQry.fieldbyname('usrbm').Value ;
      edtlxdh.Text :=TempAdoQry.fieldbyname('usrphone').Value ;
      EdtEmail.Text:=TempAdoQry.fieldbyname('UsrEmail').value;
      cbgroup.Text :=TempAdoQry.fieldbyname('groupname').Value ;
   end;
   Edtyhm.SetFocus ;
end;

procedure TAddUser.EdtyhmKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if (length(trim(edtyhm.Text))>0) and (key=13) then
      SetEditValue(edtyhm.Text);
end;

procedure TAddUser.ChangeImg16Click(Sender: TObject);
begin
   ModalResult:=mrOK;
end;
procedure TAddUser.ChangeImg15Click(Sender: TObject);
var
   TempAdoQry:TAdoQuery;
   Msg:string;
begin
  inherited;
  TempAdoQry:=TADOQuery.Create(nil);
  TempAdoQry.Connection :=WindData.AdoConn;
  if edtyhm.Text = '' then
  begin
    application.MessageBox('用户名不能为空!', '提示信息', mb_ok + mb_iconwarning);
    exit;
  end;
  if trim(Edtmm.Text) <> trim(Edtqrmm.text) then
  begin
    application.MessageBox('密码输入不一致!', '提示信息', mb_ok + mb_iconwarning);
    exit;
  end;
  with  TempAdoQry do
  begin
     sql.Clear ;
     sql.Add('select * from Usr_Info where usrname='''+Edtyhm.Text+'''' );
     open;
  end;
  if TempAdoQry.RecordCount >0 then
     AdoStp.Parameters.parambyname('@Optmode').Value :=3
  else
     AdoStp.Parameters.parambyname('@Optmode').Value :=1 ;
  with ADOstp do
  begin
     Parameters.parambyname('@UsrName').Value :=Edtyhm.Text;
     Parameters.parambyname('@UsrBm').Value :=Edtbm.Text;
     Parameters.parambyname('@UsrPassword').Value :=Encode(Edtqrmm.Text,13); //加密
     Parameters.parambyname('@Usrphone').Value :=Edtlxdh.Text;
     parameters.ParamByName('@UsrEmail').Value :=EdtEmail.Text ;
     Parameters.parambyname('@GroupName').Value :=cbGroup.Text;
     try
        execproc;
        msg:=Parameters.parambyname('@retmsg').Value;
        application.MessageBox(pchar(msg), '提示信息', mb_ok + mb_iconwarning);
        init_value;
     except
        application.MessageBox(pchar('新增用户失败'), '提示信息', mb_ok + mb_iconwarning);
     end;
  end;

end;

procedure TAddUser.FormActivate(Sender: TObject);
var
   Sqlstr:string;
begin
  inherited;
  if GsUserName='' then
  begin
     sqlstr:='select groupname from Usr_groupinfo';
     SetComboxItems(WindData.AdoConn,Cbgroup,sqlstr,'GroupName');
  end;
  SetEditValue(GsUserName);
end;

procedure TAddUser.imgCloseButtonClick(Sender: TObject);
begin
  ModalResult:=mrOK;
end;

procedure TAddUser.CbGroupKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  key:=#0;
end;

procedure TAddUser.EdtlxdhKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if not (key in ['0'..'9',#8]) then key:=#0;
end;

end.

⌨️ 快捷键说明

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