![]() |
|
|
![]()
|
|
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Здравствуйте!!
В поле RichEdit'a находится содержимое бинарного файла. Файл открыт функцией LoadFromFile (т.е. взял и загрузил в RE какой-нибудь jpg, или exe). Файл бинарный нужно открывать произвольный, и структуру его знать не обязательно. Свойство WordWrap=false Мне нужно выделить все цифры в данном поле. Соответственно проблема, что не выделяется то, что нужно, неверно находятся позиции SelStart'a. Хотя если брать файл текстовый, то в нем все находится верно.
Проект Присоединённый файл ( Кол-во скачиваний: 3 )
sel.rar 639,72 Kb |
|||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Хочу дополнить свою трагедию что ли..))
Мне просто непонятно, почему вот этот алгоритм на текстовом файле работает (txt), а на файле изображения (jpg) не работает. Вот мы открыли жпегу, вывели всякую бяку, но хоть эта и бяка, она тоже из символов. Да и причем в первой строке жпега позиции SelStart'a правильно определяются, а дальше с уходом вглубь этого мусора уже начинают съезжать. Может быть дело в управляющих символах, они как-то влияют, хотя я создаю временную строку, в которую копируется i-я строка RE'a Проходился с отладчиком, сами цифры определяются верно. В чем может быть дело? Чем может мусор делать этот алгоритм нерабочим? |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Проблема тут -
2 - это символы '\r\n', которыми завершаются строки в символьном файле. В бинарном файле строки тоже будут нарезаться по этим символам, но они не обязанны встречаться попарно. Т.е. '\n' тоже сделает новую строку, и вся ваша нумерация съедет. Не используйте Lines, используйте Text - там будут все символы, включая и переводы строк (такие, как есть в файле, а не такие, какие должны быть у 'хороших' текстовых файлов) |
|||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
А если '\n' будет стоять в середине строки бинарного файла? |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Значит будет 2 строки У бинарного файла строк, как таковых, вообще нет. Так что встает вопрос, как именно RichEdit его нарежет на строки. А резать он его будет по '\n'. А если перед этим стоял '\r' - он будет бесследно удален |
|||
|
||||
![]()
|
| Правила форума "С++ 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. |