【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了EditPass.pas提供大家参考,希望对大家有所帮助!
unit EditPass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBTables, DB;
type
TEditPasswordFrm = class(TForm)
UserName_Label: TLabel;
OldPassword_Label: TLabel;
NewPassword_Label: TLabel;
SubmitPassword_Label: TLabel;
OldPassword_Edit: TEdit;
NewPassword_Edit: TEdit;
SubmitPassword_Edit: TEdit;
UserName_ComboBox: TComboBox;
EditPassword_Table: TTable;
EditPassword_Query: TQuery;
EditPasswordOk_BitBtn: TBitBtn;
EditPasswordCancel_BitBtn: TBitBtn;
procedure EditPasswordCancel_BitBtnClick(Sender: TObject);
procedure EditPasswordOk_BitBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
EditPasswordFrm: TEditPasswordFrm;
function editpassword(password:string):string;
function getpassword(password:string):string;
implementation
{$R *.dfm}
//-------定义函数:修改密码(编码)------
function editpassword(password:string):string;
var i,passwordlength:integer;
temppassword:string;
begin
passwordlength:=length(password);
temppassword:='';
for i:=passwordlength downto 1 do
begin
temppassword:=temppassword+copy(password,i,1);
end;
editpassword:=temppassword;
end;
//-------定义函数:从数据库获取密码(译码)------
function getpassword(password:string):string;
var i,passwordlength:integer;
temppassword:string;
begin
passwordlength:=length(password);
temppassword:='';
for i:=passwordlength downto 1 do
begin
temppassword:=temppassword+copy(password,i,1);
end;
getpassword:=temppassword;
end;
procedure TEditPasswordFrm.EditPasswordCancel_BitBtnClick(Sender: TObject);
begin
EditPasswordFrm.hide;
end;
procedure TEditPasswordFrm.EditPasswordOk_BitBtnClick(Sender: TObject);
var querystring,password,loginpassword:string;
begin
querystring:='select * from login where username='+''''+UserName_ComboBox.text+'''';
with EditPassword_query do
begin
//-------获取旧密码------
sql.clear;
sql.add(querystring);
open;
password:=Getpassword(fieldbyname('password').asstring);
close;
end;
loginpassword:=OldPassword_Edit.text;
if loginpassword=password then
begin
if NewPassword_Edit.text=SubmitPassword_Edit.text then
begin
with EditPassword_table do
begin
edit;
//-------修改新密码------
fieldvalues['password']:=editpassword(NewPassword_Edit.Text);
post;
update;
end;
end
else
begin
messagebox(EditPasswordFrm.handle,'请输入正确的密码','警告',mb_ok+mb_iconwarning);
OldPassword_Edit.text:='000000';
NewPassword_Edit.text:='111111';
SubmitPassword_Edit.text:='222222';
end;
end
else
begin
messagebox(EditPasswordFrm.handle,'请输入正确的密码','警告',mb_ok+mb_iconwarning);
OldPassword_Edit.text:='000000';
NewPassword_Edit.text:='111111';
SubmitPassword_Edit.text:='222222';
end;
end;
procedure TEditPasswordFrm.FormShow(Sender: TObject);
begin
EditPassword_Table.active:=False;
EditPassword_Table.active:=True;
EditPassword_table.first;
UserName_ComboBox.items.Clear;
//-------读取数据库中的用户------
while not EditPassword_table.eof do
begin
UserName_ComboBox.items.insert(-1,EditPassword_table.fieldbyname('username').asstring);
EditPassword_table.Next;
end;
end;
end.
上一篇:
EditImpl1.pas
下一篇:
按摩连锁财务管理系统|按摩连锁财务管理系统第一版