· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Save RTF

Посл.отвђт Сообщенiе


Дата: Ноя 25, 2003 07:49:27

В RichEdit можно читать RTF файлы. А можно сохранять?


Дата: Ноя 25, 2003 09:58:27
Правка

Хороший вопрос :)
А почему нельзя? WordPad - он ведь сохраняет?


Дата: Ноя 25, 2003 17:21:00 · Поправил: SolidCode

Ну ладно. Ответов не густо.
Отвечаю сам себе. То, что недавно откопал. Авось ещё кому понадобится.
Самый лучший способ сохранять (равно как и открывать) тексты в RTF (и TXT) в RichEdit контроле лучше с помощью потоков: сообщения EM_STEAMIN и EM_STREAMOUT. У этих сообщений есть флаги SF_TEXT и SF_RTF. Если кому тяжело будет в них разобраться (как мне недавно, когда наткнулся на эту идею), мыльте или постите здесь. Подкину примерчики.


Дата: Ноя 25, 2003 17:48:50

SolidCode

Спасибо. Правильная практика.


Дата: Ноя 26, 2003 10:55:07
Правка

volodya
Хм, теперь понятен вид ответов. Учту!

SolidCode
Не совсем точен был вопрос.
А ведь пример насчёт использования RichEdit с помощью потоков есть в RadASM, кажется. Правда там только текст обычный, но там отчётливо виден флаг SF_TEXT, поэтому мне, например, не составило труда используя этот пример сделать замену Notepad'у.


Дата: Ноя 28, 2003 11:19:43 · Поправил: SolidCode

Это хорошо, но теперь другая проблема.
А если открываем файл в TXT а хотим сохранить в RTF или наоборот. Мой редактор не хочет выполнять через потоки.


Дата: Дек 1, 2003 07:58:05

Как всегда, ответов не густо. Хотя я и сам ещё не смотрел у других.
Единственное, до чего додумался, так это вот:
RTF->TXT: открыть потоком. Получить текст в отдельный буфер с помощью WM_GETTEXT, сохранить из буфера в файл.
TXT->RTF: сохранить текст в буфер, создать новый RTF файл, WM_PASTE в него текст и сохранить RTF потоком.
Но как-то эта идея не очень выглядит. Может есть лучше варианты?


Дата: Дек 3, 2003 16:05:58
Правка

Странно очень: у меня всё работает!
Кода не привожу, т.к. не взял. Но код 100% рабочий.

Работаю через потоки, как обычно.
Открываю текстовой файл и сразу сохраняю с параметром SF_RTF. Конечный файл - настоящий .rtf-файл.
Открываю обогащённый формат, сохраняю в простом (текст) - всё ОК.
Но я не пробовал: что будет, если открывать .txt как .rtf, может в этом проблема? Это не вопрос, просто мысль :)


Дата: Апр 13, 2004 18:17:58

Да у меня там тогда просто какой-то недочёт был. Сейчас эта прога работает и спокойно сохраняет нужные типы файлов.
Всем спасибо за участие. В том числе и себе за ответы ;-)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.104