📄 changepwd.pas
字号:
unit changePwd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TfrmChangePwd = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
oldPwd: TEdit;
newPwd: TEdit;
confirmPwd: TEdit;
btnOk: TButton;
btnCancel: TButton;
Image1: TImage;
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
private
{ Private declarations }
function checkOldPwd(userName:string):boolean;
function checkNewPwd:boolean;
public
{ Public declarations }
procedure changePwd(userName:string);
end;
var
frmChangePwd: TfrmChangePwd;
implementation
{$R *.dfm}
{ TfrmChangePwd }
procedure TfrmChangePwd.changePwd(userName:string);
var
f:file;
s1,ss2,s2,s3:string[30];
nr:integer;
begin
ss2:=newPwd.Text;
if checkOldPwd(userName) and checkNewPwd then//可以修改
begin
//打开配置文件定位到当前用户,修改密码
assignFile(f,'sys.ini');
reSet(f,1);
while not eof(f) do
begin
blockRead(f,s1,12,nr);
if s1=userName then
begin
blockWrite(f,ss2,12,nr);
closeFile(f);
exit;
end;
blockRead(f,s2,12,nr);
blockRead(f,s3,24,nr);
end;
closeFile(f);
end;
end;
function TfrmChangePwd.checkNewPwd: boolean;
begin
if newPwd.Text=confirmPwd.Text then result:=true
else result:=false;
end;
function TfrmChangePwd.checkOldPwd(userName:string): boolean;
var
f:file;
nr:integer;
s1,s2,s3:string[30];
begin
assignFile(f,'sys.ini');
reSet(f,1);
repeat
blockRead(f,s1,12,nr);
blockRead(f,s2,12,nr);
blockRead(f,s3,24,nr);
if (nr>10) and (s2=oldPwd.Text) and (s1=userName) then
begin
closeFile(f);
result:=true;
exit;
end;
until (nr=0);
closeFile(f);
result:=false;
exit;
end;
procedure TfrmChangePwd.btnOkClick(Sender: TObject);
begin
//
end;
procedure TfrmChangePwd.btnCancelClick(Sender: TObject);
begin
//
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -