Arrays sind allgemein Reihen von Variablen oder Objekten. Wenn man zB. für sein Programm 50 Integerwerte im Stil von Wert1, Wert2, Wert3.. braucht, kann man dies gut mit einem Array lösen.
Es gibt 2 Arten von Arrays, einmal statische und dynamische.
Bei statischen Arrays wird von Anfang an die Größe bei der Deklaration festgelegt:
Delphi-Quellcode:
var
MeinArray : Array[1..50] of Integer; // Ein Array von 1 bis 50
Ansprechen kann man dann jedes einzelne Element einzeln:
Delphi-Quellcode:
var i : integer;
begin
MeinArray[1] := 4; // Direkter Zugriff
for i := 2 to 50 do // Füllen des Arrays
MeinArray[i] := 50;
Bei dynamischen Arrays kann man die Größe beliebig einstellen:
Delphi-Quellcode:
var
MeinArray : Array of Real;
i : integer;
begin
setlength(MeinArray,5);
for i := to 4 do // Füllen des Arrays
MeinArray[i] := 50.541;
setlength(MeinArray,60); // Größe ändern
Darüber hinaus gibt es noch mehrdimensionale Arrays:
Delphi-Quellcode:
var
MeinArray : Array of Array of Real; // 2 Dimensionen (Matrix)
AndererArray : Array of Array[1..8] of Boolean; // 2 Dimensionen mit festen und variablen Teil
NochEinAndererArray : Array of Array of Array of Extended; // 3 Dimensionen
i : integer;
begin
setlength(MeinArray,12,10); // Erstellt Array mit Größe 12x10
setlength(AndererArray,6); // Erstellt Array mit Größe 6 x 8
// ... etc
Arrays können nicht nur Variablen speichern sondern auch Objekte.
Delphi-Quellcode:
var
Bilder : Array of TImage; // Reihe von Bilder
i : integer;
begin
setlength(Bilder,5); // 5 Bilder
for i := 0 to high(Bilder) do //Schleife von 0 bis zur Größe des Arrays - 1
begin
Bilder[i] := Timage.Create(Form1); // Objekte initialisieren
with Bilder[i] do // Parameter
begin
left := 55 * i;
top := 30;
Picture.LoadfromFile('C:\Bild.bmp');
Parent := Form1; // Sonst sieht man nichts
show;
end;
showmessage('Länge des Arrays ist '+inttostr(length(Bilder))+'!');
end;
Wenn man zB. einen Array of TForm hat, und wenn man Fenster auch schließen können soll, entsteht eine Lücke im Array. Diese muss per Zählschleife geschlossen werden.
So, das war eine kurze Zusammenfassung von Arrays. Ich hoffe es hilft!