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

📄 uuserchange.~pas

📁 在公司做的一个小的系统源代码
💻 ~PAS
字号:
unit Uuserchange;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, ExtCtrls, StdCtrls, Buttons, jpeg;

type
  TFrmuserchange = class(TForm)
    Edtoldpwd: TEdit;
    ADOQuery1: TADOQuery;
    bbtnok: TBitBtn;
    bbtnclean: TBitBtn;
    bbtnclose: TBitBtn;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label6: TLabel;
    Label5: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Edtokpwd: TEdit;
    Edtnewpwd: TEdit;
    Edtnewuser: TEdit;
    ADOQuery2: TADOQuery;
    procedure bbtnokClick(Sender: TObject);
    procedure bbtncloseClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure EdtoldpwdKeyPress(Sender: TObject; var Key: Char);
    procedure EdtnewuserKeyPress(Sender: TObject; var Key: Char);
    procedure bbtncleanClick(Sender: TObject);
    procedure EdtnewpwdKeyPress(Sender: TObject; var Key: Char);
    procedure EdtokpwdKeyPress(Sender: TObject; var Key: Char);
    procedure ADOQuery1PostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure EdtoldpwdExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frmuserchange: TFrmuserchange;

implementation

uses Udm, Ulgb, Ulogin;



{$R *.dfm}

procedure TFrmuserchange.bbtnokClick(Sender: TObject);
var
  i, j: integer;
 
begin
   adoqopen(adoquery1, 'select * from username where name=' + #39 + trim(gstrname) + #39 +'and jgbm='+#39+gjgbm+#39);

    j := 0;
  if edtnewpwd.Text = edtokpwd.Text then
  begin
    for i := 1 to adoquery1.RecordCount do
    begin
      adoquery1.RecNo := i;
      if adoquery1.Fieldbyname('name').AsString = label6.caption then
        j := adoquery1.recno;
    end;
    adoqopen(adoquery1, 'select * from username where name=' + #39 + trim(gstrname) + #39+'and jgbm='+#39+gjgbm+#39);

    if trim(adoquery1.fieldbyname('password').AsString) = trim(edtoldpwd.Text) then
    begin
      if (edtnewuser.Text = '') and (edtnewpwd.Text = '') then
      begin
        if messagebox(getforegroundwindow, '你没有修改任何注册信息!' + #13 + '关闭该界面吗?', gsysname, mb_yesno + MB_ICONINFORMATION) = mryes then
          close;
      end
      else
        if edtnewuser.Text = '' then
        begin
          adoquery1.edit;
          adoquery1.RecNo := j;
          adoquery1.fieldbyname('password').AsString := edtnewpwd.Text;
          adoquery1.Post;
          if messagebox(getforegroundwindow, '你用户信息修改完成,关闭该界面吗?', gsysname, mb_yesno + MB_ICONINFORMATION) = mryes then
            close;
        end
        else
        begin
          if messagebox(getforegroundwindow, '你确定要修改用户名吗?', gsysname, mb_yesno + MB_ICONINFORMATION) = mryes then
          begin
            adoqopen(adoquery1, 'select * from username where name=' + #39 + trim(edtnewuser.Text) + #39+'and jgbm='+#39+gjgbm+#39);
            if not adoquery1.IsEmpty then begin
              messagebox(getforegroundwindow, pchar(edtnewuser.Text + '用户名已被用!'), gsysname, mb_ok + MB_ICONINFORMATION);
              edtnewuser.SetFocus;
              abort;
            end
            else
            begin
              if edtnewpwd.Text = '' then begin
                if messagebox(getforegroundwindow, '你的密码为空吗?', gsysname, mb_yesno + mb_iconquestion) = mryes then
                begin
                  adoquery1.edit;
                  adoquery1.fieldbyname('jgbm').AsString := gjgbm;
                  adoquery1.fieldbyname('name').AsString := edtnewuser.Text;
                  adoquery1.fieldbyname('password').AsString := edtnewpwd.Text;
                  adoquery1.FieldByName('power').asstring:=gpower;
                  adoquery1.Post;

                  frmuserchange.Visible := false;
                  frmlogin := tfrmlogin.Create(application);
                  frmlogin.ShowModal;
                  frmuserchange.Close;
                end
                else
                begin
                  edtnewpwd.SetFocus;
                end;
              end
              else
              begin

                adoquery1.edit;
                adoquery1.fieldbyname('jgbm').AsString := gjgbm;
                adoquery1.fieldbyname('name').AsString := edtnewuser.Text;
                adoquery1.fieldbyname('password').AsString := edtnewpwd.Text;
                adoquery1.FieldByName('power').asstring:=gpower;
                adoquery1.Post;
                with adoquery1 do begin
                 if active then active:=false;
                 sql.Clear ;
                 sql.add( 'DELETE FROM username where name=' + #39 + trim(label6.Caption ) + #39+'and jgbm='+#39+gjgbm+#39);
                 ExecSQL ;
                end;
                frmuserchange.Visible := false;
                frmlogin := tfrmlogin.Create(application);
                frmlogin.ShowModal; //锁定窗体
                frmuserchange.Close;

              end;
            end

          end
          else
            abort;
        end;
    end
    else begin
      messagebox(getforegroundwindow, '你输入原密码错误!', gsysname, mb_ok + MB_ICONINFORMATION);
      edtoldpwd.SetFocus;
    end;
  end
  else begin
    messagebox(getforegroundwindow, '新密码与确认密码不一致请重新输入!', gsysname, mb_ok + MB_ICONINFORMATION);

          // showmessage('新密码与确认密码不一致请重新输入!');
    edtnewpwd.SetFocus;
  end
end;

procedure TFrmuserchange.bbtncloseClick(Sender: TObject);
begin
  close;
end;

procedure TFrmuserchange.FormCreate(Sender: TObject);
begin
  //adoqopen(adoquery1, 'select * from username where jgbm='+#39+gjgbm+#39');
  label6.Caption := gstrname;
end;

procedure TFrmuserchange.EdtoldpwdKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then

    edtnewuser.SetFocus;

end;

procedure TFrmuserchange.EdtnewuserKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    edtnewpwd.SetFocus;

end;

procedure TFrmuserchange.bbtncleanClick(Sender: TObject);
begin
  edtoldpwd.Text := '';
  edtnewuser.Text := '';
  edtnewpwd.Text := '';
  edtokpwd.Text := '';
  edtoldpwd.SetFocus;
end;

procedure TFrmuserchange.EdtnewpwdKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    edtokpwd.SetFocus;
end;

procedure TFrmuserchange.EdtokpwdKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
    bbtnok.SetFocus;
end;

procedure TFrmuserchange.ADOQuery1PostError(DataSet: TDataSet;
  E: EDatabaseError; var Action: TDataAction);
begin
  application.MessageBox('数据保存失败!!!', gsysname, MB_OK + MB_ICONINFORMATION);
  abort;
end;

procedure TFrmuserchange.EdtoldpwdExit(Sender: TObject);
begin
  bbtnclean.Enabled := true;
end;

end.

⌨️ 快捷键说明

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