delphi / RichEdit

hmn

Местный
Регистрация
17 Апр 2004
Сообщения
42
Реакции
3
Credits
48
помогите пожалуйста, неполучается выполнить следующее:

есть 2 RichEdit'a, в одном я печатаю текс, изменяю его цвет размер, и после нажатия на кнопку хочу, чтобы содержимое этого RichEdit добавилось к содержимому второго вместе с форматированием.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Есть у RichEdit один флажок - PlainText вроде. Я не помню для чего он :) но глянь в хелпе, может в нем дело. Если ничего не выйдет, то можно попробовать добавлять текст во второй RichEdit либо через буфер обмена (но тут могут быть глюки с кирилицей, хотя и преодолимые), либо через сохранение в файло в формате rtf.
Твоя беда в том, что если ты это делаешь так:
RichEdit2.Text := RichEdit2.Text + RichEdit1.Text;
то ты в автомате потеряешь все форматирование и текст добавится в формате по умолчанию. А передача текста через виндовый буфер обмена или файл оставляет и форматирование. Да, а PlainText вроде как и рулит оставлять ли форматирование при сохранении в файл. Может можно все это сделать проще, но мне в голову больше ничего не приходит.
 
Последнее редактирование модератором:

hmn

Местный
Регистрация
17 Апр 2004
Сообщения
42
Реакции
3
Credits
48
plainText позволяет сохранять файл с форматированием либо без.

с буфером обмена не пробовал, щас пойду.... а вот с файлом не все понятно, как его содержимое добавить к тому что уже есть в окне? tStrings.FoadFromFile() перепишет все.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
С файлом надо посмотреть команду не записи в файл, а добавление в уже существующий. Если такого нет, то можно ручками сливать два файла, а потом загружать результат в RichEdit. Возможно, это можно делать и не через файл, а через переменные типа TStringList.
 

hmn

Местный
Регистрация
17 Апр 2004
Сообщения
42
Реакции
3
Credits
48
так можно, но результат немного не тот будет. мне нужно было добавить строки к уже существующим, а загрузка из потока вернет просто копию.

задача решилась использованием буфера обмена.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Так rtf внутри представляет из себя текстовый файл. Кто тебе мешает склепать вместе хоть десяток таких. Там нужно было просто проверить, дописывается ли при сохранеии из RichEdit в файло какая-нибудь шапка, и если да, то убирать ее из добавляемых файлов.
А с буфером обмена единственный совет - перед его использыванием кидай его содержимое в какую-нибудь переменную, а потом возвращай.