Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Delixa
Всем привет. Мне задали программу которая будет шифровать текст. Поискав на вашем форуме я нашла кусок кода, затем исправила его и получила вот это:
Код

var
 word: string;
 key: string;
 i: byte;
begin
Writeln('bbedite world');
readln(word);
Writeln('bbedite key');
readln(key);
 for i := 1 to length(word) do begin
   word[i] := chr( ord(word[i]) + ord(key[succ(i mod length(key))]) - pred(ord('a')) );
 end;
 writeln(word);
 readln(word);
end.

Мог бы мне кто-то помочь переписать ее, так что бы текст (несколько строк текста) нужно было брать из файла, вводить так же само ключ слово, так же шифровать, а затем сохранять результат в файле (имя которого мы вводим).
Пожалуйста, помогите :molitva: :molitva: :molitva: . С нетерпение жду исходник. :p2: :p2: :p2:
volvo
Что-то типа этого... Проверить сейчас не могу, могут быть опечатки...
var
str: string;
key: string;
i: byte;
f, f_out: text;
begin
assign(f, 'text.txt'); reset(f);

assign(f_out, 'result.txt'); rewrite(f_out);

Writeln('введите ключ'); readln(key);
while not eof(f) do begin
readln(f, str);
for i := 1 to length(str) do begin
str[i] := chr( ord(str[i]) + ord(key[succ(i mod length(key))]) - pred(ord('a')) );
end;
writeln(f_out, str);
end;
close(f_out); close(f)
end.
Delixa
      word[i] := chr( ord(str[i]) + ord(key[succ(i mod length(key))]) - pred(ord('a')) );

Там где [i] пишет error 88 : "(" expected
А когда меняешь на () пишет ошибку но уже где := error 122 : lnvalid variable reference

Что делать?
volvo
Да, я везде заменил, тут забыл smile.gif Поменяй Word на Str
Str[i] := chr( ord(str[i]) + ord(key[succ(i mod length(key))]) - pred(ord('a')) );
Delixa
Теперь следующая ошибка. файл запустился, я ввела ключ, а после нажатия Enter выводит ошибку №104 file not open for imput
Что делать?
volvo
Проверяй еще раз - я подправил...
Delixa
большое спасибо всё рабоает :p4: wub.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.