Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Murad-bankir Гость
|
Добавлено: Ср Окт 15 2003 16:06 Заголовок сообщения: Печать из DOS-приложения под Win2k |
|
|
Подскажите: DOS-приложение на Clippere запускаем под Win2k. Отправляем на печать, начинает печатать нормально но под конец документа останавливается и тольо после большой задержки допечатывает, или же после того как либо отправишь другой документ, либо на принтере переключиш кнопки допечатает оставшуюся часть. Количество печатываемых листов не играет роль. Как убрать задержку на Win2k? |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Окт 15 2003 16:16 Заголовок сообщения: Ставьте в конце задания символ перевода страницы. CHR(12). Думаю понятно о чем я. (-) |
|
|
- |
|
Вернуться к началу |
|
|
TechNoir
Зарегистрирован: 22.08.2003 Сообщения: 1632 Откуда: Moscou
|
Добавлено: Ср Окт 15 2003 19:06 Заголовок сообщения: Есть другой вариант: DOS-приложение выполняется в W98. Если отправляю на печать на локальный принтер, то печатает мгновенно, а |
|
|
- _________________ Vive la Russie! |
|
Вернуться к началу |
|
|
mare
Зарегистрирован: 12.09.2003 Сообщения: 222
|
Добавлено: Ср Окт 15 2003 21:00 Заголовок сообщения: Похоже, что у тебя - лазерный принтер...(+) |
|
|
Твой принтер (очевидно, лазерный) после получения последней строки документа просто ждет.
Ждать он будет либо символа FF (form feed - перевод страницы, код 0x12 - как правильно заметил And3008), либо будет отрабатывать тайм-аут. В частности, для HP LaserJet-4000 стандартный тайм-аут равен 90 секунд.
Соответственно, решай свою проблему любым из двух способов: 1. Добавление FF 2. Уменьшение тайм-аута.
Для решения необходимо: Пуск-> Настройка-> Принтеры-> нужный принтер-> Свойства
В свойствах принтера надо: 1. закладка "Дополнительно" -> "Обработчик печати" -> выбрать "RAW (FF AUTO)" или "RAW (FF appended)"
2. закладка "Порты" -> выбрать порт с принтером -> Настройка порта -> далее в окошке установи тайм-аут порта 10 вместо умалчиваемых 90 секунд. Эти 90 секунд и ждет твой принтер перед выбросом последнего листа. Я думаю, твои ДОС-программы не настолько медлительны, чтобы до вывода следующей строчки на том же листе ждать дольше.
Выбирай варианты.
Есть еще один способ, который иногда помогает: это поиграться с настройками типа "печатать прямо на принтер" или "использовать очерель печати" + "начинать после помещения в очередь всего задания"
P.S. Если печать осуществляется на лазерный принтер, то для них вместо команды FF предусмотрена команда eject. Отличие в том, что по FF ВСЕГДА переводится страница (и она будет переведена даже если на листе одни пустые строки), а при eject - распечатывается последняя страница, а если последняя страница состоит из пустых строк, то операция FF не выполняется). Esc-последовательность для eject можно найти в описании принтеров (для всех HP LaserJet она одинаковая - но кода не помню). _________________ Не злись на видовс, всяк в нее входящий! |
|
Вернуться к началу |
|
|
mare
Зарегистрирован: 12.09.2003 Сообщения: 222
|
Добавлено: Чт Окт 16 2003 07:49 Заголовок сообщения: поправка..(+) |
|
|
Неправильно написал код FF, надо - 0x0c
Код eject для HP - &l0H например, в командном файле: echo &l0H>lpt1: здесь означает символ = 0x1a _________________ Не злись на видовс, всяк в нее входящий! |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Окт 17 2003 12:42 Заголовок сообщения: Не чего? 2 дня прошло. Отвечать на вопрос или уже фиг с ним? (-) |
|
|
- |
|
Вернуться к началу |
|
|
|