Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2009, 19:47   #1
Night_owl
Пользователь
 
Аватар для Night_owl
 
Регистрация: 08.08.2009
Сообщений: 18
Вопрос Печать на usb

SOS...
Есть такая проблема, очень нужно вывести печать канвы на принтер, но не просто на принтер, а на USB (т.е. не важно, какой порт стоит по умолчанию). Пробовал пару советов из нета, но получалось выводить только на lpt, com и прочее.
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...

Последний раз редактировалось Night_owl; 08.08.2009 в 20:07.
Night_owl вне форума Ответить с цитированием
Старый 09.08.2009, 02:48   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

почитай про ТPrinter.. работает с любыми принтерами.. от тока когда создаешь канву. так делай ее 24-х битной а не 32-х.. 32-ч битную некоторые принтера не воспринимают..

пример можшь посмотреть тут
http://delphiworld.narod.ru/base/pri...y_printer.html
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 09.08.2009, 08:40   #3
Night_owl
Пользователь
 
Аватар для Night_owl
 
Регистрация: 08.08.2009
Сообщений: 18
По умолчанию

Нет, просто печатать я могу, но дело в том, что в данном случае мне надо сделать что-то вроде этого:

"printer.SetPrinter(pDevice, PDriver, 'USBxxx', hDMode);"

и так далее, т.е. другими словами, порт на принте может быть в системе выставлен другой (не правильный), необходимо что бы выводил он именно на usbxxx (долго объяснять, почему такая специфика)

Ладно, суть похоже никто не уловил, поясню…
У нас на конторе используются ряд ПО (так же и терминальное «Citrix»), у которых наблюдается ряд глюков. Некоторые отчеты принципиально не видят usb и выдают, что принтер не инсталлирован, они работают только через lpt или локальный порт, другие, спустя какое-то время начинают терять принтер. Так же, необходимо некоторые отчеты (из oracle), после печати, перевести в графический режим (т.к. сервер не у нас, а в др. конторе, подействовать мы на них не можем). Все отчеты, которые формируются имеют одно отличие – они без проблем печатают на lpt и на локальный хост (EX: «C:\Print»).
Вот поэтому и нужно написать утилитку, которая бы всем этим хозяйством и занималось, при этом я не могу использовать два драйвера принтера, так как после отправки на другой драйвер, многие ПО, которые были запущенны, теряют принтер «по умолчанию» и выдают, что принтер не инсталлирован.
Т.е. моя идея такая: Через драйвер принтера на «C:\Print» отправляется вся печать. После этого, утилитка поднимает этот файл и начинает его разбирать и решать, что с ним делать. После необходимых операций, она отправляет печать на этот же драйвер, но на реальный usb-порт. ПО больше не глючит, у меня меньше работы, директор доволен, я счастлив!
Самое обидное то, что в общем то, утилитка работает, но под конец я наступил на такие вот грабли…
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...

Последний раз редактировалось Stilet; 10.08.2009 в 09:56.
Night_owl вне форума Ответить с цитированием
Старый 10.08.2009, 08:22   #4
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

вот программка

вешаешь на LPT порт принтер (виртуальный) ... Это программка перехватывает пакеты с lpt и отправляет на usb пользуйся на здоровье
Вложения
Тип файла: zip Prt_pribluda.zip (769.8 Кб, 44 просмотров)
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 10.08.2009, 10:56   #5
Night_owl
Пользователь
 
Аватар для Night_owl
 
Регистрация: 08.08.2009
Сообщений: 18
По умолчанию

Слушай, спасибо, конечно. Проверю ее чуть позже, но если это то, то не мог бы ты скинуть хотя бы часть кода, который отвечает за печать на usb? У меня уже реально по этому поводу разыгрался животный интерес!
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
Night_owl вне форума Ответить с цитированием
Старый 10.08.2009, 11:38   #6
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Исходников от неё нет...утерялись....

На сколько помню берёт задания из папки и пере посылает на usb принтер... какойто то из них должен быть по умолчанию выбран.

p.s. работало в 2000 винде в ХР не тестил.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 10.08.2009, 11:45   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Могу примерно сказать как это работает. Создается виртуальное устройство, которое занимает lpt порт - все задания отправляются на него, а он в свою очередь перенаправляет именно на выбранный принтер (а это не обязательно usb). Сама программа конкретно ничего не печатает, а только занимается пересылкой данных.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 10.08.2009, 12:35   #8
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

Utkin ну я так и сказал
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 10.08.2009, 12:41   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Тысяча извинений, проглядел пост #4 .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 10.08.2009, 14:47   #10
Night_owl
Пользователь
 
Аватар для Night_owl
 
Регистрация: 08.08.2009
Сообщений: 18
По умолчанию

Пнятно... Ну что ж, придется ковыряться... Бессонные ночи, море выпитого пива и километры выкуренных сигарет… РАЙ!!!
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
Night_owl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с USB SERG1980 Компоненты Delphi 11 26.10.2010 10:09
USB JUDAS Общие вопросы Delphi 2 31.12.2008 20:58
USB осцилограф Toha Chorniy Помощь студентам 1 13.10.2008 19:47
Печать на принтер(USB) kisser_san Общие вопросы Delphi 4 25.04.2008 16:18
USB to USB OrdJONY Компьютерное железо 11 02.04.2008 11:13