支
支离破碎
Unregistered / Unconfirmed
GUEST, unregistred user!
目的是做一个加密软件,我在窗体上放上两个edit和两个button,一个opendialog用来打开可执行文件,
我的目的是,当我点button1的时候,我将edit1中的内容以密码的形式放在opendialog.filename的尾部,当我点button2的时候,我要把那密码读出来,显示在edit2中,具体该怎么操作,代码如何?
以下是我的部分代码,各位能帮我看看错在哪吗?
procedure TForm1.Button1Click(Sender: TObject);
var
head:tfilestream;
password:string[20];
i:integer;
begin
if labelededit1.text='' then
begin
messagedlg('请输入密码!',mtwarning,[mbok],0);
labelededit1.SetFocus;
exit;
end;
if labelededit1.text<>labelededit2.Text then
begin
messagedlg('前后密码输入不一致,请重新输入密码!',mtwarning,[mbok],0);
labelededit1.text:='';
labelededit2.text:='';
labelededit1.SetFocus;
exit;
end;
for i:=1 to 20 do
password:=labelededit1.Text;
head:=tfilestream.Create(opendialog1.FileName,fmopenread);
ms:=tmemorystream.Create;
try
ms.CopyFrom(head,0);
ms.Seek(0,sofromend);
ms.Write(password,20);
messagedlg('文件加密成功!',mtinformation,[mbok],0);
edit1.Clear;
labelededit1.Clear;
labelededit2.Clear;
finally
ms.Free;
head.Free;
end;
end;
下面的代码我要显示密码:
procedure TForm1.Button4Click(Sender: TObject);
var
fs:tfilestream;
password:string[20];
begin
fs:=tfilestream.Create(opendialog1.FileName,fmopenread);
fs.Seek(-20,sofromend);
fs.Read(s,20);
showmessage(password);
fs.Free;
end;
代码我有点改动了,因为在我的程序中的对象名都不一样,这里我为了直观就这么改了
现在出现的问题是,为什么我显示出来的密码总是空的.各位能帮我解决一下吗?小弟非常感谢.
我的目的是,当我点button1的时候,我将edit1中的内容以密码的形式放在opendialog.filename的尾部,当我点button2的时候,我要把那密码读出来,显示在edit2中,具体该怎么操作,代码如何?
以下是我的部分代码,各位能帮我看看错在哪吗?
procedure TForm1.Button1Click(Sender: TObject);
var
head:tfilestream;
password:string[20];
i:integer;
begin
if labelededit1.text='' then
begin
messagedlg('请输入密码!',mtwarning,[mbok],0);
labelededit1.SetFocus;
exit;
end;
if labelededit1.text<>labelededit2.Text then
begin
messagedlg('前后密码输入不一致,请重新输入密码!',mtwarning,[mbok],0);
labelededit1.text:='';
labelededit2.text:='';
labelededit1.SetFocus;
exit;
end;
for i:=1 to 20 do
password:=labelededit1.Text;
head:=tfilestream.Create(opendialog1.FileName,fmopenread);
ms:=tmemorystream.Create;
try
ms.CopyFrom(head,0);
ms.Seek(0,sofromend);
ms.Write(password,20);
messagedlg('文件加密成功!',mtinformation,[mbok],0);
edit1.Clear;
labelededit1.Clear;
labelededit2.Clear;
finally
ms.Free;
head.Free;
end;
end;
下面的代码我要显示密码:
procedure TForm1.Button4Click(Sender: TObject);
var
fs:tfilestream;
password:string[20];
begin
fs:=tfilestream.Create(opendialog1.FileName,fmopenread);
fs.Seek(-20,sofromend);
fs.Read(s,20);
showmessage(password);
fs.Free;
end;
代码我有点改动了,因为在我的程序中的对象名都不一样,这里我为了直观就这么改了
现在出现的问题是,为什么我显示出来的密码总是空的.各位能帮我解决一下吗?小弟非常感谢.