Automation Engine Script-Leitfaden > Einführung > Fortgeschrittene > Rechnen

 Rechnen

Dieses Dokument erklärt die Rechenoperationen die mit Hilfe des AE Scripts durchgeführt werden können.

Script-Sprachmittel

Im AE Script können Sie mit Hilfe von Script-Sprachmitteln die vier Grundrechenarten verwenden:

Zusätzlich steht die Script-Funktion MOD zu Ihrer Verfügung, die den Rest einer Division ermittelt.

Mit der Script-Funktion RANDOM können Sie bei Bedarf Zufallszahlen erzeugen.

Das Resultat der Rechenoperation wird in einer Script-Variablen gespeichert.

Beispiel:

:SET &DIFFERENCE# = SUB(100,50)

Bei Rechenoperationen werden auch negative Zahlen (Datentyp: "signed") und Kommazahlen (Datentyp: "float") unterstützt. Dazu muss die Zielvariable, die das Ergebnis der Rechnung erhält, den geeigneten Datentyp aufweisen. Der Datentyp "string" ist für Rechenoperationen nicht erlaubt!

Nachkommastellen der Ergebnisse werden abgeschnittten, wenn der Datentyp der Zielvariable keine Kommazahlen unterstützt. 

Wenn eine Rechenoperation ein negatives Ergebnis liefert und der Datentyp der Zielvariable keine Vorzeichen unterstützt, kommt es zu einem Laufzeitfehler!

Es wird daher empfohlen, als Datentyp der Zielvariable den höchsten verwendeten Datentyp der Rechnung zu verwenden (siehe Tabelle). Das Ergebnis der Rechnung darf den Wert "9 999 999 999 999 999" nicht übersteigen.

Datentypen der Operanden Erlaubte Datentypen der Zielvariable
unsigned, unsigned unsigned, signed, float
unsigned, signed signed, float
unsigned, float float
signed, signed signed, float
signed, float float
float, float float

Der höchste Datentyp ist "float" (Negative und positive Kommazahlen). Danach kommt "signed" (Negative und positive Ganzzahlen). Der Datentyp "unsigned" unterstützt nur positive Ganzzahlen und ist somit am niederwertigsten.

Beispiel: Der Datentyp der Ergebnis-Variable "&SUM#" muss mindestens "signed" sein, wenn als Operand eine negative Zahl angegeben wurde. Es ist jedoch auch der Datentyp"float" möglich.

:DEFINE &UNSIGNED#,unsigned
:DEFINE &SIGNED#,signed
:DEFINE &SUM#,signed

:SET &UNSIGNED# = 12
:SET &SIGNED# = -5

:SET &SUM# = ADD(&SIGNED#,&UNSIGNED#)

Die folgende Zeile würde in einem Scriptfehler resultieren:

:SET &UNSIGNED# = ADD(&SIGNED#,&UNSIGNED#)

Beachten Sie, dass es bei Rechenoperationen mit Gleitkommazahlen zu einem ungenauen Ergebnis kommen kann!

Auflösung eines arithmetischen Terms

in AE ist es auch möglich mit Hilfe des Script-Sprachmittels :SET einen arithmetischen Term aufzulösen und das Ergebnis in eine Variable zu speichern. Somit wird das Script um ein Vielfaches verkürzt und vereinfacht.

Weist die Zielvariable den Datentyp "unsigned" auf und das Ergebnis der Rechnung ergibt eine negative Zahl, führt dies zu einem Laufzeitfehler. Unterstützt der Datentyp der Zielvariable keine Nachkommastellen, so werden diese gegebenenfalls abgeschnitten.

Die Rechnung kann neben den Grundrechnungsarten auch Klammern und Vorzeichen beinhalten.

Eine Zeile die Rechenoperatoren (+,-,*,/) enthält, wird grundsätzlicher als Term behandelt. Achten Sie darauf, den Term nicht unter einzelne oder doppelte Hochkommata zu setzen. Andernfalls wird der Term als string interpretiert.

Achtung: Die Verwendung von Script-Funktionen innerhalb arithmetischer Ausdrücke ist nicht erlaubt.

Achten Sie auf die Gewichtung der Operatoren (Punktrechnung vor Strichrechnung)

Beispiel:

 :DEFINE &UNSIGNED#,unsigned
:DEFINE &FLOAT#,float
:DEFINE &RES#,float

:SET &UNSIGNED# = 12
:SET &FLOAT# = -0.50

:SET &RES# = &FLOAT#*3 + (-&UNSIGNED#) - 3

 

Siehe auch:

Script-Sprachmittel Beschreibung

ADD

Führt eine Addition aus.

SUB

Führt eine Subtraktion aus.
MULT Führt eine Multiplikation aus.
DIV Führt eine Division aus.
MOD Liefert den Restwert einer Division.
RANDOM Generiert Zufallszahlen.

GET_BIT

Prüft, ob in einem Bit-Feld ein bestimmtes Bit gesetzt ist

Script-Sprachmittel - Rechnen

Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung

Script-Sprachmittel - Funktionelle Gliederung

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH