![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
Ситуация такая - имеется RichEdit и имеется обычная строка, после обработки этой строки она добавляется в RichEdit.
Мне нужно чтобы после обработки строки некоторые слова в Риче были отформатированы. Как это сделать никак не могу понять, парюсь уже часа полтора. Попытаюсь объяснить на примере: Код:
Цитата:
ЗЗЫ. Надеюсь что достаточно развернуто описал суть проблемы - старался как мог. |
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
немножко прооффтоплю...
есть такой пакет JEDI и там TJvHTLabel там он позволяет HTML коды для разметки использовать.. <b><c:Green>Зелёный Болд</b> <u>Подчёркнутый</u> ну и т.д. а если Вам нужно всё же в RichEdit выдлять - тогда задавайте нужный кусок и задавайте ему аттрибуты - примеры смотрите http://www.programmersforum.ru/showthread.php?t=92036 http://www.programmersforum.ru/showthread.php?t=40478 или ещё много где... |
![]() |
![]() |
![]() |
#3 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]()
А что происходит в "обработка строки"?
Сливочное масло Valio - компиляция как по маслу
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
Как по мне - плохой подход ставить дополнительные пакеты для тех действий, которые можно без проблем реализовать стандартными средствами.
Цитата:
Если кратко, то там я парсю текст, вырезая мусор, и дописывая свои фрагменты текста. Вчера еще долго проводил эксперименты, и понял что решения у моей проблемы скорее всего нет. Я решил сменить подход, в итоге сейчас вывожу текст через TWebBrowser - тут уже без проблем я делаю все то чего хотел от RichEdit. Спасибо за помощь. |
|
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
В догонку к RichEdit
Цитата:
Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.06.2011 в 10:35. |
||
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
В целом можно было-бы реализовать форматирование и так, но это было-бы не слишком функционально, да и вероятнее всего после полного форматирования текста места вставки не совпадали-бы.
Попытаюсь описать более подробно то что я пытаюсь сделать. Предположим что у нас есть такой текст: Цитата:
[а] - жирный [б] - курсив [в] - подчеркнутый [[..]] - перечеркнутый. Я сделал следующим способом - для каждого тега сделал по циклу, который выполняется пока в тексте есть указанный тег. В цикле я удаляю тег, и возвращаю в стринг тот текст, который был внутри тега. Здесь можно было-бы сделать метку, в которой указать позицию нужного текста и его длину, но вот после обработки следующего цикла позиция нужного текста может изменится. Я думал что в стринге можно сразу подсунуть форматирование что-то типа "{\b текст}", но рич такое форматирование отображает как текст. Я решил задачу так - при возврате текста в стринг я к нему добавлял html-тег с нужным мне типом, а потом отображал все это в WebBrowser. |
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
Один цикл не вариант - во первых не найдет все теги, придется по нескольку раз сканировать текст. Во вторых - цикл динамический, мне на перед не известно сколько тегов еще придумают, по этому я их всех в конфиг добавил, и создается столько циклов, сколько тегов в конфиге.
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
а вот если искать открытие тэга, потом считывать что это за тэг, то все можно. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#10 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]()
Тоесть нужно взять текст с тегами html и заменить их на rtf?
Сливочное масло Valio - компиляция как по маслу
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объединить в MemoryStream форматированный текст и изображение | Zerofill | C++ Builder | 0 | 11.05.2011 23:02 |
Как копировать и вставить форматированный текст макросом? | Sanek_81 | Microsoft Office Word | 2 | 19.04.2011 13:29 |
Форматированный текст в Paradox | DimOn4Ik | БД в Delphi | 7 | 21.04.2010 20:54 |
Цветной текст RichEdit | KoBRaAndrey | Общие вопросы Delphi | 17 | 13.12.2009 17:52 |
Выделенный текст в RichEdit | Andr | Компоненты Delphi | 1 | 20.08.2007 20:53 |