Помощь - Поиск - Пользователи - Календарь
Полная версия: Печать на лазернике
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
NICOCO
Не подскажет ли кто,
есть ли возможность печатать на лазерном принтере, подключенным через шину USB, из текста паскалевской программы (например, с использованием LST или еще как-нибудь). Решение "в лоб" дает ошибку 160.
А может не мучиться, вернуться к матричному принтеру, подключить его через LPT, и дело с концом? Но обидно, а вдруг есть решение, пусть даже и не очень простое, а я его не знаю.
Guest
какая операционная система?
Malice ? если да, то вы уже можете пользоваться своим аккаунтом.
mlc
Цитата(Guest @ 12.07.05 22:05)
какая операционная система?
Malice ? если да, то вы уже можете пользоваться своим аккаунтом.

Да я. Только не могу еще. до 25.07 без объяснения причин. admin@ молчит.

AntiOfftopic:
Если win98, то свойства принтера\сведения\назначить порт.
Если winXP, то Net use lpt1 ... и т.д.
Romtek
Сомневаюсь, что на ТП это вообще возможно. Может в Win9x.

А, вообще то, во Free Pascal с этим как раз проблем быть не должно. И синтаксис тот же. Только стоит ли он этого для разового дела?
Если тебе на 1 раз, то можешь выложить свою программу здесь или мне на ПМ, и я (или кто-то другой) скомпилирует программу во Free Pascal.
mlc
Цитата(Romtek @ 13.07.05 11:11)
Сомневаюсь, что на ТП это вообще возможно. Может в Win9x.


Нет, по идее должно, по моим предложенным вариантам. Печатать в этом случае на lpt1.
NICOCO
Спасибо! Я понял -- в TP7 это невозможно.
(Система Windows 98, порт SSUSB, принтер XEROX 3130).
Действительно, устройство USB не прописано в стандартном модуле Printer,
а переназначить нельзя, так как нет оператора Assign в этом Windows.
Конечно, можно бы поковыряться в модуле, но мне это не по зубам.
Еще раз спасибо. Пока буду выходить из положения копированием экрана.
NICOCO
Обварившись на USB, перемонтировал машину. Теперь это порт LPT, принтер HP LaserJet 1100, и система Windows98. Однако теперь новая напасть. При работе элементарной программы:
  Uses Printer;
Begin
Writeln(LST,'123');
End.

распечатка "застревает" в самом принтере и вытолкнуть ее оттуда только подачей на печать какого-либо Winword'овского текста.
Не подскажет ли кто, что можно добавить в паскалевскую программу, или еще куда-нибудь. чтобы распечатываемый текст сразу выталкивался из буфера принтера. а не только при его переполнении. (flush и #26 не помогают). Если это какие-то спецкоды принтера, то где их искать и как подать принтеру.

Объединено из темы "Еще раз о печати на лазернике"
volvo
Попробуй так:
Uses Printer;
Begin
Writeln(Lst,'123');
Close(Lst);
End.
NICOCO
Увы! Все тоже самое. Принтер молчит, хотя и моргает, что в память свою все получил.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.