![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
В общем возникла такая проблема: нужно написать программу на Делфи с использованием этого самого полиалфавитного шифра Виженера.
НО! Это не тот алгоритм, который на каждом шагу валяется. Тут немного другой принцип и я если честно не очень то понимаю как это реализовать. Вот так прога должна выглядеть в итоге: ![]() Помогите пожалуйста реализовать! ![]() |
|||
|
||||
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
Неужели даже с алгоритмом совсем некому помочь? :(
|
|||
|
||||
amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
А что конкретно у тебя не получается?
Ничего сложного не вижу. В качестве таблицы для шифрования используй компонент TStringGrid, программно заполняй ее буквами и в процессе шифрования пробегай по всему тексту, подставляя соответствующие буквы из таблицы. Или тебе готовый код нужен? --------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
Ну компоненты то я и так вижу, какие нужны...
Только я без понятия, что сначала объявить и как это заполнить... Я не понимаю, как именно прога работать должна... Т.е. что и из каких соображений перебирать...
А кому ж он не нужен! =__= Но на готовый код я не рассчитываю, ибо это за меня писать никто не будет. Мне бы хотя бы объяснили, что и как написать, а там я уж сама бы как-нибудь может написала. Ибо мне даже сам принцип шифрования не ясен. Это сообщение отредактировал(а) Solominka - 24.10.2010, 17:48 |
|||
|
||||
Specialistvlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Аналогично, ничего сложного нету. Тебе не программу нужно написать, а сначала алгоритм составить. Исходя из твоего сообщения, кажется, что ты просто не хочешь этого делать.
Алгоритм довольно прост. Так на вскидку: есть таблица, с исходными данными, по пересечению ячеек нужно находить нужную букву и подставлять её в цикле. |
|||
|
||||
amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
Составляем таблицу для шифрования:
первая строка - алфавит (можно заполнить программно, пробежавшись по ячейкам и заполняя их символами, в этом тебе может помочь функция Chr(x) - первый символ будет Chr(224) - буква 'а', второй - Chr(225) и т.д. до Chr(255) - буква 'я') Остальные строки заполняешь аналогично, только начинать будешь не с символа Chr(224), а с символа 'ш' (код буквы можно узнать с помощью функции Ord('ш')), таким образом вторая ячейка будет содержать символ Chr(Ord('ш')+1) и так далее, пока не дойдешь до 'я', затем начинаешь опять с Chr(224)... Надеюсь, выразился правильно. Далее можно переходить непосредственно к шифрованию. --------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
Solominka |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
в каком цикле? =__=
Ну не понимаю я... НЕ ПОНИМАЮ! уж извините... Добавлено через 1 минуту и 6 секунд amsoft, кажется начинаю понимать, спасибо) |
||||
|
|||||
amsoft |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 201 Регистрация: 17.10.2009 Где: KZ, Astana Репутация: 1 Всего: 4 |
Solominka,
если будут вопросы, выкладывай сюда свой код, будем разбираться ![]() --------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин |
|||
|
||||
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
В общем нашла похожий программный код, попыталась преобразовать, но запуталась и заполняет оно всё не совсем так, как надо...
Вот исходник для наглядности: ИСХОДНИК Сам код:
|
|||
|
||||
Specialistvlad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
Да не нужно чужое находить. Напиши свое, поймешь хоть тогда. А совет как понять. Возьми листочек и пиши посделовательность действий, которая по твоему мнению нужна для выполнении программы. Например. Первое: Выставить ряд букв исходя из шифра. Следующее, и так далее... И только когда у тебя будет правильный алгоритм, ты с легкостью поймешь, что делать.
Давай вместе составлять, но только если это не подразумевает по собой напиши мне.... Это сообщение отредактировал(а) Specialistvlad - 24.10.2010, 23:58 |
|||
|
||||
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
Specialistvlad, писать уже ничего не нужно (как минимум потому, что написано уже, выше).
Нужно просто сделать так, чтобы из четырёх StringGrid-ов всё выводилось в один, и всё =__= Чем я сейчас и занимаюсь (и потихоньку получается). Ибо писать с нуля - не располагаю временем, увы и ах, т.к. для этого я Делфи знаю довольно плохо, что уж тут скрывать. И в данном случае при таком раскладе, мне быстрее доделать немного чужой исходник, чем пытаться составить свой алгоритм, который я пойму неизвестно после какой по счёту попытки, потом объявить кучу функций и не запутаться в них же, родимых... Извините, но когда авраал - тут не до качества, к сожалению... Благодарю за предложенную помощь с алгоритмом, но обратись я раньше хотя бы дня на 3 - это возможно, имело бы для меня какой-то реальный смысл. |
|||
|
||||
casinosoftguru |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
советую повнимательнее рассмотреть пример там левые какие то переменные типа Sms или brr они с твоим скриншотом никак не сходятся..
достаточно будет расписать не на бумажке а в комментариях к коду каждое действие и тогда станет все понятно что тебе нужно из этого кода а что не нужно) |
|||
|
||||
Solominka |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 18.12.2009 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |