Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RichEdit ошибка при выводе текста


Nell ©   (2008-08-12 15:54:00) 

Вывожу отформатированный текст, а вместо него вижу такое
{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil MS Sans Serif;}{\f1\fnil\fcharset204 MS Sans Serif;}{\f2\fswiss\fcharset0 Tahoma;}{\f3\fswiss\fcharset204 Tahoma;}}
{\colortbl ;\red0\green0\blue0;\red0\green128\blue0;\red255\green0\blue0;}
\viewkind4\uc1\pard\cf1\b\f0\fs20 ++ \f1\'cd\'cd/
\par \b0\f0 02 0906103/
\par 03 3005000/\cf2  || 5 \f1\'ee\'f2\'e4\'e5\'eb \'d3\'c8\'ce\'ce\'d0\'c4 1 \'d1\'eb\'f3\'e6\'e1\'fb \'d4\'d1\'c1 \'d0\'ee\'f1\'f1\'e8\'e8 | \cf1\f0
\par 05 1/\cf2  || \f1\'d1\'e2\'e5\'e4\'e5\'ed\'e8\'ff \'e2\'fb\'e4\'e0\'fe\'f2\'f1\'ff \'e1\'e5\'e7 \'ee\'e3\'f0\'e0\'ed\'e8\'f7\'e5\'ed\'e8\'e9 | \cf1\f0


Nell   (2008-08-15 14:48:00) [1]

PlainText ни на что не повлиял, к сожалению %))
A LoadFromStream использовать не получится.

Опишу программу подробнее.

Есть большая сторока (string), никаких rtf символов в ней нет. Потом по определенному алгоритму она бъется на более маленькие строчки ss (string) и добавляется в RichEdit таким образом
i:=RichEdit1.Lines.AddObject(ss,Obj);
при этом каждая строчка выделяется всоим цветом, шрифтом...

Потом пользователь что-то меняет и сторочка собирается снова
for i:=0 to RichEdit1.Lines.Count-1 do ss := ss + RichEdit1.Lines.Strings[i];

Причем иногда текст отображается нормально, а иногда так как показано выше.

Значение PlainText вообще на отбражение текста не влияет.
И значение этого свойства в коде программы не меняется, так что почему текст отображается по-разному понять не могу.

Если не знаете что происходит с RichEdit, может посоветуете  чем его  можно заменить, может вордовым окошком или ещё чем?


han_malign   (2008-08-12 17:16:00) [2]

PlainText + Lines.LoadFromStream

Lines.LoadFromStream - работает через EM_STREAMIN с явным указанием типа данных, а Text:=... - через обычный WM_SETTEXT - как на душу положит...


Anatoly Podgoretsky   (2008-08-12 16:03:00) [3]

PlainText


Nell   (2008-08-12 16:00:00) [4]

Нечаянно отправила не дописав :)))

Причем иногода выводится нормальный текст, а иногда  такой как выше. Чем больше текст, тем чаще этот глюк.
Никто с таким не сталкивался?
Что можно сделать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо