Официальный сайт студ.городка НГТУ
Программирование и БД » Builder: Как ускорить вывод строк в TMemo? 

#1  02.12.05 03:13

Builder: Как ускорить вывод строк в TMemo?

При отрытии из файла или потока, строки в TMemo загружаются "влет", но
добавление очень большого числа строк в  TMemo стандартными методами (Add("x") или Strings[i]="x") очень медленно работает. Может посоветуете что? Нужно вывести несколько тысяч строк (только для чтения), со скроллингом, конечно.

Исправлено Абсолютка (02.12.05 03:14)

Offline

#2  02.12.05 13:05

Re: Builder: Как ускорить вывод строк в TMemo?

TRichEdit тоже такой результат дает?

Offline

#3  02.12.05 15:36

Re: Builder: Как ускорить вывод строк в TMemo?

offtopic: однако, как же приятно,  когда этот форум посещают представительницы прекрасной половины человества ;)

Offline

#4  03.12.05 13:51

Re: Builder: Как ускорить вывод строк в TMemo?

cppzone написал(а):

такой же

Offline

#5  03.12.05 14:23

Re: Builder: Как ускорить вывод строк в TMemo?

скорее всего никак, потому что вслед за изменением свойства Strings[i] и при вызова метода Add, следует перерисовка компонента, на которой много времени теряется

Offline

#6  03.12.05 18:33

Re: Builder: Как ускорить вывод строк в TMemo?

VaGon написал(а):

а ее можно на время отключить?чтоб все добавить, после перерисовать? Млин не хочу сама компонент писать(

Offline

#7  03.12.05 19:32

Re: Builder: Как ускорить вывод строк в TMemo?

Хм... а там случаем список не типа StringList? Если так, то составляй список сначала отдельно, а потом передавай не построчно, а сразу весь список...

Offline

#8  04.12.05 03:58

Re: Builder: Как ускорить вывод строк в TMemo?

Jaguar написал(а):

У меня есть строка, где все идет сплошь одной строкой с разделителями 01 10  (10 - конец строки, кто не знает). Так вот, моя прога отрезает до разделителя - заносит в Memo, отрезает, заносит, и так, пока все не разобъет. Просто нужно эту строку в удобочитаемом виде представить, а через memo - долго. Пасиб, попробую массив создать, забить его, а потом компоненту передать.

Offline

#9  04.12.05 04:12

Re: Builder: Как ускорить вывод строк в TMemo?

Всем спасибо, все получилось - создала динамически
TMemo *Buffer;
Visible=false;
Заполняешь его, а потом передаешь его строки на отображение
MyMemo->Lines=Buffer->Lines;

Offline

#10  05.12.05 10:13

Re: Builder: Как ускорить вывод строк в TMemo?

В данном случае совсем не обязательно создавать объект динамически....
Достаточно просто перед занесением строк поставить Visible объекта в false, а после в true.

Offline

Программирование и БД » Builder: Как ускорить вывод строк в TMemo? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.030 сек.
Выполнено 14 запросов.