Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Редактирование текста в своём формате.   Найти похожие ветки 

 
boalse ©   (2005-12-27 06:11) [0]

Есть простенький формат текста. Если после какой-то конкретной позиции меняется цвет шрифта, то после этой позиции пишется к примеру #C=Red#, весь текст после этой директивы будет отображаться красным, если нужно отображать текст неким цветом по умолчанию, то пишется #C=D#, если цвет "не стандартный" то допускается вместо red и т.п. писать числовое значение цвета (IntToStr(Color)).

Одна программа (игра) занимается только отрисовкой данного текста с учетом всех директив. Требуется создать программу, которая будет предоставлять пользователю удобно этот текст редактировать. Пользователь не должен видеть сами директивы, должен видеть только результат их работы. Если он хочет изменить цвет фрагмента, то просто выделяет текст и вызывает ColorDialog.

Ну, работу с цветным текстом, как известно, можно возложить на RichEdit, но вот как в него загружать и выгружать текст в своём формате, и желательно каким-нибудь не тормозным способом (типа, пробегаем в нём все строки, выделяем нужные фрагменты, назначаем им цвет, ведь при этом будет вызываться перерисовка контрола, а это не к чему)?

Есть весьма заманчивый вариант: перед загрузкой текста в RichEdit программа конвертирует мой формат в формат RTF, записывет результат в файл или поток, затем LoadFromFile или LoadFromStream. При сохранеии текста, наоборот SaveToFile или SaveToStrem, и затем конвертировать эти данные в мой формат и сохранить как мне нужно.

Проблема в том, что нужен парсер для Rtf формата. Он уже встроен в RichEdit, его можно как-нибудь использовать? Или есть другие варианты для разруливания этой ситуации?


 
boalse ©   (2005-12-28 05:06) [1]

up


 
з. танька   (2005-12-28 06:00) [2]

а почему бы не использовать html? и теги готовые уже, и TWebBrowser хорошо всю эту бурду отображает.



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.054 c
5-1123272373
Klopan
2005-08-06 00:06
2006.01.29
Update Events


2-1136990515
ctranik
2006-01-11 17:41
2006.01.29
у меня неполучаетсмя присваивать значения TRegistry.RootKey?


3-1132312752
o2
2005-11-18 14:19
2006.01.29
Небольшая локальная БД


5-1121963796
capkoh
2005-07-21 20:36
2006.01.29
Выпадающий список ComboBox


15-1136757130
eLVik
2006-01-09 00:52
2006.01.29
SQL Server Management Studio Express CTP не запускается