Seite 1 von 1

Beliebig komplexe IF .. THEN Abfragen mit dem EVAL-Befehl

Verfasst: 06. Sep 2019, 11:08
von Theo_Gottwald
Eigentlich für die Softwareverteilung gemacht, sind die IF .. THEN Möglichkeiten vom MPR realtiv simpel gehalten.
Man kann Werte abprüfen und auf das Ergebnis reagieren.
Wollte man mehrere Faktoren in einer IF - Abfrage berücksichtigen musste man bisher "verschachteln".
Dank dem neuen EVAL-Befehl sind nun beliebig komplexe IF .. THEN Abfragen möglich.
Man muss es nur in 2 Zeilen packen.
In der ersten Zeile berechnet der EVAL Befehl "die Wahrheit" der Abfrage und das Resultat ist entweder "0" (falsch) oder "-1" (wahr).
In der Abfrage wird dann nur noch das Ergebnis von EVAL geprüft.
So kann man nun auch Abfragen mit beliebigen logischen Verknüpfungen wie "AND" oder "OR" etc. anwenden.

Mittel EVAL lassen sich nun beliebig komplexe Abfragen definieren.
Hier ein Beispielcode mit der AND-Option.

Code: Alles auswählen

' Hier nehmen wir 2 zufällige Werte
VAR\$$NUA=100
VAR\$$NUB=50

' hier wird mittels EVAL die Wahrheit der Abfrage berechnet. 
' Wenn Wert 1> Wert2 UND Wert1>50 DANN ist das Ergebnis "-1" sonst ist das Ergebnis 0

GRN\m_eval|$$NUA>$$NUB AND($$NUA>50)|>$$RES

' Hier kommt die eigentliche Abfrage, dabei prüfen wir nur noch das Resultat von Eval auf 0 oder -1
IVV\$$RES!0
  MBX\Bedingung ist erfüllt
ELSE
  MBX\Bedingung ist nicht erfüllt
EVV\