Главная страница
    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.006 c
2-1203666919
Sonia
2008-02-22 10:55
2008.03.23
код по последовательному поиску имени в массиве элементов


15-1202598877
Ламот
2008-02-10 02:14
2008.03.23
Прошу помощи в выборе системы видеонаблюдения.


11-1186278717
ElectriC
2007-08-05 05:51
2008.03.23
Проблем-ка с TIcon


2-1203486854
серж
2008-02-20 08:54
2008.03.23
ComboBox


2-1203672334
Ковалев Г.Н
2008-02-22 12:25
2008.03.23
Borland Delphi 2006





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский