Главная страница
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.019 c
2-1179309426
allucard
2007-05-16 13:57
2007.06.10
Пример на языке С создание окна, помогите перевести строку


1-1176396899
Fav
2007-04-12 20:54
2007.06.10
Вопрос по http протоколу...


2-1179814781
Dr.M@$
2007-05-22 10:19
2007.06.10
Выключаем обработчик ошибок..


2-1179525517
AlexeiBerkov
2007-05-19 01:58
2007.06.10
поблема с TStringList


2-1179470344
FIL-23
2007-05-18 10:39
2007.06.10
функция или процедура проверяющая правельность введеной даты