Formeln - Hinweise zur Syntax
Einführung
Hier erfahren Sie mehr darüber, wie Sie in profacto mit Formeln im Allgemeinen arbeiten. Es gibt darüber hinaus in verschiedenen Bereichen Sonderregeln, was die "Verpackung" von Formeln angeht, aber generell immer funktioniert das, was hier erläutert wird.
Zahlen, Strings und Variable
Zahlen und Strings
profacto arbeitet in seinen Formeln mit Zahlen, Strings und Variablen.
Beispiele für Zahlen:
- 1
- 2,4
- 334,998
Beispiele für Strings:
- "Test"
- "Das ist ein Satz"
Variable
Variable sind in profacto je nach Situation anwendbar. In der Stückliste und in den Vorgabezeiten können Sie Variable wie PA, PT, SA oder BA verwenden. Alternativ ist auch eine Notation wie SF[ Anzahl ] möglich. Bei allen Variablen, auf die Sie über SF, SEF oder PF zugreifen, muß der Begriff innerhalb der eckigen Klammern in Leerzeichen stehen, also SF[ Feldname ]. Vor und nach Feldname steht ein Leerzeichen!
In manchen Fällen haben Sie auch Zugriff auf Variable wie kGroesse oder kAnzahlTueren. Diese Variable werden im Variablenmanager definiert, ohne das vorangestellte "k", und werden so in der Stückliste verwendet.
Nicht jede Variable kann in jeder Situation verwendet werden, beispielsweise greift in der Auswertung eines Textfelds einer Konstanten nicht jede Variable.
Variable haben in profacto die Besonderheit, dass sie in einer Formel nur gelesen werden können, sie können in einer Formel ihren Wert nicht ändern. Andererseits wird das Ergebnis einer Formel in der Regel zu einem Feldwert, die eben beispielsweise die Anzahl eines Stücklistenteils, und kann so auch wieder in einer anderen Formel verwendet werden.
Operatoren
Gültige Operatoren sind
- +, -, *, / für Zahlen
- UND und ODER für Wahrheitswerte
- & für Strings
Ausdrücke
Ein Ausdruck ist eine mehr oder minder komplexe Kombination von Zahlen, Strings, Variablen und Funktionen, die durch Operatoren verknüpft sind und die durch den Formelparser von profacto ausgewertet werden, um ein Ergebnis zu liefern.
Beispiele:
- SA*2
- SB/1000
- WENN SA=2 dann SB/4 SONST SB
- Links("Hallo";3)
- Links("SF[ Bezeichnung ]";3)
Kontrollstrukturen
Die einzige Kontrollstruktur, die Sie in profacto verwenden können ist
WENN <BoolAusdruck> DANN <Ausdruck> SONST <Ausdruck>
Ein BoolAusdruck muss einen Wahrheitswert liefern, also Wahr oder Falsch.
Gültig als BoolAusdruck ist
- (1=2)
- (Links("SF[ Bezeichnung ]";4)="Test")
- (SA=5)
In solchen Konstrollstrukturen ist es immer gut, Ausdrücke zu klammern.
Funktionen
Suchen(suchtext;text;beginn)
Sucht suchtext in text ab position beginn. Positionen werden ab 1 gezählt. Liefert die Position des Suchtexts oder einen Wert <= 0 zurück
Links(Text;Anzahl)
Liefert die linken Anzahl Zeichen von Text
Rechts(Text;Anzahl)
Liefert die rechten Anzahl Zeichen von Text
Wiederholen(Text; Anzahl)
Wiederholt Text Anzahl mal, aus Wiederholen("*+";2) wird "*+*+*+"
Identisch(T1;T2)
Prüft, ob T1=T2, Gross/Kleinschreibung wird nicht berücksichtigt
Länge(Text)
Liefert die Länge des Texts in Zeichen zurück
Teil(Text;Beginn;Anzahl)
Liefert ab Beginn maximal Anzahl Zeichen aus Text zurück
Str(Zahl)
Macht aus der Zahl einen String
Text 1 & Text2
Verknüpft die beiden Texte zu einem gesamten Text
Wahr, Falsch
Wahrheitswerte
Abs(Zahl)
Liefert den Absolutwert einer Zahl zurück, also immer positiv
Runden(Zahl; NKStellen)
Rundet eine Zahl auf NKStellen kaufmännisch
Wurzel(Zahl)
Liefert die Quadratwurzel einer Zahl
Sin(Zahl)
Liefert den Sinus einer Zahl.
Cos(Zahl)
Liefert den Cosinus einer Zahl.
Tan(Zahl)
Liefert den Tangens einer Zahl.
Exp(Zahl)
Exponentialfunktion auf Basis 10 einer Zahl
Power(Basis, Exponent)
Berechnet Basis hoch Exponent
Pi()
Liefert die Zahl Pi zurück
Num(String)
Liefert den Zahlenwert eines Strings zurück. Besteht ein String aus Zahlen und Buchstaben, wird nur der erste Zahlenanteil von links gesehen verwendet.