![]() |
|
|
![]()
|
|
| gif0 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.11.2009 Репутация: нет Всего: нет |
Я написал программу, которая шифрует текст в иероглифы (работаю с юникодом). Но возникла проблема. После того как я зашифровал, а потом дешифровал текст, в Memo этот текст отображается с новыми переносами строки. Не буду многословным, смотрите скрины.
Первоначальное состояние текста: ![]() После шифрования и дешифрования: ![]() Пожалуйста, помогите решить эту проблему. Вот исходник класса, который занимается шифрованием/дешифрованием:
Вот функция, которая работает с этим классом:
Это сообщение отредактировал(а) gif0 - 7.2.2010, 06:47 |
||||
|
|||||
| vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Еще не разобрался? Тебя не смутило, что количество символов в строке получается одинаковым?
Все из-за того,что ты при шифровании оперируешь сначала строками а потом символами, а не сразу символами. Когда ты зашифровал строку, то у тебя в MainMemo может отобразиться только определенное число иероглифов, посчитай их, и ты увидишь, что их число = числу символов в строке после декодирования! P.S. Этот косяк так же возник и за Memo. У этой компоненты не очень хорошее свойство, самостоятельно устанавливать переносы по своей видимой части (свойство WordWrap = true), но, если это свойство будет = false, то форматирование проводиться не будет и весь текст можешь не увидеть. Попробуй посимвольно, но что-то я не уверен, что это поможет. :( Это сообщение отредактировал(а) vikaz - 7.2.2010, 09:37 -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
| vikaz |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Вот примерный код, как должны выглядеть функции. Но есть и проблемы при декодировании появляются лишние символы: ДОДЕЛАЛ!
Вот код вызова:
инициализацию list вынес:
В Атаче находится изображение, как это работает! Это сообщение отредактировал(а) vikaz - 7.2.2010, 12:13 Присоединённый файл ( Кол-во скачиваний: 18 )
________________.jpg 378,92 Kb-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
||||||
|
|||||||
| vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
ЗЫ. Еще одним возможным решением проблемы, не хранить конвертируемый текст в Memo, т.е. в Memo только выводить, а все данные хранить в переменной.
Работающий код ВЫШЕ! Это сообщение отредактировал(а) vikaz - 7.2.2010, 12:13 -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
| gif0 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.11.2009 Репутация: нет Всего: нет |
Спасибо большое! Если бы не ты, не знаю сколько мне пришлось бы заниматься отладкой этой программы
Но мне кое-что не понятно. Почему у тебя в цикле, который занимается шифрованием, условие выхода такое:
Разве оно не должно быть таким?
|
||||
|
|||||
| vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Если честно, времени много на отладку не было! Просто в конце появлялись лишние 2 символа! Поэтому на 2 и уменьшил. Откуда они взялись, я так еще и не понял, времени на это не было! -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |