Zum Hauptinhalt springen

for...loop...while/until

for...loop...while/until

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Schleife mit Initialisierung

Details

Syntax:

for <Anweisung> loop <Anweisung> while <Ausdruck>
<Anweisung>

oder

for <Anweisung> loop <Anweisung> until <Ausdruck> 
<Anweisung>

Dieser Schleifentyp verfügt über drei verschiedene Elemente:

  • - Initialisierung: for ...
  • - Wiederholungsanweisung: loop ...
  • - Bedingung: while ... oder until ...

Zuerst wird die Initialisierungsanweisung durchgeführt. Danach wird zunächst die Schleifenbedingung geprüft, bevor die Schleife das erste Mal durchlaufen wird. Nach dem Durchlauf wird die Wiederholungsanweisung durchgeführt und anschließend die Schleifenbedingung erneut überprüft.

Als Schleifenbedingung kann sowohl until (Schleife läuft bis die Bedingung erfüllt ist) als auch while (Schleife läuft solange die Bedingung erfüllt ist) verwendet werden. In beiden Fällen handelt es sich um eine Schleifen-Eintrittsbedingung.

Die for-Schleife eignet sich besonders für komplexe Schleifen, da als Initialisierungs- bzw. Wiederholungsanweisung auch Anweisungsblöcke möglich sind.

Um innerhalb einer Schleife eine extreme Schachtelung von if ... else-Anweisungen zu vermeiden, können mit dem Befehl cycle die restlichen Anweisungen in der Schleife übersprungen werden. Mit dem Befehl break wird die Schleife beendet.

Beispiele:

for   tCount # 0 
loop Inc(tCount)
while (tCount < 10000)
{
...
}

// Alle Datensätze einer Datei lesen
for tRes # RecRead(tblCstCustomer, kCstId, _RecFirst)
loop tRes # RecRead(tblCstCustomer, kCstId, _RecNext)
while (tRes < _rNoKey)
{
...
}

// Alle Spalten eines Data- oder RecList-Objektes ermitteln
for tHdlClm # tHdlListObj->WinInfo(_WinFirst)
loop tHdlClm # tHdlClm->WinInfo(_WinNext)
while (tHdlClm != 0)
{
...
}
info

Bei der Verwendung des PASCAL-Styles muss eine andere Syntax beachtet werden. Weitere Informationen befinden sich im Abschnitt Style-Unterschiede .