Freigeben über


Standardvariablenausdrücke

Wichtig

Die Modern Print-Plattform ist die von Windows bevorzugte Methode zur Kommunikation mit Druckern. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie unter Modern Print-Plattform und der Anleitung zum Design der Print-Support-App.

Wenn Sie Argumente in einer Befehlszeichenfolge angeben, können Sie den Argumentwert als Ausdruck angeben. Dieser Ausdruck kann Vorgänge mithilfe der aktuellen Werte der Standardvariablen ausführen. Jeder Standardvariablenausdruck in einer Befehlszeichenfolge wird durch geschweifte Klammern ( {, } ) getrennt.

Ein Standardvariablenausdruck kann aus einer Kombination der folgenden Komponenten bestehen:

Ein Standardvariablenausdruck darf keine eingebetteten Makroverweise enthalten.

Die Ausdrucksoperatoren sind in der folgenden Tabelle enthalten.

Operator Definitionen
Val1+Val2 Hinzufügung
Val1-Val2 Subtraktion
Val1/Val2 Geschäftsbereich
Val1*Val2 Multiplikation
Val1MODVal2 Modulo Der Wert ist der Rest der Aufteilung von Val1 durch Val2.
max ( Val1 , Val2 ) Maximum. Der Wert ist das Maximum von Val1 und Val2.
max_repeat ( Val1 ) Weitere Informationen finden Sie im Abschnitt "Using max_repeat ".
min ( Val1 , Val2 ) Minimum. Wert ist das Minimum von Val1 und Val2.
( ) Rangfolge-Operatoren. Wenn sie nicht verwendet wird, wird die C-Sprachrangfolge verwendet.

Standardvariablenausdrücke ändern die Werte, die den Standardvariablen zugewiesen sind, nicht. Der berechnete Wert wird in der Escapesequenz unter Verwendung des durch den Befehlszeichenfolgenargumenttypbezeichner angegebenen Formats platziert.

Verwenden von max_repeat

Die Verwendung von max_repeat wird am besten mit einem Beispiel erläutert. Angenommen, eine GPD-Datei enthält den folgenden Eintrag:

*Command:CmdXMoveRelRight{*Cmd:"<1B>["%d[0,9600]{max_repeat((DestXRel/4))}"a"}

Dieser Befehl enthält ein einzelnes Argument vom Typ %d. Sie enthält auch eine Argumentbereichsspezifikation. Wenn Unidrv diesen Befehl an den Drucker sendet, berechnet er zuerst DestXRel/4 und bestimmt, ob er sich innerhalb des angegebenen Bereichs befindet. Wenn der berechnete Wert größer als 9600 ist, sendet Unidrv den Befehl wiederholt mit einem Maximalwert von 9600, bis der angegebene Wert gesendet wird. Wenn DestXRel/4 also gleich 20.000 ist, sendet Unidrv die folgenden Befehle:

<1B>[9600
<1B>[9600
<1B>[800

Der max_repeat-Operator kann nur verwendet werden, wenn die folgenden Bedingungen erfüllt sind:

  • Eine Befehlszeichenfolge enthält nur ein einzelnes Argument.

  • Das Argument enthält eine Bereichsspezifikation.