Bei der Eingabe von Formeln (Setze-Befehl oder [cX.Rechne ]-Platzhalter) bzw. Bedingungsausdrücken (Wenn, Sonst, Schleife Ab, Schleife Bis, Beende) können alle Grundrechenarten verwendet werden. Klammerebenen werden ebenfalls berücksichtigt.
Hinweis: Im Gegensatz zu den Vorgängern akzeptiert click.EXE 5.0 keine Lücken in Formeln mehr, die durch uninitialisierte (leere) Variablen entstehen können. Ein Ausdruck wie 1+[X]*2 führt daher zu einem Laufzeitfehler, wenn die Variable X nicht mit 0 o.ä. initialisiert wurde und daher leer ist!
Bei Ausdrücken wie "1-[X]-2" kann dies auch ohne Fehler zu falschen Ergebnissen führen: bei [X]=0 ist das -1, bei [X]=leer ergibt es 3!
Hinweis: Für diesen Zweck kann der Variablenname mit einem % ergänzt werden, wodurch bei einem leeren Inhalt 0 zurückgegeben wird.
Auch müssen nicht-numerische Argumente (etwa der Text für Len("X") oder das Datum für Dat("X")) in Anführungsstriche gesetzt werden.
Erweiterte Grundrechenarten:
\ | Ganzzahl-Division |
^ | Potenz |
° | Modulo (Teilungsrest) |
% | binäres UND |
| | binäres ODER |
_ | binäres XOR (Exklusiv ODER), etwa: 255 _ 8 ergibt 247 (die gesetzten Bits des zweiten Wertes werden beim ersten zurückgesetzt) |
Logische Operatoren:
& | logisches UND liefert Wahr, wenn beide Terme <>0 sind (etwa "[A] & [B]") |
: | ODER Wahr, wenn min. einer der Begriffe <>0 ist (geeignet für zusammengesetzte Bedingungen) Hinweis: Werden UND und ODER kombiniert, ist UND vorranging (wie bei "Punkt vor Strichrechnung") |
Vergleiche:
= | Gleichheit |
> | größer als |
>= | größer oder gleich |
< | kleiner als |
<= | kleiner oder gleich |
<> oder
! | ungleich |
Trigonometrische Funktionen (Winkel X in Grad):
Atn(X) | Arcustangens X |
Acs(X) | ArcusCosinus X |
Asn(X) | ArcusSinus X |
Cos(X) | Cosinus X |
Cot(X) | Cotangens X |
Csh(X) | Cosinus hyperbolikus |
Cth(X) | Cotangens hyperbolicus |
Sin(X) | Sinus X |
Snh(X) | Sinus hyperbolicus |
Tan(X) | Tangens X |
Tnh(X) | Tangens hyperbolicus |
Sonstige Funktionen:
Abs(X) | Absolutwert von X (immer positiv) |
Asc("X") | ASCII-Wert des Zeichens X |
Avg(X;Y;...) | Durchschnittswert (Mittelwert) der in der Klammer aufgelisteten Werte |
Bin(X) | binäre Ausdrücke (z.B. 1001) in einen Wert umwandeln (siehe auch [cX.Bin X]) |
Dat("X") | liefert einen numerischen Wert für das angegebene Datum bzw. die Zeitangabe X |
Dat4("X") | liefert einen numerischen Wert für das angegebene Datum X (Tageszähler, wie in cX4) |
Dec(X) | Nachkommastellen von X |
E | Eulersche Zahl: Basis des natürlichen Logarithmus (2,718281828459) |
Exp(X) | e hoch X |
Fak(X) | Fakultät von X (X von 1 bis 25) |
Fix(X) | Ganzzahlwert von X (abgeschnitten; -5,3 => -5) (siehe auch Frc, Int und Rdn) |
Frc(X) | Ganzzahlwert von X (abgeschnitten; -5,3 => -6); der Unterschied zu Fix() tritt nur bei negativen Zahlen auf (siehe auch Fix, Int und Rdn) |
Int(X) | Ganzzahlwert von X (bankmäßig auf gerade Zahlen gerundet, d.h. Int(2.5)=2, Int(3.5)=4) (siehe auch Fix, Frc und Rdn) |
Len("X") | Länge des Textes X Hinweis: Kommt in dem Ausdruck X selbst eine Klammer zu oder Anführungszeichen vor, verfälscht dies das Ergebnis. In kritischen Fällen kann die Länge auch über den Setze-Befehl ermittelt werden. |
Lgd(X) | dezimaler Logarithmus von X |
Log(X) | Natürlicher Logarithmus von X |
Min(X;Y;...) | Mindestwert der mit Semikolons getrennten Werte |
Max(X;Y;...) | Maximalwert der mit Semikolons getrennten Werte |
Not(X) | Inverser Wert von X (entspricht -X-1) |
Pi | Kreiszahl π (3,14159265359) |
Rdn(x) | rundet die Zahl x mathematisch auf eine Ganzzahl (siehe auch Fix, Frc und Int) |
Rdn(X;n) | rundet die Zahl x auf n Stellen |
Rnd(X) | Zufallszahl von 0 bis X |
Rng(X;Min;Max) | liefert 1, wenn Min<=X<=Max |
Sec("X") | liefert die Sekundenanzahl für die angegebene Zeit X (z.B. 60 für die Zeit "0:01") |
Sgn(X) | Vorzeichen von X: <0 ergibt -1, 0 ergibt 0, >0 ergibt 1 |
Sqr(X) | Quadratwurzel aus X Wahlweise kann als weiterer Parameter angegeben werden, die wievielte Wurzel zu berechnen ist, also rechnet Sqr(27;3) die Kubikwurzel von 27 = 3 aus. |
Sum(X;Y;...) | Summe der in der Klammer aufgelisteten Werte |
Val("X") | ermittelt den Wert, der am Anfang des Textes steht |
Sonstige Anmerkungen:
Außerdem kann eine hexadezimale Zahl mit Hilfe des Präfixes &H angegeben werden (z.B. ergibt &HF den Wert 15).
Texte können ebenfalls verglichen werden (=, <, <=, >, >=, <> bzw. !), indem sie in "" gesetzt werden (z.B.: [cX.Rechne("A"="B")]=0, [cX.Rechne("A"<"B")]=-1, [cX.Rechne("A"<="A")]=-1). Solche Ausdrücke sollten immer in Klammern gesetzt werden.
Ergänzend gibt es bei solchen Textvergleichen den Operator #, mit dem Ähnlichkeiten per Wildcards geprüft werden können. So ergibt z.B. ("ab" # "a*") den Wert -1, weil "ab" dem Vergleichsausdruck "a*" entspricht.
Hinweis: In dem "Platzhalter wählen"-Fenster (F6) können Berechnungen gestetet werden, indem der Berechne"-Button in den erweiterten Testoptionen unten eingeschaltet wird. Hier als Beispiel "7 XOR 2":
Manche werden sich fragen, wieso bei dem Beispiel [cX.Rechne("A"<"B")]=-1 der Buchstabe "A" kleiner ist als der Buchstabe "B". Nun, bei einem Textvergleich wird der ASCII-Wert der Zeichen verglichen. Das Zeichen "A" hat den ASCII-Wert 065 und das Zeichen "B" den Wert 066, also ist "A" kleiner als "B".
Beispiel "Grundrechenarten":
Als kleines Beispiel für die Grundrechenarten zählen wir die zwei Werte 6 und 1 zusammen, setzen das Ergebnis in die Variable [Summe] und geben den Inhalt der Variablen in einer Meldungsbox aus:
Setze in [Summe]: '6+1' (berechnen) Meldung "Die Summe = [Summe]" (Titel: 'Info', 'OK') |
Wenn sie dieses Skript starten erhalten Sie als Ergebnis:
Beispiel "Erweiterte Grundrechenarten":
Als Beispiel für die erweiterten Grundrechenarten errechnen wir die Potenz von 4 und teilen diese durch die Zahl 2. Das Ergebnis setzen wir in die Variable [Ergebnis] und geben diese in einer Meldungsbox aus:
Setze in [Ergebnis]: '(4^2)\2' (berechnen) Meldung "Das Ergebnis lautet: [Ergebnis]" (Titel: 'Info', 'OK') |
Wenn sie dieses Skript starten erhalten Sie als Ergebnis:
Beispiel "Vergleiche":
Vergleiche werden als Bedingung sehr oft bei der "Wenn-Abfrage" gebraucht. Aus diesem Grund setzen wir in unserem Beispiel den Wert 5 in die Variable [Anfang], den Wert 10 in die Variable [Ende] und steuern den weiteren Verlauf des Skripts durch eine "Wenn-Abfrage":
Setze in [Anfang]: '5' Setze in [Ende]: '10' Wenn Wahr: '[Anfang]<[Ende]' Meldung "Der Wert "Anfang" ist kleiner als der Wert "Ende"" (Titel: 'Info', 'OK') Sonst Meldung "Der Wert "Anfang" ist größer als der Wert "Ende"" (Titel: 'Info', 'OK') Ende Wenn |
Wenn sie dieses Skript starten erhalten Sie als Ergebnis:
Wenn Sie im Skript die Werte von [Anfang] und [Ende] vertauschen:
Setze in [Anfang]: '10' Setze in [Ende]: '5' Wenn Wahr: '[Anfang]<[Ende]' Meldung "Der Wert "Anfang" ist kleiner als der Wert "Ende"" (Titel: 'Info', 'OK') Sonst Meldung "Der Wert "Anfang" ist größer als der Wert "Ende"" (Titel: 'Info', 'OK') Ende Wenn |
ist die Bedingung [Anfang] < [Ende] der "Wenn-Abfrage" nicht wahr und das Skript wird nach "Sonst" fortgesetzt.
Als Ergebnis erhalten Sie in diesem Fall die Meldung:
Beispiel "Trigonometrische Funktionen":
Als Beispiel für die trigonometrischen Funktionen setzen wir in die Variable [Winkel] den Wert 55 und setzen dann den Sinuswert von [Winkel] in die Variable [Sinuswert]. Als Ausgabe für die Variable [Sinuswert] dient wieder die Meldungsbox:
Setze in [Winkel]: '55' Setze in [Sinuswert]: 'Sin([Winkel])' (berechnen) Meldung "Der Sinuswert von [Winkel] Grad = [Sinuswert]" (Titel: 'Info', 'OK') |
Wenn sie dieses Skript starten erhalten Sie als Ergebnis:
Beispiel "Sonstige Funktionen":
Als Beispiel für die Sonstigen Funktionen nehmen wir die Funktion Rnd(X), welche eine Zufallszahl berechnet. In die Variable [Zufallszahl] setzen wir Rnd(100), das bedeutet, dass bei jedem Start des Skripts in der Variablen [Zufallszahl] ein zufälliger Wert zwischen 0 und 100 gesetzt wird:
Setze in [Zufallszahl]: 'Rnd(100)' (berechnen) Meldung "Die Zufallszahl lautet: [Zufallszahl]" (Titel: 'Info', 'OK') |
Wenn sie dieses Skript starten erhalten Sie "vielleicht" als Ergebnis:
"Vielleicht" deshalb, da ja bei jedem Start des Skripts eine neue, zufällige Zahl berechnet wird.
In den kurzen Beispielskripts auf dieser Seite haben wir immer mittels des Befehls Setze die Werte berechnet. Berechnungen können auch über den Platzhalter [cX.Rechne ] ermittelt werden. Als Beispiel nehmen wir das 1. Beispielskript auf dieser Seite, in dem wir die Zahlen 6 und 1 addiert haben:
Meldung "Die Summe = [cX.Rechne(6+1)]" (Titel: 'Info', 'OK') |
Wie Sie sehen, besteht dieses Skript nur aus einer Zeile, und wenn Sie es starten, erhalten Sie das gleiche Ergebnis wie beim 1. Skript:
cX-Webseite: http://www.clickexe.net