Изведете масив от числа в Memo по най-бързия начин

Има масив от числа - a: array[1..size] of integer; Трябва да го покажете в Memo.

Правя следното: за i:=1 за размер направете Memo1.text:=memo1.text+IntToStr(a[i]);

Струва ми се, че това е твърде бавно, тъй като трябва да промените размера, умножен по дължината на текста в бележката. Моля, предложете по-ефективна опция. Благодаря предварително!

Това е изключително неефективно. Първо, желателно е да влезете в TStringList и след това в Memo и да влезете в StringList чрез Add (). Но това също не е много ефективен начин, ако имате нужда от допълнително увеличение на производителността, тогава трябва да погледнете към StringBuilder "s.

Бих написал така Memo1.Lines.Add(a[i])

> трябва да промените размера, умножен по дължината на текста текстът не е низова променлива, а свойство. Ето защо е доста смело да се говори за промяна на дължината му. За да разберете какво всъщност ще се случи, е по-добре да прочетете изходния код.

Разпределете памет за резултантния низ наведнъж, добавяйки на части, ако е необходимо. И едва тогава го присвоете на Memo1.text.

Не само бавно, но практически неприложимо, тъй като никаква интелигентност не е достатъчна за разделяне на числа, при условие че числата са с различна дължина в текстовото представяне

> Разпределете памет за получения низ веднагаЗащо да разпределяте, когато низът разпределя памет за себе си автоматично

> Защо да разпределяте, когато низът заделя памет за себе си автоматичноSubzh read? Всички думи или чрез една?