16.01.2016, 19:52 | #1 (permalink) |
Новичок
Регистрация: 16.01.2016
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Разработать программу шифрования текстовых файлов
Не поможете с данным заданием? Заранее благодарен. |
16.01.2016, 19:52 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Информативные темы по вашему запросу Через какую программу можно заполнить сразу несколько текстовых областей сайтов? Программирование в Паскале, для функции разработать и протестировать программу Ищу программу для защиты файлов на флешке от случайного удаления и записи файлов |
16.01.2016, 20:19 | #5 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Алгоритм для функции шифрования следующий:
1) Заводите необходимое количество переменных для работы с файлами, символами и числами. 2) Связываете файловые переменные с соответствующими текстовыми файлами. 3) В цикле организуете считывание из исходного файла символов до тех пор, пока не конец файла. 3.1) Преобразуете символ в код символа, увеличиваете его на 1 и преобразуете обратно. 3.2) Записываете полученный символ в результирующий файл. 4) конец. Алгоритм для функции дешифровки следующий: 1) Заводите необходимое количество переменных для работы с файлами, символами и числами. 2) Связываете файловые переменные с соответствующими текстовыми файлами. 3) В цикле организуете считывание из исходного файла символов до тех пор, пока не конец файла. 3.1) Преобразуете символ в код символа, уменьшаете его на 1 и преобразуете обратно. 3.2) Записываете полученный символ в результирующий файл. 4) конец.
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
16.01.2016, 20:28 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да ладно, делов-то на пять минут:
Код:
Var f1,f2:Text; N1,N2:String; ED:byte; Function Encode_String(S:String):String; var i,L:byte; S1:String; begin S1:=''; L:=Length(S); for i:=1 to L do S1:=S1+Chr(Ord(S[i])+1); Encode_String:=S1; end; Function Decode_String(S:String):String; var i,L:byte; S1:String; begin S1:=''; L:=Length(S); for i:=1 to L do S1:=S1+Chr(Ord(S[i])-1); Decode_String:=S1; end; Procedure Encode_File(Nm1,Nm2:String); var S:String; begin Assign(f1,Nm1); Reset(f1); Assign(f2,Nm2); Rewrite(f2); Repeat Readln(f1,S); Writeln(f2,Encode_String(S)); Until EoF(f1); Close(f1); Close(f2); end; Procedure Decode_File(Nm1,Nm2:String); var S:String; begin Assign(f1,Nm1); Reset(f1); Assign(f2,Nm2); Rewrite(f2); Repeat Readln(f1,S); Writeln(f2,Decode_String(S)); Until EoF(f1); Close(f1); Close(f2); end; Begin Repeat Writeln('Choose the action: 1 - encode'); Writeln(' 2 - decode'); Writeln(' 0 - quit'); Readln(ED); Case ED of 1: begin write('Initial file name (full path): '); readln(N1); write('Encoded file name (full path): '); readln(N2); Encode_File(N1,N2); end; 2: begin write('Encoded file name (full path): '); readln(N1); write('Decoded file name (full path): '); readln(N2); Decode_File(N1,N2); end; end; Writeln; Until ED=0; End. |
16.01.2016, 20:30 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Лёш, тут есть одна хитрость: нужно обходить преобразования кодов перевода строки. Поэтому лучше как у меня, построчно.
|
16.01.2016, 21:19 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Только вот что... сейчас подумал. Надо бы "обойти" 255-й символ ("я" в Windows-кодировке). Если такой попадется - катастрофа! Важно?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|