CONTROL (управляющая последовательность для принтера)
| length |
[метка] CONTROL( |constant| )[,USE()]
| picture|
length | Целочисленная константа. Должна быть такой же, как и длина USE-переменной. |
constant | Строковая константа, посылаемая на принтер. |
picture | Форматирует значение, присвоенное CONTROL-полю, или значение USE-переменной. LENGTH это размер, достаточный для хранения ОТФОРМАТИРОВАННОЙ строки. Изначально, PICTURE заполнена пробелами. |
USE | Переменная, содержащая управляющую последовательность. Должна быть такой длины, какая задана параметром LENGTH. |
CONTROL задает символьную строку, которая управляет действиями принтера. CONTROL-поле не влияет на положение полей типа STRING или TEXT. Однако, это поле может использоваться для изменения управляющих кодов для любых следующих за ним полей типа STRING или TEXT (СПА: здесь я совсем не уверен, как перевести fields that occur following the CONTROL declaration.)
Если у CONTROL есть атрибут USE, то на принтер посылается управляющая последовательность, которая содержится в USE-переменной. Таким образом можно хранить последовательности для разных типов принтеров, и присваивать USE-переменной нужную для используемого в данный момент принтера.
Если у отчета есть атрибут PRINTER, то строковая константа или USE-переменная должна содержать имя принтера, как он описан в файле управления принтерами (PRINTER.CTL).
Пример:
PrinterType STRING('EPSON LQ-1500')
ItalicOn STRING('ITALIC ON')
CustRpt REPORT,PRINTER(PrinterType) !Отчет по покупателям
CustDetail DETAIL,SEPARATE(1) ! начало описания DETAIL
ROW(2,5) CONTROL(4),USE(ItalicOn)
!Управляем из переменной
!ItalicOn - включить курсив
ROW(2,5) STRING(15),USE(FirstName)
COL(22) STRING(15),USE(LastName)
ROW(3,1) CONTROL('COMPRESSED ON')
!А этот Control из printer.ctl
ROW(3) STRING(30),USE(Address)
. . !Конец описаний отчета
См. также: