Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Ребята помогите решить задачу на делфях!

Ответить
Настройки темы
Delphi - Ребята помогите решить задачу на делфях!

Аватара для Lenich

Новый участник


Сообщения: 42
Благодарности: 1

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar magic.rar
(160.1 Kb, 23 просмотров)
Ребята есть программа которая шифрует текст методом магического квадрата, вот ее код:

function encrypt(str:string):string;
const
base:array [1..16] of byte = (16, 3, 2, 13,
5, 10, 11, 8,
9, 6, 7, 12,
4, 15, 14, 1);
var
i,j:integer;
begin
str:=StringReplace(str,#32,'',[rfReplaceAll]);
If Length(str)>length(base) then SetLength(str,length(base))
else if Length(str)<length(base) then
begin
for i:=Length(str) to length(base) do
str:=str+'.';
end;
Result:='';
for j:=1 to length(base) do
for i:=1 to length(str) do
begin
If i=base[j] then
Result:=Result+str[i];
end;
end;

Но нужен код для дешифровки текаста которая зашифровала эта программа! Очень прошу помощи! И заранее благодорю!
За программу шифровки спасибо некому Voyager!!!

Отправлено: 03:48, 05-06-2008

 

Аватара для Altair86

Новый участник


Сообщения: 15
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Lenich:
str:=StringReplace(str,#32,'',[rfReplaceAll]); »
Можно нубский вопрос: а что на что здесь заменяет функция StringReplace? В делфи не секу , но в алгоритме попробую разобраться вечером.

-------
Будь проклят тот день, когда обезьяна слезла с дерева и научилась говорить...


Отправлено: 16:08, 05-06-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Эта функция заменяет #32 в строчке str на ", а флаг rfReplaceAll указывает найти все найденные. Результат выполнения сохраняет в саму же строчку str.
StringReplace - Функция. Справочник - Основы Delphi

Отправлено: 16:40, 05-06-2008 | #3


Аватара для Altair86

Новый участник


Сообщения: 15
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Admiral:
Эта функция заменяет #32 в строчке str на " »
В смысле, это получается удаление пробелов из строчки? #32-- пробел вроде, а '' -- пустая строка?

-------
Будь проклят тот день, когда обезьяна слезла с дерева и научилась говорить...


Отправлено: 18:20, 05-06-2008 | #4


Аватара для Altair86

Новый участник


Сообщения: 15
Благодарности: 2

Профиль | Отправить PM | Цитировать


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

-------
Будь проклят тот день, когда обезьяна слезла с дерева и научилась говорить...


Отправлено: 16:02, 06-06-2008 | #5


Аватара для Lenich

Новый участник


Сообщения: 42
Благодарности: 1

Профиль | Отправить PM | Цитировать


Altair86, Дружище спасибо тебе большое!!!!

Altair86, есть еще одна проблема... при шифровке появляються лищние точки, не подскажешь еще как избавиться от них?

Отправлено: 00:49, 07-06-2008 | #6


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Это критично?
Цитата Lenich:
str:=str+'.'; »

Отправлено: 01:14, 07-06-2008 | #7


Аватара для Altair86

Новый участник


Сообщения: 15
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Lenich:
при шифровке появляються лищние точки, не подскажешь еще как избавиться от них? »
Не подскажу. Если заранее неизвестно, заканчивалась ли шифруемая фраза точкой, то как определить, все точки лишние или (все-1)? Можно к программе-дешифратору пришить "хвост", считающий точки в конце строки и убирающий либо их все, либо все, кроме одной.

-------
Будь проклят тот день, когда обезьяна слезла с дерева и научилась говорить...


Отправлено: 11:37, 07-06-2008 | #8


Аватара для Lenich

Новый участник


Сообщения: 42
Благодарности: 1

Профиль | Отправить PM | Цитировать


Всем большое спасибо!!! Очень мне помогли!!!

Отправлено: 19:12, 08-06-2008 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Ребята помогите решить задачу на делфях!

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Помогите решить задачу Urann Программирование и базы данных 11 14-05-2013 11:44
C/C++ - Помогите решить задачу zdughi Программирование и базы данных 1 01-05-2009 06:03
Delphi - Помогите решить задачу(Pascal) verdix Программирование и базы данных 21 28-04-2009 12:07
помогите решить задачу snikers Программирование и базы данных 2 27-08-2004 01:57
помогите решить задачу Guest Программирование и базы данных 2 21-05-2004 11:23




 
Переход