Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1178992711
Ёжик
2007-05-12 21:58
2007.06.10
Вышел - таки KDE4


1-1176700809
bss
2007-04-16 09:20
2007.06.10
Как установить свой фонт для контролов при Enabled=false


2-1179807221
Руслан56
2007-05-22 08:13
2007.06.10
Как составить запрос


15-1179392625
Nic
2007-05-17 13:03
2007.06.10
Шрек III


6-1164041827
NiGGa
2006-11-20 19:57
2007.06.10
PPPoE соединение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский