222
 
   
   
clemens clemens clemens
Referat

TitelArray in Delphi 
Anzahl Worte522 
SpracheDeutsch 
ArtReferat 
Schlagworte 
Downloads+++++++++ 
Bewertung+++ 

Download Zip (206.2kB)
Download Pdf (87.7kB)


Auszug aus dem Referat (ohne Grafiken)

Array in Delphi






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:


Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!
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:

Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!


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]

Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!


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.

So werden dreidimensionale Arrays deklariert:

Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!


So kann man sich ein Dreidimensionales Array vorstellen:

Originaldokument enthält an dieser Stelle eine Grafik!
Original document contains a graphic at this position!


+: Sehr gut aufgebautes Referat mit verständlichen Erklärungen und schönen Grafiken.
-: Keine Quellenangaben.

Ende des Auszuges


Hier hast Du die Möglichkeit dieses Referat zubewerten
und somit die Gesamtbewertung mitzubestimmen!