Главная страница
    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.46 MB
Время: 0.006 c
4-1185371462
Dmitry_177
2007-07-25 17:51
2008.03.23
непойму в чем дело с сервисом


15-1202627171
Kostafey
2008-02-10 10:06
2008.03.23
С днем рождения ! 10 февраля


15-1201058161
Буран
2008-01-23 06:16
2008.03.23
Помогите перевести dll на Си, пожалуйста?


2-1203666919
Sonia
2008-02-22 10:55
2008.03.23
код по последовательному поиску имени в массиве элементов


15-1202886931
Iam
2008-02-13 10:15
2008.03.23
SkypePro





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