Berechnete Ausdrücke
Allgemeine Regeln
Jeder Konfigurationseintrag kann auf der Datenseite Berechnungsausdrücke enthalten, die bei jedem
Zugriff erneut evaluiert werden. Auf andere Einträge kann mit dem neuen Makro
„#(<Section.Key>)I" zugegriffen werden, wodurch sich die Übersichtlichkeit erhöht.
Es gelten folgende Regeln:
Ein Berechnungsausdruck hat das Format: „$(<Ausdruck>)", wobei Ausdruck als
„<Operand/Operator>;<Operand/Operator>;...;<Operand/Operator>"
definiert ist.
Ein Ausdruck besteht aus Operanden und Operatoren, die durch einen Strichpunkt voneinander
getrennt sind. Operanden werden auf den Stack geschoben. Operatoren holen die entsprechende
Anzahl von Operanden vom Stack, berechnen den Wert und schieben diesen wieder auf den
Stack.
Am Ende der Berechnung muss sich genau ein Wert auf dem Stack befinden, sonst wird ein
Fehler gemeldet.
Operanden müssen durch Anführungszeichen eingeschlossen sein, falls diese Operatoren oder
Sonderzeichen, wie Strichpunkt oder die geschlossene Klammer enthalten.
Falls Operanden nicht durch Anführungszeichen eingeschlossen sind, werden Leerstellen am
Anfang und am Ende entfernt.
Ein Operand wird als Zahl betrachtet, falls er nur Ziffern enthält (negative Zahlen sind vorerst
nicht vorgesehen). Viele Operatoren haben unterschiedliche Bedeutung für Zahlen und Texte.
Nur falls alle Operanden Zahlen sind, dann wird eine arithmetische Operation ausgeführt (z.B.:
„$(2;3;+) gibt „5", $(2;A;+)" gibt „2A")
Nutzen Sie das Flag mit dem Wert „32" im Common-Abschnitt der PrintMulti.ini um
Debugmeldungen über Berechnungsausdrücke zu protokollieren.
Ein Ausdruck kann Makros enthalten, die für den Konfigurationseintrag gültig sind.
(z.B.: „LastPage=$(#Z;1;-)", setzt als letzte zu druckende Seite die Anzahl von Seiten
minus 1; druckt also die letzte Seite nicht aus)
Jeder Ausdruck wird bei der Verwendung erneut berechnet und kein gespeicherter Wert
verwendet.
Bei Textoperatoren (and,or,not,contains,upper,lower,tbllookup,tblsearch) wird nicht zwischen
Groß- und Kleinschreibung unterschieden ("AnD" wird auch erkannt)
Falls Sie den Seitentext verwenden (mit „RAWPAGE") nutzen Sie die Option
„WriteTextToFile", falls etwas nicht klappt. Es funktioniert nicht bei allen druckenden
Anwendungen und die zu suchenden Passagen müssen meist innerhalb der sichtbaren Ausgabe
liegen und dürfen beim Drucken nicht abgeschnitten sein.
20