Schleifen in Delphi

Quellcode. [© Philipp Gerbig]

In diesem Artikel werden alle Arten von Schleifen in der Programmiersprache Delphi erklärt.

Die hier erklärten Schleifen sind außerdem auch auf andere Programmiersprachen wie C#, C++, PHP, Visual Basic… übertragbar.

Dann ist allerdings Vorsicht geboten, da diese dort möglicherweise eine etwas andere Zeichensetzung haben.


Die for-Schleife

for i := 1 to 10 do begin
   {Anweisungen, die mehrmals ausgeführt werden sollen}
end;

Die Beispielschleife wird von 1 bis 10 durchlaufen. Insgesamt also zehn mal.

Die Schleifenvariable wird automatisch nach jedem Durchlauf um 1 erhöht. Sie muss nicht „i“ heißen, sondern kann jeden beliebigen Namen haben. Sie muss vorher im Variablen-Teil der Prozedur deklariert werden. Die Schleifenvariable darf innerhalb der Schleife grundsätzlich nicht verändert werden.

Ist die Obergrenze kleiner als die Untergrenze, wird die Schleife nicht durchlaufen (z. B. for i:=1 to 0). Sollten die Grenzen identisch sein, wird sie einmal durchlaufen.

Alternativ zum Hochzählen der Schleifenvariable ist auch das Herunterzählen möglich:

for i := 10 downto 1 do begin
   {Anweisungen, die mehrmals ausgeführt werden sollen}
end;

Die do-while-Schleife

while {Bool'scher Ausdruck} do begin
   {Anweisungen, die mehrmals ausgeführt werden sollen}
end;

Im Gegensatz zur for-Schleife verwendet die while-Schleife keine Schleifenvariable, die automatisch hochgezählt wird. Hier wird vor jedem Durchlauf geprüft, ob eine bestimmte Bedingung erfüllt ist.

Trifft diese nicht mehr zu, wird die Schleife nicht mehr durchlaufen und das Programm fährt mit den weiteren Anweisungen fort. Sollte sie jedoch zu Beginn schon nicht zutreffen, wird die Schleife gar nicht ausgeführt.

Man nennt sie eine kopfgesteuerten Schleife.


Die repeat-until-Schleife

repeat
   {Anweisungen, die mehrmals ausgeführt werden sollen}
until {Bool'scher Ausdruck}

Was bei der While-Schleife ein Durchlaufkriterium war, ist hier ein Abbruchkriterium. Die Schleife läuft solange, bis die Bedingung erfüllt ist.

Sollte die Bedingung schon zu Anfang erfüllt sein, läuft die Schleife einmal ab und erkennt dann, dass sie abbrechen muss. Sie läuft also immer mindestens einmal.

Man nennt sie eine fußgesteuerten Schleife.


Schleifen abbrechen und fortsetzen

Man kann Schleifen vor dem regulären Ende abbrechen. Dafür gibt es die Prozedur break;. Das Programm fährt dann mit der ersten Anweisung nach der Schleife fort.

Außerdem gibt es Situationen, in denen man schon zu Beginn eines Schleifendurchlaufs weiß, dass man gleich mit dem nächsten Durchlauf fortfahren kann. Hier kann man continue; verwenden. Dadurch wird die Durchführung eines Schleifendurchlaufs abgebrochen und mit dem nächsten Durchlauf begonnen. Bei for-Schleifen wird der Index erhöht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.