Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задать управляющие коды принтера? [D7, XP]


Polzun ©   (2007-03-09 13:49:00) 

Всем привет. Народ скажите, как мне задавать управляющие коды принтера перед распечаткой вот такой строки     writeln(Prn, (obres(Table1.FieldByName('k1').AsString,56)+' |____________|____'));
Я хочу эту строку расспечатать в сжатом виде. Если что-то не понятно и неправильно написал, не ругайте. Спасибо.


Юрий Зотов   (2007-03-09 17:01:00) [1]

> Polzun   (09.03.07 15:47) [10]

Действительно - вот прямо так и пишется:

'SI' - выбирает уплотненный режим.
#27'SI' - отменяет уплотненный режим.

Но в первом случае команде должна предшествовать какая-то другая, иначе принтер просто напечатает SI.


Сергей М.   (2007-03-09 15:48:00) [2]


> Как пишется кодами?
>


???

Вот прямо так и пишется)


Polzun   (2007-03-09 15:47:00) [3]


> WriteLn(Prn, #27'E'#27'GЭта строка напечатана в жирном двухударном
> режиме.')

Спасибо, работает.
SI        Выбирает уплотненный режим
ESC SI  Отменяет уплотненный режим
          Как пишется кодами?


Polzun   (2007-03-09 15:24:00) [4]


> может проще рисовать в графическом режиме и печатать через
> стандартный printer.canvas?

с графикой проблем нет,разобрался. Надо на матричнике в текстовом (DOC) формате распечатать.


Юрий Зотов   (2007-03-09 15:21:00) [5]

> Polzun   (09.03.07 15:16) [6]

WriteLn(Prn, #27'E'#27'GЭта строка напечатана в жирном двухударном режиме.')


Сергей М.   (2007-03-09 15:20:00) [6]


> Polzun   (09.03.07 15:16) [6]


writeln(Prn, #33 + 'E' + (obres(Table1.FieldByName('k1').AsString,56)+' |____________|____'));

Куда уж "жирнее")


Polzun   (2007-03-09 15:16:00) [7]

Принтер Epson FX 1170 .
ESC E Включает жирный режим
ESC G Включает двухударный режим.
writeln(Prn, (obres(Table1.FieldByName('k1').AsString,56)+' |____________|____'));
как написать строку кодами?


Barloggg   (2007-03-09 15:11:00) [8]

да, много лет назад имея полноценный список команд для своего матричника было четко и ясно чего и как печатать, даже в графическом режиме. натурально посылал байты где каждый бит означал одну иголку :)

ну можно было и вручную сжатый режим сделать, можно было и принтеру сказать размер шрифта уменьшить и даже кодировку сменить :)

НО! это все работает только при совместимости команд. Так что первый вопрос это с какими командами работает принтер?
Но вообще геморно это.

может проще рисовать в графическом режиме и печатать через стандартный printer.canvas?


Сергей М.   (2007-03-09 14:33:00) [9]


> Tugodum   (09.03.07 14:30) [3]


см. [2]


Tugodum   (2007-03-09 14:30:00) [10]


>
> Что значит "в сжатом виде" ?

скажем, на матричнике двойным проходом (жирным) шрифтом или мелкими шрифтами распечатат надо.


Юрий Зотов   (2007-03-09 14:28:00) [11]

> Polzun   (09.03.07 13:49)

1. Управляющие коды принтера - это ASCII-символы с номерами менее 32 (но не все), а также ESC-последовательности. Они описаны в руководстве принтера (потому что для разных принтеров могут быть разными).

2. Управляющие коды вставляются прямо в тело печатаемого текста. Принтер их распознает сам и не будет печатать, а выполнит, как команду.

3. Управляющие коды работают только в тестовом режиме принтера (в графическом у него другие команды и они тоже описаны в его руководстве). Насколько помню, в Windows это принтер Generic Text. Соответственно, он должен быть установлен и на него надо выводить печать.


Сергей М.   (2007-03-09 13:58:00) [12]


> хочу эту строку расспечатать в сжатом виде


Что значит "в сжатом виде" ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо