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

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

Печать на матричнике без промотки [D6, Win95/98, Win2k]


MrBob ©   (2005-08-30 14:33:00) 

Дентльмены, а не подскажете как выполнить сабж?
бумага перфорированная, подается лентой (ну, в смысле не странички вкладываются,а сплошная полоса). Задача общая: вывести на нее накладную (из текстового файла) и в конце напечатать штрих-кодом номер накладной. Я решил это так: просто копирую файл на ус-во prn, а потом специальным шрифтом печатаю штрих-код.
Все супер, но после печати кода (в графике) принтер проматывает страницу.
Вопрос в том, как сделать, чтобы при печати определенным шрифтом(установленным в системе) страница не проматывалась?
Нашел где-то в советах по дельфи нечто похожее, но там нет выбора шрифта, и все равно почему-то проматывается :(


Vcoder   (2005-09-01 10:37:00) [1]

Если сам (и только сам) выводишь прямо в порт - то тут все просто. Перемотку страницы вызывает символ $12. Не допустить его попадания в порт (за исключением, когда это графика) означает не допустить перемотки страницы.

А вообще команды печати (даже графические) матричного принтера настолько просты, что разобраться в них можно, направив вывод в файл и просматривая этот файл в HEX-просмотрщике.

ЗЫ. У меня самого был матричный принтер ROBOTRON производства ГДР. Так что если какие вопросы по этой части - пиши, подскажу.


MrBob   (2005-08-31 12:40:00) [2]

Чем формируем страничку с текстом ?
сторонней программой

Зачем на матричном принтере ее гнать в графике ?
ее я как раз печатаю прямым копированием в порт, т.е. в текстовом режиме, а за ней допечатываю штрих-код.

Стандартный принт через методы делфовых объектов завсегда страничка проматывается.

:(

Имхо : формировать штрихкод ручками и напрямую гнать на принтер вслед за текстом.

собственно так и делаю

Или все делать в графике через делфи (будет жутко тормозить).

и таки перематывать страницу :)

Нашел другое решение: оказывается этот принтер (EPSON LX-300+) умеет сам формировать штрих-код. Так что пляски с бубном отпали - нужно просто добавить в конец файла ESC-последовательность и запихать его в порт


ANB   (2005-08-31 09:41:00) [3]

Чем формируем страничку с текстом ?
Зачем на матричном принтере ее гнать в графике ?
Стандартный принт через методы делфовых объектов завсегда страничка проматывается.
Имхо : формировать штрихкод ручками и напрямую гнать на принтер вслед за текстом. Или все делать в графике через делфи (будет жутко тормозить).


MrBob   (2005-08-30 17:27:00) [4]

судя по всему именно символ, так как при копировании документа в prn (или lpt1) все нормально, а вот когда я код допечатываю (через RichEdit.print) - следует перемотка страницы :(


isasa   (2005-08-30 15:25:00) [5]

Да, вспомнил!
Обязательно флажок - Печатать прямо в порт=ON.
т.к. даже на команде DOS
copy file.txt prn
спулер участвовует. А он, кажется, тупо разбивает все по-странично.


xShadow   (2005-08-30 15:20:00) [6]

Возможен вариант ещё когда идёт управляющий символ что то вроде выдать лист или подобное. Опять же всё индивидуально.


isasa   (2005-08-30 15:17:00) [7]

Для каждого принтера - индивидуально. Я так понимаю, что принтер матричный(не лазерный же :) ).
Принтер в режим - лента(источник бумаги), в драйверах.
Кроме этого, на самом принтере(например, Epson LX 300) могут быть рычажки переключения(доминируют над софтовыми переключ.), листовая - сплошная лента.


Наверх

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