unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
MaskEdit1: TMaskEdit;
OpenDialog1: TOpenDialog;
BitBtn1: TBitBtn;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure PwdDecodeFile(FileName :
string; Key :
string);
var
I : Integer;
Zeichen : Byte;
mem : TFileStream;
keylen : Integer;
keypos : Integer;
begin
mem := TFileStream.Create(Filename,fmOpenReadWrite
or fmShareExclusive);
keylen := length(key)-1;
keypos := 0;
for I := 1
to mem.Size
do
begin
mem.Position := I;
mem.
Read(Zeichen,1);
if keypos = keylen
then
begin
Zeichen := Zeichen+ord(key[keypos]);
keypos := 0;
end
else
begin
Zeichen := Zeichen+ord(key[keypos]);
inc(keypos);
end;
Mem.Position := I;
mem.
Write(Zeichen,1);
end;
mem.free;
end;
procedure PwdEncodeFile(FileName :
string; Key :
string);
var
I : Integer;
Zeichen : Byte;
mem : TFileStream;
keylen : Integer;
keypos : Integer;
begin
mem := TFileStream.Create(Filename,fmOpenReadWrite
or fmShareExclusive);
keylen := length(key)-1;
keypos := 0;
for I := 1
to mem.Size
do
begin
mem.Position := I;
mem.
Read(Zeichen,1);
if keypos = keylen
then
begin
Zeichen := Zeichen-ord(key[keypos]);
keypos := 0;
end
else
begin
Zeichen := Zeichen-ord(key[keypos]);
inc(keypos);
end;
Mem.Position := I;
mem.
Write(Zeichen,1);
end;
mem.free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if (MaskEdit1.Text<>'
')
and (edit2.text<>'
')
then PwdEncodeFile(edit2.text,Maskedit1.text)
else application.MessageBox('
Es ist ein Fehler aufgetreten'+#10#13+'
Entweder haben Sie keine Datei angegeben oder'+#10#13+'
Sie haben kein Passwort eingegeben','
Fehler',mb_ok+mb_iconerror);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if (MaskEdit1.Text<>'
')
and (edit2.text<>'
')
then PwdDecodeFile(edit2.text,Maskedit1.text)
else application.MessageBox('
Es ist ein Fehler aufgetreten'+#10#13+'
Entweder haben Sie keine Datei angegeben oder'+#10#13+'
Sie haben kein Passwort eingegeben','
Fehler',mb_ok+mb_iconerror);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
opendialog1.execute;
edit2.text:=opendialog1.FileName;
if edit2.text<>'
'
then edit2.Visible:=true;
end;
end.