Discussion:
LoadFromFile в TRichEdit.Lines и в TStringList ?
(слишком старое сообщение для ответа)
Vladimir Ivanov
2007-03-19 13:45:04 UTC
Permalink
Привет всем.

Имеется Delphi 5. Есть

Var
RichEdit1: TRichEdit;
Strings1: TStringList;

Задано
RichEdit1.MaxLength := $7FFFFFF0;

При этом
Strings1.LoadFromFile( filename );
, где filename - имя большого plian-text файла (>10М), загружается мгновенно,
а
RichEdit1.Lines.BeginUpdate;
RichEdit1.Lines.LoadFromFile( filename );
RichEdit1.Lines.EndUpdate;
грузится десять минут.
Чем вызвана разница? Как грузить в TRichEdit большие файлы?
Если спрашиваю банальность, ткните, пожалуйста, меня носом в документацию.

С уаважением,
Владимир.
Sergey V Kaltyga
2007-03-20 07:19:40 UTC
Permalink
"Vladimir Ivanov" <***@gao.spb.ru> сообщил/сообщила в новостях
следующее: news:etm44c$6tv$***@www.fido-online.com...

VI> Var
VI> RichEdit1: TRichEdit;
VI> Strings1: TStringList;

VI> Задано
VI> RichEdit1.MaxLength := $7FFFFFF0;

VI> При этом
VI> Strings1.LoadFromFile( filename );
VI> , где filename - имя большого plian-text файла (>10М),
VI> загружается мгновенно, а
VI> RichEdit1.Lines.BeginUpdate;
VI> RichEdit1.Lines.LoadFromFile( filename );
VI> RichEdit1.Lines.EndUpdate;
VI> грузится десять минут.
VI> Чем вызвана разница? Как грузить в TRichEdit большие файлы?

На первый вопрос можно предположить, что время после загрузки
тратится на отображение текста в редакторе (в случае TStringList
отображать текст не требуется).

На счет второго вопроса толкового совета дать не могу.

С уважением. Сергей Калтыга.
Sergey Bychkov
2007-03-21 09:45:33 UTC
Permalink
Привет, Vladimir!


... В ответ на письмо от 19 марта 2007 от Vladimir Ivanov к All сообщаем:

<...>

VI> Чем вызвана разница?

Там в коде сначала файл разбивается на строки и каждая строка добавляется по
отдельности.

VI> Как грузить в TRichEdit большие файлы?

Можно попробовать заменить на SendMessage(...SET_SEL,...), предварительно
загрузив файл в память.

До встречи, Vladimir!
Sergey (serge_bychkov[zzz]mail333.com) ICQ# 21014758
Loading...