program new; type LetsDoThis = record str : string; x,y : integer; end; LetsDoThis2 = record str : string; pt : TPoint; end; Yeah = array of LetsDoThis2; ArrThis = array of yeah; var x : LetsDoThis; y : arrthis; j : TForm; i,ii : integer; begin x.str := 'Testmebitch'; x.x := 500; x.y := -900; Writeln(x); SetLength(y,2); for i := 0 to high(y) do begin; setlength(y[i],2); for ii := 0 to high(y[i]) do begin; y[i][ii].pt := Point(i*5,-random(9000)); y[i][ii].str := format('[%d][%d]=%s',[i,ii,tostr(y[i][ii].pt)]); end; end; Writeln(y); Writeln(TPointArray([Point(5,5),Point(20,1337),point(1,2)])); end.