Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Guia de design do aplicativo de suporte de impressão v1 e v2.
Ao especificar argumentos em uma cadeia de comando, você pode especificar o valor do argumento como uma expressão. Esta expressão pode executar operações usando os valores atuais das variáveis padrão. Cada expressão de variável padrão dentro de uma cadeia de comando é delimitada por chaves ( {, } ).
Uma expressão variável padrão pode consistir em uma combinação dos seguintes componentes:
Zero, uma ou mais variáveis padrão
Operadores de expressão
Uma expressão de variável padrão não pode conter referências de macro incorporadas.
Os operadores de expressão estão incluídos na tabela a seguir.
| Operador | Definições |
|---|---|
| Val1+Val2 | Adição |
| Val1-Val2 | Subtração |
| Val1/Val2 | Divisão |
| Val1*Val2 | Multiplicação |
| Val1MODVal2 | Módulo. Valor é o restante da divisão de Val1 por Val2. |
| máximo ( Val1 , Val2 ) | Máximo. Valor é o máximo de Val1 e Val2. |
| max_repeat ( Val1 ) | Consulte a seção Usando max_repeat . |
| min ( Val1 , Val2 ) | Mínimo. O valor é o mínimo de Val1 e Val2. |
| ( ) | Operadores de precedência. Se não for utilizada, a precedência da linguagem C é usada. |
As expressões de variáveis padrão não modificam os valores atribuídos às variáveis padrão. O valor calculado é colocado na sequência de escape, usando o formato especificado pelo especificador de tipo de argumento de cadeia de comando .
Usando max_repeat
O uso de max_repeat é melhor explicado com um exemplo. Suponha que um arquivo GPD contenha a seguinte entrada:
*Command:CmdXMoveRelRight{*Cmd:"<1B>["%d[0,9600]{max_repeat((DestXRel/4))}"a"}
Este comando contém um único argumento, do tipo %d. Ele também contém uma especificação de intervalo de argumentos. Sempre que o Unidrv envia esse comando para a impressora, ele primeiro calcula o DestXRel/4 e determina se ele está dentro do intervalo especificado. Se o valor calculado for maior que 9600, o Unidrv enviará o comando repetidamente, com um valor máximo de 9600, até que o valor especificado seja enviado. Assim, se DestXRel/4 for igual a 20.000, o Unidrv enviará os seguintes comandos:
<1B>[9600
<1B>[9600
<1B>[800
O operador max_repeat só pode ser utilizado se forem satisfeitas as seguintes condições:
Uma cadeia de caracteres de comando inclui apenas um único argumento.
O argumento inclui uma especificação de intervalo.