procedure
TForm1
.
Button1Click(Sender: TObject);
var
m:
integer
;
m1:
string
;
begin
s1 :=
''
;
m1:=Memo3
.
Text;
m := Strtoint(m1);
s := Memo1
.
Text;
y[
1
] := Strtoint(Memo5
.
Text);
y[
2
] := Strtoint(Memo4
.
Text);
for
i :=
3
to
Length(s)
do
y := (y[i-
1
]+y[i-
2
])
mod
m;
for
i :=
1
to
Length(s)
do
s1 :=s1 + chr(ord(s)
XOR
y);
Memo2
.
Text:=(
'Исходный текст:'
);
Memo2
.
Lines
.
Add(s);
Memo2
.
Lines
.
Add(
'Зашифрований текст:'
);
Memo2
.
Lines
.
Add(s1);
Memo6
.
Text:=s1;
end
;
procedure
TForm1
.
N2Click(Sender: TObject);
begin
if
OpenDialog1
.
Execute
then
Memo1
.
Lines
.
LoadFromFile(OpenDialog1
.
FileName);
end
;
procedure
TForm1
.
N3Click(Sender: TObject);
begin
if
SaveDialog1
.
Execute
then
Memo2
.
Lines
.
SaveToFile(SaveDialog1
.
Filename);
end
;
procedure
TForm1
.
Button2Click(Sender: TObject);
var
m:
integer
;
begin
s2 :=
''
;
m := Strtoint(Memo3
.
Text);
s3 := Memo6
.
Text;
y[
1
] := Strtoint(Memo5
.
Text);
y[
2
] := Strtoint(Memo4
.
Text);
for
i :=
3
to
Length(s3)
do
y := (y[i-
1
]+y[i-
2
])
mod
m;
for
i :=
1
to
Length(s3)
do
s2 :=s2 + chr(ord(s3)
xor
y);
Memo7
.
Text:=(
'Зашифрований текст:'
);
Memo7
.
Lines
.
Add(s3);
Memo7
.
Lines
.
Add(
'Исходный текст:'
);
Memo7
.
Lines
.
Add(s2);
end
;
end
.