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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2017, 15:52   #1
Dagmanor
Пользователь
 
Регистрация: 26.02.2014
Сообщений: 26
Вопрос Прогресс задания печати

Здравствуйте.
Есть такой вопрос:
программно отправляю на принтер многостраничный документ.
Есть ли возможность отслеживать количество напечатанных на принтере страниц и выводить это дело в ProgressBar?
Пробовал отслеживать задание через
OpenPrinter... потом EnumJobs и из общего списка по имени документа находил мое задание печати.
Проблема в том, что EnumJobs получает массив заданий печати в структуре JOB_INFO_1 либо JOB_INFO_2.
Смотрел и там и там свойства aJobs[i].PagesPrinted, а в нем, судя по всему, количество страниц загруженных в память. Так как из принтера еще листик не вылез, а в aJobs[i].PagesPrinted уже значение "5".
Буду благодарен за помощь.
Dagmanor вне форума Ответить с цитированием
Старый 23.11.2017, 22:03   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Dagmanor Посмотреть сообщение
Смотрел и там и там свойства aJobs[i].PagesPrinted, а в нем, судя по всему, количество страниц загруженных в память. Так как из принтера еще листик не вылез, а в aJobs[i].PagesPrinted уже значение "5".
Только прямое обращение к принтеру. Обратите внимание, что задание печати закончится и исчезнет, когда все страницы из памяти уйдут в принтер, но сам принтер (как Вы же и заметили) при этом ещё печатает.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 24.11.2017, 10:22   #3
Dagmanor
Пользователь
 
Регистрация: 26.02.2014
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Только прямое обращение к принтеру.
Если не затруднит. Можете порекомендовать литературу или же показать пример как можно это реализовать. Желательно так чтоб работало на любом принтере...
Dagmanor вне форума Ответить с цитированием
Старый 24.11.2017, 11:03   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Ну вот краткое описание работы с USB-принтерами на аппаратном уровне с названиями нужных стандартов:

http://src-code.net/rabota-s-printer...interfejs-usb/

Читайте. Примеров привести не могу - у самого нет
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 24.11.2017, 11:09   #5
Dagmanor
Пользователь
 
Регистрация: 26.02.2014
Сообщений: 26
По умолчанию

Огромное спасибо. Буду читать.
Dagmanor вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прогресс бар Александр545 Компоненты Delphi 2 14.08.2017 09:52
Просмотр действий программы / перехват задания печати krabich Помощь студентам 2 15.12.2015 10:56
Прогресс символами ДралсяСошибками Общие вопросы Delphi 8 07.02.2015 00:03
Многопоточность и прогресс Horus92 Работа с сетью в Delphi 5 23.05.2010 16:42