Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизВывести массив чисел в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c