SelfGTR Logo KapitelseiteSelfGTR KapitelseiteKontrollfunktionen
Textseitebedingte Anweisungen
vorige SeiteTextseiteBedingungen und Vergleiche TextseiteSprüngenächste Seite
 
Gliederung:Folgende Themen werden behandelt:
zum Anfanghochrunter

1. einzelne Anweisungen hinzunehmen ()

Mit dem Sprungoperator kann man bedingte Anweisungen formulieren, die nur eine Anweisung haben. Dieses Verfahren ist wesentlich kürzer als die im folgenden Abschnitt vorgestellte allgemeine Methode.
Der Sprungoperator lässt sich auch verschachteln. Dann sind die Einzelbedingungen UND-verknüpft. Eine ODER-Verknüpfung lässt sich über Verschachtelungen nicht realisieren.

Ort:

Syntax:Bedingung 1 Bedingung 2 ... Bedingung n Anweisung

Beispiel:List 3[N]=7G-9G

zeigt den Wert von G an, falls die Listenzelle List 3[N] dem Wert 7G-9 entspricht


Beispiel:B>8B<200A~Z

löscht alle Variablen als Buchstaben, falls B zwischen 8 und 20 liegt


Beispiel:B>8 And B<200A~Z

hat die gleiche Wirkung wie die vorige verschachtelte Variante


Beispiel:B=50 Or B<200A~Z

löscht alle Variablen als Buchstaben, falls B kleiner als 20 oder gleich 50 ist



zum Anfanghochrunter

2. einzelne Anweisungen auslassen ( Isz ~ Dsz)

Isz inkrementiert eine Variable. Falls der Wert nach dem Inkrementieren 0 beträgt, wird die darauffolgende Anweisung übersprungen. Dsz arbeitet analog, nur dass hier der Wert der Variablen dekrementiert wird.
Für weitere Erläuterungen siehe Abschnitt Textseitemit Variablen rechnen.

Ort:Isz
Dsz

Syntax:Isz <Variable>
Dsz <Variable>

Parameter:Variable: Variable als Buchstabe

Beispiel:0->A
Isz A
"1":"2":"3"

Ausgabe: 123


Beispiel:-1->A
Isz A
"1":"2":"3"

Ausgabe: 23
Der Wert von A beträgt nach dem Inkrementieren nun 0, daher wird die darauffolgende Anweisung ignoriert.



zum Anfanghochrunter

3. allgemeine Variante ( If ~ Then ~ Else ~ IfEnd )

Mit den If-Statement kann man mehrere Anweisungen bedingt ausführen (Then-Anweisungen). Man hat außerdem die Möglichkeit Anweisungen zu definieren, die ausgeführt werden sollen wenn die If- Bedingung nicht zutrifft (Else- Anweisungen). IfEnd beendet die Verzweigung.

Ort:If
Then
Else
IfEnd

Syntax:If Bedingung Operationsbefehl Then Anweisungen Operationsbefehl {Else Anweisungen Operationsbefehl} IfEnd

Beispiel:If (A=B Or B=C) And Ans<3
Then ClrText:3A
IfEnd
"FERTIG"

Dieses Beispiel mit einer etwas komplexeren Bedingung hat 2 Anweisungen: es leert das Textdisplay und setzt Variable A. FERTIG wird unabhängig von der Bedingung immer ausgegeben, weil es hinter IfEnd steht.


Beispiel:?X:?Y
PxlTest Y,X
If Ans
Then "VORHANDEN"
Else "NICHT VORHANDEN"
IfEnd

Das Programm liest 2 Koordinaten ein und prüft, ob sich an dieser Stelle im Grafikspeicher (Draw Mem) ein Pixel befindet. Das Resultat ist die Bedingung dafür, ob VORHANDEN (Ans=1) oder NICHT VORHANDEN (Ans=0) ausgegeben wird



zum Anfanghochrunter

SelfGTR Version 5.23 vom 04.10.2007© 2002 - 2007 Ronny Scholz