Ein Tutorial wird dazu nicht nötig sein, weil die sache eigentlich verdammt einfach ist.
Delphi-Quellcode:
type
TMyArray = array of integer;
implementation
procedute DoSth;
var
myarray: TMyArray;
i: integer;
begin
setlength(MyArray, 3); // Länge des Arrays auf 3 setzen
for i := 0 to high(MyArray) do // high(MyArray) gibt den höchsten Index des Arrays zurück, hier 2.
// Alternative: length(MyArray) - gibt die Länge zurück, in diesem fall 3
MyArray[i] := i+1; // Zugriff auf Elemente ist wie gehabt
// am Ende der procedure wird der Speicher des dynamischen Arrays automatisch wieder freigegeben
end;
Auch mehrdimensionale Arrays sind möglich:
Delphi-Quellcode:
type
TMyArray2D = array of array of integer;
implementation
procedute DoSth2D;
var
myarray: TMyArray2D;
i,j: integer;
begin
setlength(MyArray, 3, 4); // Länge des Arrays auf 3*4 setzen
for i := 0 to high(MyArray) do
for j := 0 to high(MyArray[i]) do
MyArray[i,j] := ...;
end;
falls du mal mehrdimensionale arrays bracuhst, die nciht rechteckig sind, kannst du die Löngen für die Sub-Elemente auch einzeln setzen:
Delphi-Quellcode:
procedute DoSth2D;
var
myarray: TMyArray2D;
i,j,r: integer;
begin
setlength(MyArray, 3); // Breite 3
for i := 0 to high(MyArray) do
begin
r := random(5);
setlength(myarray,r); // zufällige höhe
end;
end;