| 
In einem Array können mehrere Datenelemente des gleichen Typs gespeichert werden. Der Vorteil liegt bei der leichteren Handhabbarkeit. Jedes Element hat einen festen Platz bzw. Index und kann durch Angabe des Indexwertes direkt aufgerufen werden.
 1.	Eindimensionale Arrays
 
 Der Name des Arrays wird durch eine Typendeklaration festgelegt:
 type ArrayTypName = array[IndexTyp] of  ElementeTyp
 Als Elementtyp ist jeder Typ erlaubt, der Indextyp muss hingegen abzählbar sein. Es gibt ein- und mehrdimensionale Arrays. Ein eindimensionales Array kann man sich als Linie vorstellen:
 
 
 Beispiel:
 type TIntListe = array[1..10] of Integer;
 
 TZeichen = array[\'a\'..\'z\'] of Byte;
 
 var intL: TIntListe; z: TZeichen;
 Der Zugriff:
 
 intL[4] := 100;
 z[\'a\'] := 5;
 
 m[17, 0] := 12.34;
 
 
 Arrays aus Strukturvariablen
 
 Von besonderem Interesse sind Arrays, deren Elementetypen Strukturvariablen (Records) sind.
 
 Beispiel: Mit einem Typ TPerson soll ein Array aufgebaut werden, in welchem 100 Personen
 
 abgespeichert werden können:
 type TPersListe = array[1..100] of TPerson;
 
 var list1: TPersListe;
 Der Zugriff auf die fünfte Person erfolgt z.B. mit
 
 list1[5].name := \'Einstein\';
 
 
 Strukturvariablen mit Arrays
 
 Auch die Felder von Strukturvariablen (records) können Arrays sein. Es bedarf allerdings eines gewissen Abstraktionsvermögens, um dabei den Überblick zu behalten.
 
 Am folgenden Beispiel sollte die Vorgehensweise deutlich werden.
 
 
 Beispiel:
 type TPerson = record
 Name: string[20];
 
 Geschlecht: Boolean;
 Geburtsjahr: Integer;
 
 Groesse: Single
 end;
 
 
 const maxp = 4;				//maximal 4 Personen
 type TpersArray = array[1..maxp] of TPerson;
 
 var
 Form1: TForm1;
 
 Person: TpersArray;
 
 implementation
 
 
 {$R *.DFM}
 
 procedure TForm1.Button1Click(Sender: TObject);
 var S: String;
 i, code: Integer;
 
 w: Single;
 
 begin
 
 for i:=1 to maxp do begin
 
 
 //String-Wert:
 
 s := InputBox(\'Personal-Eingabe\',\'Geben Sie den \'+IntToStr(i)+ \'. Namen ein!\',
 
 Person[i].Name);                                   // Anzeige/Eingabe
 
 Person[i].Name := s;                             // in Array speichern
 
 Label2.Caption := s;                             // im Label anzeigen
 
 
 //Bool\'scher Wert:
 
 if Person[i].Geschlecht = True then s := \'ja\' else S:= \'nein\';
 
 s := InputBox(\'Personal-Eingabe\',\'männlich? (ja/nein)\',s);
 
 if s = \'ja\' then Person[i].Geschlecht := True
 
 else Person[i].Geschlecht := False;
 
 Label3.Caption := s;                                // im Label anzeigen
 
 // Integer-Wert:
 
 s := IntToStr(Person[i].Geburtsjahr);               // aus Array lesen
 
 s := InputBox(\'Personal-Eingabe\',\'Geburtsjahr?\',s); // Anzeige/Eingabe
 
 Person[i].Geburtsjahr := StrToInt(s);               // in Array speichern
 
 Label4.Caption := s;                                // im Label anzeigen
 
 // Gleitkomma-Wert:
 
 Str(Person[i].Groesse:3:2, s);          // 3 Stellen, davon 2 nach dem Komma
 
 s := InputBox(\'Personal-Eingabe\',\'Körpergröße?\', s);
 
 Val (s, Person[i].Groesse, code);               // fehlerfrei, wenn code = 0
 Label5.Caption := s;
 
 end
 end;
 
 
 Array-Konstanten
 
 Auch Konstanten lassen sich in einem Array übersichtlich speichern.
 
 Beispiel:
 const tage: array[1..7] of string = (\'Mo\', \'Di\', \'Mi\', \'Do\', \'Fr\', \'Sa\', \'So\');
 var woBeginn: string;
 
 . . .
 woBeginn := tage[1];
 
 Etwas komplizierter wird es bei mehreren Dimensionen.
 
 Beispiel:
 const tabs: array[1..5, 1..2] of Word = ((50,20), (55,21), (63,35), (110,77), (200,5));
 
 var tab1: Word;
 Die Anordnung der Elemente:
 
 
 
 Zugriff:
 tab1 := tabs[4,2];		// weist den Wert 77 zu
 
 2.	Zweidimensionale Arrays
 
 Zweidimensionale Arrays kann man sich als Tabelle vorstellen.
 
 Beispiel:
 
 type TMatrix = array[0..10, 0..100] of Single;
 
 var m: TMatrix;       [Spalten,Zeilen]
 
 
 3.	Dreidimensionale Arrays
 
 Dreidimensionale Array kann man sich gut am Beispiel eines Zauberwürfels veranschaulichen. Ein solcher Würfel besteht zum Beispiel aus 64 (= 4 * 4 * 4) kleinen und verschiebbaren Elementen.
 |