Beispiele
Beispiele zu bedingten Ausdrücken
Seitenzahlabhängiges Drucken
Es könnte sinnvoll sein Druckjobs mit vielen Seiten auf einen leistungsfähigeren Drucker
auszugeben. Unter der Annahme, dass der Drucker für die Benutzer „CommonPrinter" heißt, der
leistungsfähige „FastPrinter" und der langsame „SlowPrinter" würde sich bei einer Grenze von 100
Seiten folgende Konfigurationsdatei ergeben
[Common]
;32 für reine Calc-Meldungen. 59 für alle außer Job-Meldungen
LogMask=32
...
[CommonPrinter]
Active=1
ActionFast=Print;Fast;$(#Z;100;>=)
ActionSlow=Print;Slow;$(#Z;100;<)
[Fast]
Printer=FastPrinter
[Slow]
Printer=SlowPrinter
Hier noch eine andere Möglichkeit
[CommonPrinter]
Active=1
ActionSlowFast=Print;SlowFast
[SlowFast]
Printer=$(#Z;100;>=;FastPrinter;SlowPrinter;?)
Ein Ausschnitt aus der Logdatei sieht dann folgendermaßen aus:
CALC;...;print ;SlowFast;SlowFast.Printer: 1 >= 100 ->0
CALC;...;print ;SlowFast;SlowFast.Printer: (0)? FastPrinter : SlowPrinter ->SlowPrinter
Die Berechnungsreihenfolge ist hier gut erkennbar.
Benutzerabhängiges Drucken
Ein bestimmter Personenkreis könnte besondere Rechte haben. Dafür eignet sich der „contains"-
Operator. Im Beispiel sollen bestimmte Benutzer farbig Drucken dürfen, alle anderen nicht.
Eine einfachere Alternative mit dem „tbllookup"-Operator wird weiter unten beschrieben. Der
Schwerpunkt hier liegt darin, den „contains"-Operator zu erläutern.
[Common]
_ColorUsers=|dieter|gustav|bärbel|
_IsColorUser=$(#(_ColorUsers)I;upper;|;#U;+;|;+;upper;contains)
[CommonPrinter]
Active=1
ActionColor=Print;Color
[Color]
Printer=ColorPrinter
Color=$(#(Common._IsColorUser)I;1;0;?)
39