|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.06.2011, 16:58 | #1 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
Добавляем форматированный текст в RichEdit из String
Ситуация такая - имеется RichEdit и имеется обычная строка, после обработки этой строки она добавляется в RichEdit.
Мне нужно чтобы после обработки строки некоторые слова в Риче были отформатированы. Как это сделать никак не могу понять, парюсь уже часа полтора. Попытаюсь объяснить на примере: Код:
Цитата:
ЗЗЫ. Надеюсь что достаточно развернуто описал суть проблемы - старался как мог. |
|
23.06.2011, 17:34 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
немножко прооффтоплю...
есть такой пакет 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 или ещё много где... |
23.06.2011, 17:37 | #3 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
А что происходит в "обработка строки"?
Сливочное масло Valio - компиляция как по маслу
|
24.06.2011, 09:33 | #4 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
Как по мне - плохой подход ставить дополнительные пакеты для тех действий, которые можно без проблем реализовать стандартными средствами.
Цитата:
Если кратко, то там я парсю текст, вырезая мусор, и дописывая свои фрагменты текста. Вчера еще долго проводил эксперименты, и понял что решения у моей проблемы скорее всего нет. Я решил сменить подход, в итоге сейчас вывожу текст через TWebBrowser - тут уже без проблем я делаю все то чего хотел от RichEdit. Спасибо за помощь. |
|
24.06.2011, 10:13 | #5 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
В догонку к RichEdit
Цитата:
Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.06.2011 в 10:35. |
||
24.06.2011, 12:35 | #6 | |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
В целом можно было-бы реализовать форматирование и так, но это было-бы не слишком функционально, да и вероятнее всего после полного форматирования текста места вставки не совпадали-бы.
Попытаюсь описать более подробно то что я пытаюсь сделать. Предположим что у нас есть такой текст: Цитата:
[а] - жирный [б] - курсив [в] - подчеркнутый [[..]] - перечеркнутый. Я сделал следующим способом - для каждого тега сделал по циклу, который выполняется пока в тексте есть указанный тег. В цикле я удаляю тег, и возвращаю в стринг тот текст, который был внутри тега. Здесь можно было-бы сделать метку, в которой указать позицию нужного текста и его длину, но вот после обработки следующего цикла позиция нужного текста может изменится. Я думал что в стринге можно сразу подсунуть форматирование что-то типа "{\b текст}", но рич такое форматирование отображает как текст. Я решил задачу так - при возврате текста в стринг я к нему добавлял html-тег с нужным мне типом, а потом отображал все это в WebBrowser. |
|
24.06.2011, 12:52 | #7 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
24.06.2011, 15:07 | #8 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
Один цикл не вариант - во первых не найдет все теги, придется по нескольку раз сканировать текст. Во вторых - цикл динамический, мне на перед не известно сколько тегов еще придумают, по этому я их всех в конфиг добавил, и создается столько циклов, сколько тегов в конфиге.
|
24.06.2011, 15:10 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
а вот если искать открытие тэга, потом считывать что это за тэг, то все можно. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
24.06.2011, 15:37 | #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 |