AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
Inhalt   <<   <   >   >>   Index

Syntax:          CASE Ausdruck OF
             WHEN Ausdruck1[,AusdruckŒ] : [Anweisungen]
               [Anweisungen]
             [WHEN AusdruckŒ : [Anweisungen]
               [Anweisungen]]
             OTHERWISE [Anweisungen]
               [Anweisungen]
          ENDCASE

Argumente:     Ausdruck kann jeder beliebige numerische oder String-Ausdruck sein. Der Wert von Ausdruck wird mit den Werten aller Ausdrücke in der Liste nach der ersten WHEN Anweisung verglichen. Wird eine Entsprechung gefunden, gelangt der Block mit den Anweisungen zur Ausführung, der nach WHEN beginnt und mit dem nächsten WHEN, OTHERWISE oder ENDCASE abgeschlossen wird. Die Kontrolle geht dann an die Anweisung nach ENDCASE über. Besteht keine *bereinstimmung, wird das nächste WHEN verwendet, wenn ein solches vorliegt. OTHERWISE ist gleichbedeutend mit WHEN, entspricht aber jedem beliebigen Wert.

Hinweise:     OF muß das letzte Element der Zeile sein.

          WHEN muß das erste Nicht-Leerzeichen-Objekt auf einer Zeile sein. Ein CASE Konstrukt kann jede beliebige Zahl von WHEN Anweisungen enthalten, doch werden nur die Anweisungen des ersten mit einem entsprechenden Wert ausgeführt. Für eine generelle Entsprechung muß OTHERWISE verwendet werden.

          OTHERWISE gelangt nur zur Ausführung, wenn die vorangehenden WHEN Anweisungen keine Paarung mit dem Wert des CASE Ausdrucks erbracht haben. OTHERWISE paßt zu allen Werten. Wenn es vorhanden ist, werden alle nachfolgenden Anweisungen bis zum Auftreten des gepaarten ENDCASE ausgeführt.

          ENDCASE muß das erste Nicht-Leerzeichen-Objekt auf einer Zeile sein. Wenn die WHEN oder OTHERWISE Anweisungen ausgeführt sind, geht die Kontrolle an die Anweisung nach ENDCASE über. Nach Abarbeitung von ENDCASE signalisiert es das Ende der CASE Konstruktion, wenn keine Paarungen vorgenommen wurden. Die Programmkontrolle läuft dann ganz normal weiter.

Beispiel:     CASE Taste$ OF
          
  WHEN "j","J" : PROCja
          
  WHEN "n","N" : PROCnein
          
  OTHERWISE PROCnachfragen
          
ENDCASE

[sh-index] Back to list of manuals