Der FoxPro-Kompatible Skriptinterpreter
🔎
Newsletter
Der FoxPro-Kompatible Skriptinterpreter

scan

Durchsucht alle Datensätze des aktuellen Arbeitsbereiches, oder nur die Datensätze, auf die eine bestimmte Bedingung zutrifft.

SCAN [REST] [FOR <Filter>] [WHILE <Condition>] [NOOPTIMIZE]
    <Program>
  [LOOP] [EXIT]
ENDSCAN

Suchbereich der Schleife

Standardmäßig startet die Schleife am Anfang des Arbeitsbereiches (GO TOP). Wenn eine WHILE-Bedingung oder die REST-Option angegeben wird, startet die Schleife jedoch an der aktuellen Position.

Option FOR

Mit diesem Ausdruck kann eine Bedingung fesgtelegt werden die zutreffen muss, damit der Programmblock ausgeführt wird. Wenn der Datensatz nicht der Bedingung entspricht, wird der nächste Datensatz untersucht, so lange bis keine Datensätze mehr verfügbar sind.

Option WHILE

Mit diesem Ausdruck kann eine Abbruchbedingung festgelegt werden. Die Schleifenfunktion wird abgebrochen, sobald ein Datensatz die Bedingung nicht erfüllt.

Option EXIT

Bricht die Ausführung der Schleife ab.

Option LOOP

Leitet die nächste Schleifenwiederholung ein.

Beispiele

Durchsucht alle Datensätze eines Arbeitsbereiches und gibt das Feld Vorname auf dem Bildschirm aus:

  1
  2
  3
  4
SELECT customers
SCAN
  ? firstName
ENDSCAN

Durchsucht alle Datensätze eines Arbeitsbereiches und zeigt den Vornamen der Personen an, deren Postleitzahl mit der Ziffer 2 beginnt:

  1
  2
  3
  4
SELECT customers
SCAN FOR left(zipCode, 1== "2"
  ? firstName
ENDSCAN

Option NOOPTIMIZE

Hat keinen Effekt (Nicht implementiert)