Советы по Delphi

       

Массив без ограничения типа и размера


Пришло от читателя письмо:

Я тут посмотрел Ваши советы, и понял: это здорово! мне понравилось. Но в них я не нашел (может невнимательно смотрел?) возможности работать с массивами неограниченными по размеру и типу и вообще. Это работает начиная с Delphi 4

//к примеру опишем свой тип
type
MyType=recordzap1:longword;zap2:char;zap3:string[10];end;
//опишем НЕОГРАНИЧЕННЫЙ массив переменный типа MyType
//хотя, может использоваться абсолютно любой
var
m:array of MyType;

....
procedure
TForm1.Button1Click(Sender: TObject);
var i:byte;
begin
for
i:=0 to 9 do // нумерация элементов начинается с нуля!
beginSetLength(m,Length(m)+1); // увеличение длины массива на 1m[i].zap1:=i; // присвоениеm[i].zap2:=chr(i); // полямm[i].zap3:=inttostr(i); // значенийend;end;

....
SetLength(m,0); // освобождение памяти
end.

C Уважением,
Сергей Дьяченко, [000729]



Содержание раздела