delphi / RichEdit

hmn

Member
Joined
Apr 17, 2004
Messages
42
Reaction score
2
Age
39
Location
Volgograd
помогите пожалуйста, неполучается выполнить следующее:

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

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,103
Reaction score
902
Age
25
Есть у RichEdit один флажок - PlainText вроде. Я не помню для чего он :) но глянь в хелпе, может в нем дело. Если ничего не выйдет, то можно попробовать добавлять текст во второй RichEdit либо через буфер обмена (но тут могут быть глюки с кирилицей, хотя и преодолимые), либо через сохранение в файло в формате rtf.
Твоя беда в том, что если ты это делаешь так:
RichEdit2.Text := RichEdit2.Text + RichEdit1.Text;
то ты в автомате потеряешь все форматирование и текст добавится в формате по умолчанию. А передача текста через виндовый буфер обмена или файл оставляет и форматирование. Да, а PlainText вроде как и рулит оставлять ли форматирование при сохранении в файл. Может можно все это сделать проще, но мне в голову больше ничего не приходит.
 
Last edited by a moderator:

hmn

Member
Joined
Apr 17, 2004
Messages
42
Reaction score
2
Age
39
Location
Volgograd
plainText позволяет сохранять файл с форматированием либо без.

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

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,103
Reaction score
902
Age
25
С файлом надо посмотреть команду не записи в файл, а добавление в уже существующий. Если такого нет, то можно ручками сливать два файла, а потом загружать результат в RichEdit. Возможно, это можно делать и не через файл, а через переменные типа TStringList.
 

hmn

Member
Joined
Apr 17, 2004
Messages
42
Reaction score
2
Age
39
Location
Volgograd
так можно, но результат немного не тот будет. мне нужно было добавить строки к уже существующим, а загрузка из потока вернет просто копию.

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

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,103
Reaction score
902
Age
25
Так rtf внутри представляет из себя текстовый файл. Кто тебе мешает склепать вместе хоть десяток таких. Там нужно было просто проверить, дописывается ли при сохранеии из RichEdit в файло какая-нибудь шапка, и если да, то убирать ее из добавляемых файлов.
А с буфером обмена единственный совет - перед его использыванием кидай его содержимое в какую-нибудь переменную, а потом возвращай.
 
Top