Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   настройка перенаправления печати (http://forum.oszone.net/showthread.php?t=170879)

subbotin 22-03-2010 13:16 1374409

настройка перенаправления печати
 
Здраствуйте.
Имею комп с WIN XP подключет к сетке. Нужно научить его печатать файлы из под DOS по сетке на HP принтер.
Свой старый принтер NX-1500 так и не смог подключить к WIN XP
В идеале Нужно печатать файлы из под QBASIC ( :wow: ) по сетке на HP принтер.
С win 98 - печатал без проблем (не в сетке - напрямую на Star NX)
В DOS-е нашел команду MODE /STATUS - по идее можно перенаправить печать с LPT порта (который никак не хочет видеть XP) на COM.
Есть ли возможность перенаправить с LPT1 по сетке на HP.
Уж больно пограмка в QBASIC-е мне нравиться - сам её русифицировал. Не хртелось бы отказываться. :clapping:

gf100 22-03-2010 13:52 1374441

Цитата:

Цитата subbotin
Есть ли возможность перенаправить с LPT1 по сетке на HP »

Легко. Как два байта переслать.

Расшариваешь принтер, потом используя net use цепляешь его на lpt1. Возможна проблема если нет админских прав на машине, но и она обходится.

subbotin 22-03-2010 16:50 1374586

gf100,
по подробнее про net use - или ссылку где почитать.
Что такое "расшаривать" - это делать доступным в сети?
как из под DOS я могу его расшарить, или это нужно делать из под XP?
Из под XP - все печатается легко.
Я могу
1)загрузится с дискеты досовской и запустить свою прогу в QBASIC, но у меня там нет NET USE.
В XP - не настоящий DOS.
2) QBASIC с программой запускаю с рабочего стола. Я так понял работает она из под CMD.
Тогда как в CMD - настроить сетевые подключения.
И ещё моя прога выводит файл на печать через PRINTUSING. Поймёт ли этот оператор что я хочу напечатать файл не из под DOS и не через LPT прот а через сеть?

gf100 22-03-2010 17:21 1374611

Цитата:

Цитата subbotin
Что такое "расшаривать" - это делать доступным в сети? »

Ну да. Правой кнопкой на принтере - общий доступ.
Цитата:

Цитата subbotin
по подробнее про net use - или ссылку где почитать. »

Вызываем командную строку - Пуск - Выполнить - cmd
далее:
Код:

C:\>net use /?
Синтаксис данной команды:

NET USE
[имя_устройства | *] [\\имя_компьютера\имя_ресурса[\том] [пароль | *]]
        [/USER:[имя_домена\]имя_пользователя]
        [/USER:[имя_домена_с_точками\]имя_пользователя]
        [/USER:[имя_пользователя@имя_домена_с_точками]
        [/SMARTCARD]
        [/SAVECRED]
        [[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE {имя_устройства | *} [пароль | *] /HOME

NET USE [/PERSISTENT:{YES | NO}]

Например у меня - компьютер work, принтер расшарен под именем hp3005:
Код:

net use lpt1 \\work\hp3005
Причем, пользоваться можно любым доступным по сети принтером, в том числе установленным на своей машине.
Цитата:

Цитата subbotin
2) QBASIC с программой запускаю с рабочего стола. »

Я имею в виду именно этот вариант.

Суть, в общем, следующая - программа считает, что отправляет задание на печать на порт lpt, система (windows) отлавливает это задание и заворачивает его куда указано.

Еще один момент: принтер должен "знать" кодовую страницу cp866, но для hp это обычно не проблема.

subbotin 22-03-2010 17:45 1374631

СПАСИБО, буду пробовать.

Цитата:

Цитата gf100
Например у меня - компьютер work, принтер расшарен под именем hp3005 »

имена принтеров совпадают в CMD и WIN XP.
Как я могу узнать имя принтера из CMD? или мне достаточно того названия, что стоит в WIN XP?

gf100 22-03-2010 20:48 1374768

Цитата:

Цитата subbotin
мне достаточно того названия, что стоит в WIN XP? »

Когда делаешь принтер общим (расшариваешь), то задаешь имя общего ресурса.
Цитата:

Цитата subbotin
Как я могу узнать имя принтера из CMD? »

Из cmd можно узнать командой net share.

subbotin 23-03-2010 11:52 1375202

gf100,
Спасибо.
настроил через net use lpt1 вывод на печать через сеть.
Но принтер (или сетевой компьютер от которого подключет принтер) вместо русских букв выводит крякозяблы.
В листинге программы - также вместо русских букв - крякозяблы.
на своем компе (в CMD) набрал mode con cp=866. При выводе на печать попрежнему - крякозяблы.
Что нужно? Ввести туже команду mode con cp=866 (из CMD) в сетевом компьютере к которому подключен принтер? или нщё что то доугое?

ps: программу редактировал да-а-а-авно, ещё из под нортона досовского.

gf100 23-03-2010 15:58 1375406

Цитата:

Цитата subbotin
Что нужно? Ввести туже команду mode con cp=866 (из CMD) в сетевом компьютере к которому подключен принтер? или нщё что то доугое? »

Вариантов собственно три и зависят они от марки/модели принтера (её желательно бы озвучить):
1. для принтеров hp в драйвере принтера дополнительно/умолчания/прочие/графика - установить загружаемый шрифт.
2. для принтеров hp настроить шрифт по умолчанию с кодовой страницей cp866
3. в программе при начале печати выдавать на принтер код переключения на кодовую страницу cp866.

Если у принтера вообще отсутствует возможность т.н. "досовской печати" поможет загрузка внешнего шрифта...

subbotin 25-03-2010 09:42 1376661

короче тут подумать надо :bow:

gf100 26-03-2010 16:50 1377859

Вложений: 1
subbotin, вкладываю описание команд PCL, если будешь править текст программы обрати внимание на выбор набора символов.

subbotin 26-03-2010 17:25 1377890

вообще тут направшивается такое простое решение.
Запустить CMD, QBASIC (для верности) и из под него отредактироваьт программу ещё раз.
CMD - то на всех компьютерах - одинаковая. Поскольку функционально эта qbasic-овская программа работает нормально - крякозяблы -из за несоответствия настроек кодовых страниц.
Или ещё проще: вывести прямо на дисплей из под того же CMD - QBASIC - все chr() коды - от 1 до 333(например). найти в них русские буквы и задать интервал их в Inkey$ (или где там точно счас не вспомню), в параметрах qbasic-овской программы.


Время: 02:56.

Время: 02:56.
© OSzone.net 2001-