Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Nowoczesna platforma drukowania jest preferowanym sposobem komunikacji z drukarkami w systemie Windows. Zalecamy używanie sterownika klasy skrzynki odbiorczej IPP firmy Microsoft wraz z aplikacjami do obsługi drukowania (PSA), aby dostosować środowisko drukowania w systemie Windows 10 i 11 na potrzeby opracowywania urządzeń drukarki.
Aby uzyskać więcej informacji, zobacz Print Support App v1 and v2 design guide (Przewodnik projektowania aplikacji do obsługi wydruku w wersji 1 i 2).
Po określeniu argumentów w ciągu polecenia można określić wartość argumentu jako wyrażenie. To wyrażenie może wykonywać operacje przy użyciu bieżących wartości zmiennych standardowych. Każde standardowe wyrażenie zmiennej w ciągu polecenia jest rozdzielane nawiasami klamrowymi ( {, } ).
Standardowe wyrażenie zmiennej może składać się z kombinacji następujących składników:
Zero, co najmniej jedna zmienna standardowa
Operatory wyrażeń
Standardowe wyrażenie zmiennej nie może zawierać osadzonych odwołań makr.
Operatory wyrażeń znajdują się w poniższej tabeli.
| Obsługujący | Definicje |
|---|---|
| Val1+Val2 | Dodatek |
| Val1-Val2 | Odejmowanie |
| Val1/Val2 | Dzielenie |
| Val1*Val2 | Mnożenie |
| Val1MODVal2 | Moduł. Wartość jest resztą dzielenia Val1 przez Val2. |
| max ( Val1 , Val2 ) | Maksimum. Wartość jest maksymalną wartością Val1 i Val2. |
| max_repeat ( Val1 ) | Zobacz sekcję Using max_repeat. |
| min ( Val1 , Val2 ) | Minimum. Wartość jest minimalną wartością Val1 i Val2. |
| ( ) | Operatory pierwszeństwa. Jeśli nie jest używany, stosowany jest priorytet języka C. |
Wyrażenia zmiennych standardowych nie modyfikują wartości przypisanych do zmiennych standardowych. Wartość obliczeniowa jest umieszczana w sekwencji ucieczki zgodnie z formatem określonym przez specyfikator typu argumentu ciągu polecenia.
Korzystanie z max_repeat
Użycie max_repeat najlepiej wyjaśnić na przykładzie. Załóżmy, że plik GPD zawiera następujący wpis:
*Command:CmdXMoveRelRight{*Cmd:"<1B>["%d[0,9600]{max_repeat((DestXRel/4))}"a"}
To polecenie zawiera jeden argument typu %d. Zawiera również specyfikację zakresu argumentów. Za każdym razem, gdy unidrv wysyła to polecenie do drukarki, najpierw oblicza DestXRel/4 i określa, czy znajduje się w określonym zakresie. Jeśli wartość obliczeniowa jest większa niż 9600, unidrv wysyła polecenie wielokrotnie, z maksymalną wartością 9600, dopóki określona wartość nie zostanie wysłana. W związku z tym, jeśli DestXRel/4 równa 20 000, Unidrv wysyła następujące polecenia:
<1B>[9600
<1B>[9600
<1B>[800
Operator max_repeat może być używany tylko wtedy, gdy spełnione są następujące warunki:
Ciąg polecenia zawiera tylko jeden argument.
Argument zawiera specyfikację zakresu.