Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Array in delphi


1. Java
2. Viren

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.

 
 

Datenschutz
Top Themen / Analyse
indicator Klassifizierung von Betriebssystemen
indicator Erweiterte Systemarchitekturen
indicator Kriterien für den Kauf von Instrumentationen
indicator Information Engineering
indicator UDP
indicator E-Mails:
indicator Aktuelle Mac-Modelle:
indicator Internet und Urheberrecht
indicator Lösungsfindung durch Zerteilen eines Problems
indicator Der Real Mode


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution