Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

Вывести массив чисел в Memo самым быстрым способом.   Найти похожие ветки 

 
Dwed   (2007-05-11 22:25) [0]

Есть массив чисел - a: array[1..size] of integer; Нужно вывести его в Memo.

Я делаю так:
for i:=1 to size do Memo1.text:=memo1.text+IntToStr(a[i]);

Мне кажется, что это слишком медленно, так как приходится изменять size раз длину текста в Memo.
Предложите, пожалуйста, более эффективный вариант.
Заранее благодарен!


 
ferr ©   (2007-05-11 22:30) [1]

Это крайне неэффективно. Сначала желательно загнать в TStringList а потом уже в Memo, причём в StringList гнать через Add(). Но это тоже не очень эффективный способ если нужно дальнейшее повышение производительности то надо смотерть в сторону StringBuilder"ов.


 
palva ©   (2007-05-11 22:31) [2]

Я бы написал так
Memo1.Lines.Add(a[i])

> приходится изменять size раз длину текста
text это не переменная типа строка а свойство. Поэтому говорить об изменении ее длины довольно смело. Чтобы понять, что произойдет на самом деле лучше почитать исходники.


 
homm ©   (2007-05-11 22:32) [3]

Выделяй память под результирующую строку сразу, добавляя порциями по мере необходимости. И только потом ее присваивай Memo1.text.


 
Anatoly Podgoretsky ©   (2007-05-12 15:44) [4]

> Dwed  (11.05.2007 22:25:00)  [0]

Не только медленно, но и практически не применимо, поскольку для разделения на числа никакого интеллекта не хватит, при условии что числа разной длины в текстовом представлении


 
Real ©   (2007-05-13 02:22) [5]


> Выделяй память под результирующую строку сразу

Зачем выделять, когда string выделяет под себя память автоматом


 
homm ©   (2007-05-13 13:28) [6]

> Зачем выделять, когда string выделяет под себя память автоматом

Сабж читал? Все слова или через одно?



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1179055784
boriskb
2007-05-13 15:29
2007.06.10
И все таки (старый спор)


2-1179482555
Ol4ik
2007-05-18 14:02
2007.06.10
Нужна помощь!


2-1179486498
ambhtr
2007-05-18 15:08
2007.06.10
Как организовать работу case


15-1179299944
noreg
2007-05-16 11:19
2007.06.10
EXCEL стал зеркальным


15-1179123133
boriskb
2007-05-14 10:12
2007.06.10
М. Руссинович: вредоносное ПО будет процветать и в Windows Vista