Показать сообщение отдельно
  #1  
Старый 27.08.2009, 16:40
DedMoroz DedMoroz вне форума
Прохожий
 
Регистрация: 27.08.2009
Сообщения: 2
Репутация: 10
По умолчанию ESCAPE коды, управление матричным принтером

На матричном принтере включена эмуляция Epson FX. Задача - установить горизонтальную позицию печатающей головки. Используем ESC коды:

Absolute
Horizontal Position

ESC $ n n
27 36 n n
1B 24 n n

Move to position =
(n+(n256)) /60
inches from left
margin. n, n=0 to
255 Max. value:
n=48 n=3

-------------------------

Relative Horizontal
position

ESC 1n n
27 92 n n
1B 5C n n

Move to position =
(n+(n256)) /120
inches from
printing position. n,
n=0 to 255 moves
to right and
moves to left and
prints.

Согласно инструкции указываю:

Print_Doc( Chr(27)+Chr(36)+Chr(19)+Chr(0) + 'TextData' );

Согласно инструкции должно получиться - отступ в количестве 0.8мм от левого края бумаги, на деле срабатывает Chr(0) и удаляется первый символ следующей строки, т.е принтер печатает extData в самом начале страницы.

При этом если заменить последний Chr(0) значение на значение больше 0 то отступ будет несколько дюймов от левого края, как и положено.

Вопрос - как сделать отступ меньше одного дюйма? Почему не работает Chr(0)?

Спасибо.
Ответить с цитированием