Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
speedy:30_modules:interpreter [2013/11/04 10:04] – Externe Bearbeitung 127.0.0.1 | speedy:30_modules:interpreter [2022/06/29 18:05] (aktuell) – [Zeichenkettenverarbeitung] speedy | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~NOCACHE~~ | ||
====== Formelinterpreter ====== | ====== Formelinterpreter ====== | ||
+ | Der in speedyPDM integrierte Formelinterpreter ermöglicht es an vielen Stellen in der Konfiguration einfach Anpassungen vorzunehmen. | ||
===== Formelsyntax ===== | ===== Formelsyntax ===== | ||
- | + | Die Sytax des Formelinterpreters orientiert sich dabei an der Formelsyntax von Excelformeln. \\ | |
- | Eine Formel endet immer mit einem Semikolon. | + | Eine Formel |
+ | < | ||
+ | =FORMELAUSDRUCK; | ||
+ | </ | ||
+ | \\ | ||
===== Datentypen ===== | ===== Datentypen ===== | ||
- | + | Es stehen folgende Datentypen zur Verfügung: | |
- | * Es stehen folgende Datentypen zur Verfügung: | + | |
* Fließkomma | * Fließkomma | ||
* Ganzzahl | * Ganzzahl | ||
Zeile 16: | Zeile 21: | ||
===== Wertzuweisung ===== | ===== Wertzuweisung ===== | ||
- | |||
Variablen können in Formeln als konstante oder für Zwischenrechnungen verwendet werden. | Variablen können in Formeln als konstante oder für Zwischenrechnungen verwendet werden. | ||
+ | < | ||
x1 = ref1 + IF( ref2 < 10, ref3 - 5, ref4 + 5 ); | x1 = ref1 + IF( ref2 < 10, ref3 - 5, ref4 + 5 ); | ||
+ | </ | ||
===== Arithmetik ===== | ===== Arithmetik ===== | ||
Zeile 29: | Zeile 35: | ||
|%%^%%|Potenzierung|%%3^2%%|9| | |%%^%%|Potenzierung|%%3^2%%|9| | ||
- | Die Negation von Funktionen ist nicht zulässig: | + | Die Negation von Funktionen ist nicht zulässig: |
- | Falsch: -SUM( x1; x2 ); | + | Falsch: -SUM( x1; x2 ); \\ |
- | Richtig: 0 - SUM( x1, x2 ); | + | Richtig: 0 - SUM( x1, x2 ); \\ |
- | Negation von Zahlen oder Variablen innerhalb arimethischer Ausdrücke ist ebenfalls nicht zulässig: | + | Negation von Zahlen oder Variablen innerhalb arimethischer Ausdrücke ist ebenfalls nicht zulässig: |
- | Falsch: X1 + -X2; | + | Falsch: X1 + -X2; \\ |
- | Richtig: X1 - X1; | + | Richtig: X1 - X1; \\ |
- | Mehrfaches Potenzieren: | + | Mehrfaches Potenzieren: |
3^2^4; entspricht 3^(2^4); | 3^2^4; entspricht 3^(2^4); | ||
Zeile 75: | Zeile 81: | ||
**IF(Prüfung, | **IF(Prüfung, | ||
- | Liefert DannWert, wenn Prüfung TRUE ist. Ist DannWert nicht angegeben, wird TRUE zurückgegeben. | + | Liefert DannWert, wenn Prüfung TRUE ist. Ist DannWert nicht angegeben, wird TRUE zurückgegeben. |
- | Liefert SonstWert, wenn Prüfung FALSE ist. Ist SonstWert nicht angegeben, wird FALSE zurückgegeben. | + | Liefert SonstWert, wenn Prüfung FALSE ist. Ist SonstWert nicht angegeben, wird FALSE zurückgegeben. |
- | Für die Erstellung komplexerer Bedingungen lassen sich maximal sieben IF-Funktionen verschachteln. | + | Für die Erstellung komplexerer Bedingungen lassen sich maximal sieben IF-Funktionen verschachteln. |
- | Sobald die Argumente DannWert und SonstWert ausgewertet sind, liefert IF den Wert, den diese Anweisungen zurückgeben. | + | Sobald die Argumente DannWert und SonstWert ausgewertet sind, liefert IF den Wert, den diese Anweisungen zurückgeben. |
- | Ist eines der an eine IF-Funktion übergebende | + | Ist eines der an eine IF-Funktion übergebende |
- | Sind einige der als DannWert und SonstWert übergebenen Argumente ausführbare Funktionen, werden diese vollständig ausgeführt. | + | Sind einige der als DannWert und SonstWert übergebenen Argumente ausführbare Funktionen, werden diese vollständig ausgeführt. |
- | Beispiel: | + | Beispiel: |
- | IF(A==B, 100, 0); ergibt 100, wenn A identisch B ist. | + | < |
- | IF(Gesamtsumme> | + | < |
- | **Beachten Sie, dass das weglassen des Dannwert | + | <note important> |
- | Sie sollten immer beide Fälle angeben, um Formelfehler in nachfolgenden Formeln zu vermeiden. | + | Sie sollten immer beide Fälle angeben, um Formelfehler in nachfolgenden Formeln zu vermeiden.</ |
- | ** | + | \\ |
**SWITCH(Testwert, | **SWITCH(Testwert, | ||
- | Liefert AnweisungN, wenn VergleichN identisch ist mit Testwert. | + | Liefert AnweisungN, wenn VergleichN identisch ist mit Testwert. |
Diese Funktion benötigt mindestens drei Argumente. | Diese Funktion benötigt mindestens drei Argumente. | ||
- | Als Argument kann der String " | + | Als Argument kann der String " |
- | + | Beispiel: | |
- | Beispiel: | + | < |
SWITCH(BEN1_deu, | SWITCH(BEN1_deu, | ||
" | " | ||
" | " | ||
" | " | ||
+ | </ | ||
ergibt " | ergibt " | ||
- | **Beachten Sie, dass " | + | <note important> |
===== Mathematik & Statistik ===== | ===== Mathematik & Statistik ===== | ||
Zeile 228: | Zeile 236: | ||
Ersetzt alle im Text vorkommenden Suchtextpassagen durch den Ersatztext. | Ersetzt alle im Text vorkommenden Suchtextpassagen durch den Ersatztext. | ||
+ | **ADDLINE(Text1, | ||
+ | Fügt eine beliebige Anzahl von Texten aneinander und trennt die einzelnen Texte durch einen Zeilenumbruch. Es entstehen keine Leerzeilen. | ||
+ | |||
+ | **CONCAT_WS(separator, | ||
+ | Fügt eine beliebige Anzahl von Texten aneinander und trennt die einzelnen Texte durch den separator, wenn der nächste Text nicht leer ist. | ||
+ | \\ | ||
+ | ===== Pfade und Dateinamen ===== | ||
+ | |||
+ | **PathAddBackslash(Path)**\\ | ||
+ | Adds a backslash to the end of a string to create the correct syntax for a path. If the source path already has a trailing backslash, no backslash will be added. | ||
+ | |||
+ | **PathAddExtension(Path, | ||
+ | Adds a file extension to a path string. | ||
+ | |||
+ | **PathAppend(Path, | ||
+ | Appends one path to the end of another. | ||
+ | |||
+ | **PathBuildRoot(Path)**\\ | ||
+ | Creates a root path from a given drive number. | ||
+ | |||
+ | **PathCombine(Dir, | ||
+ | Concatenates two strings that represent properly formed paths into one path, as well as any relative path pieces. | ||
+ | |||
+ | **PathFileExists(File)**\\ | ||
+ | Determines whether a path to a file system object such as a file or directory is valid. | ||
+ | |||
+ | **PathFindExtension(Path)**\\ | ||
+ | Searches a path for an extension. | ||
+ | |||
+ | **PathFindFileName(Path)**\\ | ||
+ | Searches a path for a file name. | ||
+ | |||
+ | **PathGetDriveNumber(Path)**\\ | ||
+ | Searches a path for a drive letter within the range of ' | ||
+ | |||
+ | **PathRemoveBackslash(Path)**\\ | ||
+ | Removes the trailing backslash from a given path. | ||
+ | |||
+ | **PathRemoveExtension(Path)**\\ | ||
+ | Removes the file extension from a path, if there is one. | ||
+ | |||
+ | **PathRemoveFileSpec(Path)**\\ | ||
+ | Removes the trailing file name and backslash from a path, if it has them. | ||
+ | |||
+ | **PathRenameExtension(Path, | ||
+ | Replaces the extension of a file name with a new extension. If the file name does not contain an extension, the extension will be attached to the end of the string. | ||
+ | |||
+ | **PathSkipRoot(Path)**\\ | ||
+ | Parses a path, ignoring the drive letter or UNC server/ | ||
+ | |||
+ | **PathStripPath(Path)**\\ | ||
+ | Removes the path portion of a fully qualified path and file. | ||
+ | |||
+ | **PathStripToRoot(Path)**\\ | ||
+ | Removes all parts of the path except for the root information. | ||
+ | |||
+ | **PathUndecorate(Path)**\\ | ||
+ | Removes the decoration from a path string. | ||
+ | |||
+ | **PathDecorate(Path, | ||
+ | Adds a decoration to the given path string. | ||
+ | |||
+ | \\ | ||
===== Datum- und Zeitfunktionen ===== | ===== Datum- und Zeitfunktionen ===== | ||
Zeile 257: | Zeile 328: | ||
Gibt die Kalenderwoche zurück. | Gibt die Kalenderwoche zurück. | ||
+ | \\ | ||
+ | ===== Datenbankfunktionen ===== | ||
+ | |||
+ | **SELECT(" | ||
+ | Führt eine Datenbankabfrage in folgender Form : \\ | ||
+ | <code MySql> | ||
+ | |||
+ | **GETSETTING(" | ||
+ | Gibt einen Konfigurationparameter zurück. \\ | ||
+ | |||
+ | **SETSETTING(" | ||
+ | Setzt einen Konfiguraitonsparmeter. \\ | ||
+ | |||
+ | |||
+ | /* | ||
===== Einschränkungen ===== | ===== Einschränkungen ===== | ||
Zeile 270: | Zeile 356: | ||
Logische Verknüpfungen\\ | Logische Verknüpfungen\\ | ||
Sonstige Funktionen\\ | Sonstige Funktionen\\ | ||
+ | */ |