Не подскажет ли кто, есть ли возможность печатать на лазерном принтере, подключенным через шину USB, из текста паскалевской программы (например, с использованием LST или еще как-нибудь). Решение "в лоб" дает ошибку 160. А может не мучиться, вернуться к матричному принтеру, подключить его через LPT, и дело с концом? Но обидно, а вдруг есть решение, пусть даже и не очень простое, а я его не знаю.
Guest
13.07.2005 2:05
какая операционная система? Malice ? если да, то вы уже можете пользоваться своим аккаунтом.
mlc
13.07.2005 14:39
Цитата(Guest @ 12.07.05 22:05)
какая операционная система? Malice ? если да, то вы уже можете пользоваться своим аккаунтом.
Да я. Только не могу еще. до 25.07 без объяснения причин. admin@ молчит.
AntiOfftopic: Если win98, то свойства принтера\сведения\назначить порт. Если winXP, то Net use lpt1 ... и т.д.
Romtek
13.07.2005 15:11
Сомневаюсь, что на ТП это вообще возможно. Может в Win9x.
А, вообще то, во Free Pascal с этим как раз проблем быть не должно. И синтаксис тот же. Только стоит ли он этого для разового дела? Если тебе на 1 раз, то можешь выложить свою программу здесь или мне на ПМ, и я (или кто-то другой) скомпилирует программу во Free Pascal.
mlc
14.07.2005 0:38
Цитата(Romtek @ 13.07.05 11:11)
Сомневаюсь, что на ТП это вообще возможно. Может в Win9x.
Нет, по идее должно, по моим предложенным вариантам. Печатать в этом случае на lpt1.
NICOCO
15.07.2005 18:09
Спасибо! Я понял -- в TP7 это невозможно. (Система Windows 98, порт SSUSB, принтер XEROX 3130). Действительно, устройство USB не прописано в стандартном модуле Printer, а переназначить нельзя, так как нет оператора Assign в этом Windows. Конечно, можно бы поковыряться в модуле, но мне это не по зубам. Еще раз спасибо. Пока буду выходить из положения копированием экрана.
NICOCO
15.07.2005 18:28
Обварившись на USB, перемонтировал машину. Теперь это порт LPT, принтер HP LaserJet 1100, и система Windows98. Однако теперь новая напасть. При работе элементарной программы:
Uses Printer; Begin Writeln(LST,'123'); End.
распечатка "застревает" в самом принтере и вытолкнуть ее оттуда только подачей на печать какого-либо Winword'овского текста. Не подскажет ли кто, что можно добавить в паскалевскую программу, или еще куда-нибудь. чтобы распечатываемый текст сразу выталкивался из буфера принтера. а не только при его переполнении. (flush и #26 не помогают). Если это какие-то спецкоды принтера, то где их искать и как подать принтеру.
Объединено из темы "Еще раз о печати на лазернике"
volvo
15.07.2005 18:47
Попробуй так:
Uses Printer; Begin Writeln(Lst,'123'); Close(Lst); End.
NICOCO
15.07.2005 20:37
Увы! Все тоже самое. Принтер молчит, хотя и моргает, что в память свою все получил.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.