Показать сообщение отдельно
  #1  
Старый 02.06.2010, 01:34
kupall kupall вне форума
Прохожий
 
Регистрация: 02.06.2010
Сообщения: 6
Репутация: 10
По умолчанию шифрование текста

зашифровать текст методом цезаря. алфавит-английские строчные буквы, сдвиг +3, и еще нужно ключ вводить с клавы.
вот что у меня получилось , но странно работает, точней шифрует нормально только первую букву. Подскажите что не так

Код:
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;
Ответить с цитированием