DEdit – Datenbank Editor

Documentation version 1.0d , 2009-06-08


Befehls Beispiele

Logische Befehle: $And{}, $Or{}, $Not{}, $>{}, $>={}, $<{}, $<={}, $=={}, $!={}

Alle ‘logischen’ Befehle vergleichen/auswerten ihre Paramter und liefern einen Boolean-Wert zurück (wahr oder falsch).

Der zurück gegebene Wert wird nicht im Text direkt angezeigt.

Diese Befehle werden typischer weise in Verbindung mit Befehlen verwendet, die einen Boolean-Wert als Paramter benötigen:

$If{}, $Break{} and $Exclude{}.

Die folgenden Beispiele demonstrieren die Befehle, indem sie fall-abhängige Ausgabe mit dem $If{} Befehl erzeugen.

 

Example 1:

SCRIPT

PREVIEW-RESULT

Output of $==: $=={5,2}

Output of $If($==): $If{$=={5,2},<true!>,<false!>}

Output of $==:

Output of $If($==): false!

Beide Zeilen benutzen den $=={} Befehl um die Numern 5 und 2 zu vergleichen. Da sie nicht gleich sind, liefert der Befehl den
Wert falsch zurück.

Während die erste Zeile jedoch keine Ausgabe erzeugt (Boolean Werte werden nicht direkt angezeigt!) verwenden wir den Wert
in der zweiten Zeile als Bedingung für den $If{} Befehl. Da die Bedingung falsch ist, wir der zweite der beiden Text-Optionen
ausgeben.

 

Example 2:

SCRIPT

PREVIEW-RESULT

$NewVar{num1,integer,1,5}

Num1 = $Var{num1}

$NewVar{num2,integer,1,3}

Num2 = $Var{num2}

Output of $==: $=={num1,num2}

Output of $If($==): $If{$=={num1,num2},<true!>,<false!>}

Num1 = 5

Num2 = 3

Output of $==:

Output of $If($==): false!

Dieses Beispiel ähnelt dem ersten, aber anstatt Werte direkt zu vergleichen, warden dismal die Werte zweier Variablen verglichen.

Das wird die häufigere Situation sein. In der ersten Zeile definieren wir einen neue Zahlenvariable (Typ integer) mit dem Namen
num1 und dem Wert 5.
(Die “1” legt fest, dass die Variable ein Array mit nur einem Eintrag (also eine einfache Zahl) ist.)
Die zweite Zeile zeigt den Wert der Variable an. Zeilen 3 und 4 wiederholen das für eine zweite Variable mit Namen num2.

Die letzten beiden Zeilen sind die selben wie im vorherigen Beispiel, allerdings warden nun die Variablen verglichen.

 

Example 3:

SCRIPT

PREVIEW-RESULT

$NewVar{num1,integer,1,5}

$NewVar{num2,integer,1,3}

$Var{num1} == $Var{num2}  is $If{$=={num1,num2},<true!>,<false!>}

$Var{num1} != $Var{num2}  is $If{$!={num1,num2},<true!>,<false!>}

$Var{num1} >= $Var{num2}  is $If{$>={num1,num2},<true!>,<false!>}

$Var{num1} <= $Var{num2}  is $If{$<={num1,num2},<true!>,<false!>}

$Var{num1} > $Var{num2}  is $If{$>{num1,num2},<true!>,<false!>}

$Var{num1} < $Var{num2}  is $If{$<{num1,num2},<true!>,<false!>}

5 == 3  is false!

5 != 3  is true!

5 >= 3  is true!

5 <= 3  is false!

5 > 3  is true!

5 < 3  is false!

Ein einfaches Beispiel für die verschiedenen Vergleichsbefehle. Nichts besonderes hier.

 

Example 4:

SCRIPT

PREVIEW-RESULT

$If{$=={<test1>,<test1>},<same string>,<different string>}

$If{$=={<test1>,<test2>},<same string>,<different string>}

$If{$=={<test1>,<TEST1>},<same string>,<different string>}

 

$If{$!={<test1>,<test1>},<different string>,<same string>}

$If{$!={<test1>,<test2>},<different string>,<same string>}

$If{$!={<test1>,<TEST1>},<different string>,<same string>}

same string

different string

different string

 

same string

different string

different string

Das Beispiel zeigt, dass man die Befehle $=={} und $!={} auch für Textvariablen (Typ string) benutzen kann.

Der Vergleich wird exakt durchgeführt. Groß-Kleinschreibung zählt also als Unterschied!

 

Example 5:

SCRIPT

PREVIEW-RESULT

P = $If{ $=={1,1} , <true>, <false> }

Q = $If{ $=={0,1} , <true>, <false> }

NOT P     = $If{ $Not{$=={1,1}} , <true>, <false> }

NOT Q    = $If{ $Not{$=={0,1}} , <true>, <false> }

P AND Q = $If{ $And{$=={1,1},$=={0,1}} , <true>, <false> }

P OR Q    = $If{ $Or{$=={1,1},$=={0,1}} , <true>, <false> }

P = true

Q = false

NOT P     = false

NOT Q    = true

P AND Q = false

P OR Q    = true

Die Befehle $And{}, $Or{}, $Not{} verbinden verschiedene Boolean Werte mit logischen Operatoren.

In diesem Beispiel erzeugen wir zunächst zwei Boolean Werte (P & Q) mit dem Befehl $=={}.

Die restlichen Zeilen demonstrieren die logischen Operatoren.

Programmierer wird interessieren, dass man Boolean-werte nicht als einfache Integer Zahlen mit Wert 0 oder 1 behandeln kann.

Es ist nicht möglich, einen Booleanwert direkt einer integer-Variable zuzuordnen.

Allerdings can man den $If{} Befehl dazu verwenden, fall-abhängig Werte zuzuweisen, wie das folgende Beispiel zeigt:

 

Example 6:

SCRIPT

PREVIEW-RESULT

$NewVar{num,integer,1,5}

$SetVar{num,$If{$=={1,0},<10>,<2>}}

$Var{num}

 

$NewVar{str,string,1,<empty>}

$SetVar{str,$If{$=={1,0},<first choice>,<second choice>}}

$Var{str}

2

 

second choice

Der $If{} Befehl innerhalb des $SetVar{} Befehls kann einer Variable einen fall-abhängigen Wert zuweisen.

Die selbe Vorgehensweise kann auch für Textvariablen verwendet werden, wie die letzten 3 Zeilen zeigen.