Version 6.0
In Methoden, ganz gleich, ob sie einfach oder komplex sind, verwenden Sie immer eine oder mehrere der drei Programmierstrukturen. Diese Strukturen steuern die Ausführungsabfolge der Statements in einer Methode. Es gibt folgende Arten:
Sequentiell
Abfragen
Schleifen
Sequentielle Struktur
Die sequentielle Struktur ist eine einfache lineare Struktur. Alle Anweisungen werden nacheinander gemäß ihrer Reihenfolge ausgeführt. Beispiel:
OUTPUT FORM([People]; "Listing") ALL RECORDS([People]) DISPLAY SELECTION([People])
Ein typisches Beispiel ist die einzeilige Routine, die häufig für Objektmethoden verwendet wird, dies ist die einfachste Form einer sequentiellen Struktur. Beispiel:
[People]Last Name:=Uppercase([People]Last Name)
Hinweis: Mit den AnweisungenBegin SQL /End SQL können Sie sequentielle Strukturen auf die Ausführung mit der SQL Engine von 4D beschränken.
Abfragen
Bei Abfragen werden Befehlsfolgen bedingt ausgeführt. Die Bedingung ist ein boolean Ausdruck, der TRUE oder FALSE ermittelt. In der Struktur If...Else...End if wird eine bestimmte Bedingung abgefragt. Es gibt zwei Möglichkeiten. Trifft die Bedingung zu, d.h., ist sie wahr, führt sie den folgenden Befehl aus. Trifft die Bedingung nicht zu, d.h., ist sie falsch, wird der Befehl nicht ausgeführt, eventuell aber ein anderer. In der Struktur Case of...Else...End case gibt es mehrere Möglichkeiten, von den letztendlich eine ausgeführt wird.
Schleifen
Schleifen führen eine Anweisung oder eine Folge von Anweisungen wiederholt aus. Die Anweisungen müssen nicht neu geschrieben werden. 4D kennt drei Arten von Schleifen:
Schleifen werden entweder solange durchlaufen, bis eine Bedingung gefunden wird oder sie laufen ein bis n-Male ab. Die beiden Möglichkeiten lassen sich zwar für alle Arten von Schleifen einrichten. While- und Repeat-Schleifen eignen sich jedoch besser für das Durchlaufen, bis eine Bedingung gefunden wird, For-Schleifen für den zahlenmäßig begrenzten Durchlauf.
Hinweis: 4D ermöglicht Programmierstrukturen (If/While/For/Case of/Repeat) bis zu einer Tiefe von 512 Ebenen einzubinden.
Referenz