зашифровать текст методом цезаря. алфавит-английские строчные буквы, сдвиг +3, и еще нужно ключ вводить с клавы.
вот что у меня получилось , но странно работает, точней шифрует нормально только первую букву. Подскажите что не так
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | var
Form1: TForm1;
slovo,kluch,shifr,rasslovo: string ;
sl,kl,sh,rassl: char ;
i,k: integer ;
implementation
{$R *.dfm}
procedure TForm1 . Button1Click(Sender: TObject);
begin
shifr:= '' ;
slovo:=edit1 . Text;
kluch:=edit2 . Text;
for i:= 1 to length(slovo) do
begin
sl:=slovo[i];
kl:=kluch[i];
sh:=chr( 100 +(ord(sl)- 97 +ord(kl)- 97 ) mod ( 26 ));
shifr:=shifr+sh;
end ;
edit3 . Text:=shifr;
end ;
procedure TForm1 . Button4Click(Sender: TObject);
begin
close;
end ;
procedure TForm1 . Button2Click(Sender: TObject);
begin
rasslovo:= '' ;
shifr:=edit3 . text;
kluch:=edit2 . Text;
for k:= 1 to length(shifr) do
begin
sh:=shifr[k];
kl:=kluch[k];
rassl:=chr( 94 +(ord(sh)- 97 +ord(kl)- 97 ) mod ( 26 ));
rasslovo:=rasslovo+rassl;
end ;
edit4 . Text:=rasslovo;
end ;
|