다음을 통해 공유


표준 변수 식

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

명령 문자열에서 인수를 지정할 때 인수 값을 식으로 지정할 수 있습니다. 이 식은 표준 변수의 현재 값을 사용하여 작업을 수행할 수 있습니다. 명령 문자열 내의 각 표준 변수 식은 중괄호({, })로 구분됩니다.

표준 변수 식은 다음 구성 요소의 조합으로 구성됩니다.

표준 변수 식은 포함된 매크로 참조를 포함할 수 없습니다.

식 연산자는 다음 표에 포함되어 있습니다.

연산자 정의
Val1+Val2 더하기
Val1-Val2 빼기
Val1/Val2
Val1*Val2 곱하기
Val1MODVal2 모듈러스. 값은 Val1을 Val2로 나누는 나머지 값입니다.
max ( Val1 , Val2 ) 최대값. 값은 Val1 및 Val2의 최대값입니다.
max_repeat( Val1 ) max_repeat 사용 섹션을 참조하세요.
min ( Val1 , Val2 ) 최소값. 값은 Val1Val2최소값입니다.
( ) 선행 연산자입니다. 사용하지 않으면 C 언어 우선 순위가 사용됩니다.

표준 변수 식은 표준 변수에 할당된 값을 수정하지 않습니다. 계산된 값은 명령 문자열 인수 형식 지정자가 지정한 형식을 사용하여 이스케이프 시퀀스에 배치됩니다.

max_repeat 사용

max_repeat 사용하는 것이 예제와 함께 가장 잘 설명되어 있습니다. GPD 파일에 다음 항목이 포함되어 있다고 가정합니다.

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

이 명령은 %d 형식의 단일 인수를 포함합니다. 인수 범위 사양도 포함됩니다. Unidrv가 이 명령을 프린터로 보낼 때마다 먼저 DestXRel/4를 계산하고 지정된 범위 내에 있는지 확인합니다. 계산 값이 9600보다 큰 경우 Unidrv는 지정된 값이 전송될 때까지 최대값이 9600인 명령을 반복적으로 보냅니다. 따라서 DestXRel/4가 20,000과 같으면 Unidrv는 다음 명령을 보냅니다.

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

max_repeat 연산자는 다음 조건이 충족되는 경우에만 사용할 수 있습니다.

  • 명령 문자열에는 단일 인수만 포함됩니다.

  • 인수에는 범위 사양이 포함됩니다.