changepwdunit.pas

来自「一个很不错的系统! 查询模块方面是我编的最好的一次.几乎完美!!!!.」· PAS 代码 · 共 108 行

PAS
108
字号
unit changepwdunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  Tfrm_changepwd = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    i_oldpwd: TEdit;
    i_newpwd: TEdit;
    i_confirmpwd: TEdit;
    b_ok: TButton;
    b_cancel: TButton;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    function checknewpwd:boolean;
    function checkoldpwd(username:string):boolean;
  public
    { Public declarations }
    procedure changepwd(username:string);
  end;

var
  frm_changepwd: Tfrm_changepwd;

implementation

{$R *.dfm}
procedure tfrm_changepwd.changepwd(username:string);
var f:file;
   s1,s2,ss2,s3:string[40];
   nr:integer;
begin
     ss2:=i_newpwd.Text;
     if frm_changepwd.checkoldpwd(username) and frm_changepwd.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);
             showmessage('修改成功!');
             exit;
          end;
          blockread(f,s2,12,nr);
          blockread(f,s3,24,nr);
       end;
       closefile(f);
       exit;
       end else
       begin
       messagedlg('你输入的用户名或密码不正确',mtconfirmation,[mbok],0);
       exit;
       end;



end;
function tfrm_changepwd.checknewpwd:boolean;
begin
 if i_newpwd.Text=i_confirmpwd.Text then result:=true else result:=false;
end;
function tfrm_changepwd.checkoldpwd(username:string):boolean;
var f:file;
  s1,s3,s2:string[60];
  nr,nw:integer;

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 (s1=username) and (nr>10) and(s2=i_oldpwd.Text) then
   begin
    result:=true;
    closefile(f);
    exit;
    end;
   until(nr=0);
   closefile(f);
   result:=false;
   exit;
   end;
    

procedure Tfrm_changepwd.FormShow(Sender: TObject);
begin
i_oldpwd.Clear;
i_newpwd.Clear;
i_confirmpwd.Clear;
activecontrol:=i_oldpwd;
end;

end.

⌨️ 快捷键说明

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