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

📄 unit5.pas

📁 一个用DELPHI编的酒店管理系统。 其中数据库:SQL Server2000, 只需恢复 My database文件夹中 My database_Data.MDF和 My database_Log.
💻 PAS
字号:
unit Unit5;

interface

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

type
  TForm5 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    oldpwd: TEdit;
    newpwd: TEdit;
    confirmpwd: TEdit;
    btnok: TButton;
    btncancel: TButton;
    name: TEdit;
    procedure btnokClick(Sender: TObject);
    procedure btncancelClick(Sender: TObject);
   
  private
    { Private declarations }
    function checkOldPwd(Name:string):boolean; //判断旧密码存在与否
    function checkNewPwd:boolean;                  //判断两次输入的新密码是否一致
  public
    { Public declarations }
    procedure changePwd(Name:string);          //改变当前用户密码
  end;

var
  Form5: TForm5;
  name:string;

implementation

{$R *.dfm}

{修改用户名为参数的用户密码}



procedure tform5.changePwd(Name:string);
var
   f:file;
   s1,ss2,s2,s3:string[30];
   nr:integer;
begin
   ss2:=newPwd.Text;
   if checkOldPwd(Name) and checkNewPwd then//可以修改
   begin
      //打开配置文件定位到当前用户,修改密码
      assignFile(f,'sys.ini');
      reSet(f,1);
      while not eof(f) do
      begin
         blockRead(f,s1,12,nr);
         if s1=Name 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;
{判断两次输入的新密码是否一致,一致返回true,不一致返回false}
function Tform5.checkNewPwd: boolean;
begin
   if newPwd.Text=confirmPwd.Text then     //两次输入的新密码一致
      result:=true
   else result:=false;
end;
{判断旧密码存在与否,存在返回true,不存在返回false}
function Tform5.checkOldPwd(Name:string): boolean;
var
   f:file;
   nr:integer;
   s1,s2,s3:string[30];
begin
   assignFile(f,'sys.ini');                //file变量与配置文件关联
   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=Name) then
      begin                                //发现当前用户的密码和输入的旧密码一致
         closeFile(f);
         result:=true;
         exit;
      end;
   until (nr=0);
   closeFile(f);
   result:=false;
   exit;
end;




procedure TForm5.btnokClick(Sender: TObject);
begin
changepwd(name.Text);
close;
end;

procedure TForm5.btncancelClick(Sender: TObject);
begin
name.text:='';
oldpwd.text:='';
newpwd.Text:='';
confirmpwd.text:='';
close;
end;

end.

⌨️ 快捷键说明

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