Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];

Вниз

Включение принтера   Найти похожие ветки 

 
Alex8   (2008-02-25 16:34) [0]

Уважаемые мастера.
Подскажите, пожалуйста, как програмным путем
определить включен принтер или нет, c тем, чтобы
при необходимости выдать пользователю напоминание
"Включи принтер".  Спасибо.


 
KilkennyCat ©   (2008-02-25 17:37) [1]

Послать что-нить на печать.


 
Alex8   (2008-02-25 17:49) [2]

Вообще-то, идея. Если принтер выключен, то путем TRY-Extpt обработать
исключение. А если-включен, то пусть печатает ?
 А какой-нибудь функции нет?


 
KilkennyCat ©   (2008-02-25 18:46) [3]

Можно послать только управляющи символы. Или запросить параметры. Тогда печати не будет, а ошибка для обработки - вполне.


 
KilkennyCat ©   (2008-02-25 18:50) [4]

http://sources.ru/delphi/system/jobs_information_from_printer_spooler.shtml


 
Dimaxx ©   (2008-02-25 21:25) [5]

VCL-модуль Printers, TPrinter.Printers.Count. Равно 0 - нет принтеров.


 
Dimaxx ©   (2008-02-25 21:26) [6]

Тьфу, не так прочитал...


 
Alex8   (2008-02-26 12:08) [7]

Неожиданный (для меня) факт.
Идея о посылке на принтер пробной фразы не проходит, т.к.
при отключенном принтере исключение не формируется.
Программа просто проскакивает оператор печати, как
пустую строку.

 А что касается ссылки на
> http://sources.ru/delphi/system/jobs_information_from_printer_spooler.
то там речь идет о функции GetSpoolerJob(), определяющей
задания принтеру, а не его состояние.
 Мне кажется, что должна существовать функция (метод, процедура),
выдающая информацию о текущем состоянии принтера.
А вот какая ?


 
Alarm ©   (2008-02-26 13:26) [8]

WinSpool.OpenPrinter ?


 
Thrasher ©   (2008-02-26 14:45) [9]

Printer.GetPrinter?


 
Alex8   (2008-02-27 08:00) [10]

> WinSpool.OpenPrinter ?
> Printer.GetPrinter?

  Прошу прощения за свою темноту, но я не
смог разобраться с приведенными рекомендациями.
Хорошо бы привести пример их использования.
Спасибо.


 
noname   (2008-02-27 11:09) [11]

...
hPrinter   : THandle;
bResult    : Boolean;
sPrinterName : String
...
bResult := OpenPrinter(PChar(sPrinterName), hPrinter, Nil);
if NOT bResult then begin
    ShowMessage("Error opening the printer");
    exit;
end;


 
Alex8   (2008-02-27 13:03) [12]

Все получилось. Спасибо.
 Правда пришлось проинтуичить и добавить в
Uses модуль WinSpool. Да с моим бледным английским
отыскать функцию OpenPrinter в Help Windows SDK
смог только с такой подробной подсказкой.
Еще раз, большое спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1202627171
Kostafey
2008-02-10 10:06
2008.03.23
С днем рождения ! 10 февраля


15-1202569817
korstin
2008-02-09 18:10
2008.03.23
Нынче заказчики пошли )))


2-1204035970
s_t_d
2008-02-26 17:26
2008.03.23
Масштаб просмотра для элемента QuickRep


2-1203800509
antonn
2008-02-24 00:01
2008.03.23
Глупый вопрос по Application.ProcessMessages;


15-1202698088
Dmitry S
2008-02-11 05:48
2008.03.23
Вопрос про ООП





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский