![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]()
Здравствуйте. Имеется RichEdit, в котором ведётся лог в уже отформатированном виде. У RichEdit'а есть свойство PlainText. Если оно стоит False, то RichEdit передаёт в файл не только голый текст, но и мета-данные. И можно уже не разбираться в особенностях тегирования RTF'а, а выгружать в файл уже отформатированный текст.
У RichEdit'а есть SaveToFile. Сохраняет в файл текст вместе со всем редактированием текста (цвет, шрифт, жирность/курсивность и т.д.). Но минус SaveToFile в том, что он всегда перезатерает файл. Необходимо файл не перезатерать, а дополнять текстом. Также как альтернатива есть SaveToStream. Думал, что можно через него дозаписывать файл: Код:
Залез в код SaveToStream, посмотреть как он работает, но ничего не понял. Не подскажите как из RichEdit'a дозаписывать текст в имеющийся RTF-файл с форматированием в соответствии с тем, что было в RichEdit? Delphi XE2. Последний раз редактировалось Explosion; 14.02.2022 в 13:05. |
![]() |
![]() |
![]() |
#2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,837
|
![]()
Как идея: загрузить во второй ричедит существующий файл, дальше добавить в конец содержимое первого ричедита, и уже второй ричедит сохранить в файл с помощью SaveToFile. Чтобы эти манипуляции скрыть от пользователя, второй ричедит можно сделать невидимым.
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.11.2008
Сообщений: 52
|
![]()
Довольно ресурсно-затратно. Логи идут примерно раз в 15 секунд, за день файл накапливает довольно много текста. Проще тогда обычный txt делать. Может ещё идеи будут?
|
![]() |
![]() |
![]() |
#4 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,837
|
![]()
Сгенерировал 4 разноцветные строки, вот что записалось в файл:
Код:
Сами данные в формате RTF можно получить с помощью такой функции (взято на просторах интернета): Код:
Решение несколько криво выглядит, но другого я не вижу. E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 14.02.2022 в 14:49. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Извлечь выделенный текст в rtf формате RichEdit. Delphi7 | Fotal | Общие вопросы Delphi | 9 | 06.12.2020 03:30 |
RichEdit: Загрузка из rtf-файла только текста | Oleg060783 | Помощь студентам | 16 | 25.06.2015 09:15 |
Можно ли вывести rtf в RichEdit из бд access | belkeandrey | БД в Delphi | 13 | 08.05.2013 12:31 |
RTF содержимое ячейки таблицы MS Word в Буфер обмена или в RichEdit | OlegVE | Microsoft Office Word | 4 | 25.11.2010 12:54 |
При открытие в OpenDialog .doc-вский файл должен отображаться в RichEdit. doc to rtf | Lemon | Компоненты Delphi | 9 | 07.06.2007 19:19 |