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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2009, 20:48   #1
shara86
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 2
По умолчанию Выбор 2-сторонней печати перед командой PrintOut WordApplicayion

Приветствую форумчан.

Пишу не в первый форум.

Подскажите. Отправляю на печать вордовый документ с помощью команды PrintOut компонента WordApplication. Для выбора принтера и параметра печати использую PrintDialog.
Проблема в том, что не могу вытащить параметр 2-сторонней печати. Параметры, поля которых размещены на самом PrintDialog-е, взять получается (номера страниц, кол-во копий). Но признак 2-сторнней печати, который задаётся после выбора нужного принтера и нажатия кнопки "Свойства", вытащить не удалось.
Смотрел в свойствах класса TPrinter и в TPrinterSetupDialog. Там есть некоторые параметры (ориентация бумаги, например), но 2-сторнней печати там не видать.

Как бы её достать, чтобы потом задать при вызове функции PrintOut?

Уточняю: с PrintOut-ом у меня вопросов нет. Вопрос, как понять, что юзер выбрал двустороннюю печать перед её запуском.

Заранее спасибо.
shara86 вне форума Ответить с цитированием
Старый 08.09.2009, 20:38   #2
shara86
Новичок
Джуниор
 
Регистрация: 04.09.2009
Сообщений: 2
По умолчанию Сообщение от автора

Так и не подсказали мне по моему вопросу.

Я нашёл следующий вариант решения проблемы:
создал собственную форму, накидал туда поля, получилось окно для печати. Но тут возникла сложность: если устанавливаешь галочку "Двусторонняя печать", то она должна быть не активной,
если принтер таковую не поддерживает.
Я нашёл API-функцию DeviceCapabilities(Device, Port, DC_DUPLEX, nil, nil),
возвращающую 1, если принтер двустороннюю печать поддерживает, и 0 - если нет.

У нас в на работе есть 4 принтера:
1 - имеет собственный IP, поддерживает автоматическую 2-стороннюю печать.
2 - подключён напрямую к моему компу, поддерживает ручную 2-стороннюю печать.
3 - подключён к другому компу, поддерживает ручную 2-стороннюю печать.
4 - подключён к другому компу, поддерживает ручную 2-стороннюю печать.

Функция по первым 2-м принтерам возвращает 1.
По 3-му и 4-му же принтеру - 0.

Как сделать так, чтобы поддержка 2-сторонней печати принтера, подключённого к чужому компу, тоже была видна?
Ведь принтеры часто подключены к чужим компам, а моя программа не будет отображать их 2-стороннюю печать.
shara86 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно работать с методом PrintOut? Stilet Microsoft Office Word 6 09.07.2009 09:11
не копирует фаил командой copyfile Dozent Общие вопросы Delphi 3 21.06.2009 00:25
Как вызвать командную строку с командой из Edit?? dolphin705 Общие вопросы Delphi 2 20.06.2009 00:33
Определение завершения сторонней программы Хамяг Общие вопросы Delphi 3 26.11.2008 18:12
Как определить момент запуска сторонней программы? NioTo Win Api 2 17.12.2007 16:40