📄 uuserchange.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 + -