Как получить статус принтераDelphi , ОС и Железо , Принтеры и ПечатьКак получить статус принтераАвтор: http://www.swissdelphicenter.ch function TestPrinterStatus(LPTPort: Word): Byte; var Status: byte; CheckLPT: word; begin Status := 0; if (LPTPort >= 1) and (LPTPort <= 3) then begin CheckLPT := LPTPort - 1; asm mov dx, CheckLPT; mov al, 0; mov ah, 2; int 17h; mov &Status, ah; end; end; Result := Status; end; { Pass in the LPT port number you want to check & get the following back: 01h - Timeout 08h - I/O Error 10h - Printer selected 20h - Out of paper 40h - Printer acknowledgement 80h - Printer not busy (0 if busy) Note: This function doesn't work under NT, it gives an access violation from the DOS interrupt call. } Перевод контента на русский язык: Код Delphi используется для проверки статуса принтера, подключенного к порту LPT (параллельный порт). Номер порта LPT должен быть передан в функцию Функция использует ассемблерный язык для отправки BIOS-интеррумпции (интеррумпция 17h) для запроса статуса принтера. Интеррумпция требует двух параметров: номер порта LPT и байт для команды (al = 0, ah = 2). Возможные возвращаемые значения функции:
Обратите внимание, что это код не работает под Windows NT, потому что вызов DOS-интеррумпции не поддерживается в NT. Детальное объяснение кода:
Возможная альтернативная решени: Вы можете использовать Windows API-функцию Вот пример, как это можно сделать в Delphi:
Этот код более платформо-независим, чем оригинальный код, и работает под Windows NT. Однако важно отметить, что он предоставляет ограниченный набор информации о состоянии принтера по сравнению с оригинальным кодом. Статья описывает функцию TestPrinterStatus, которая позволяет получить статус принтера по номеру порта LPT, используя байт, который может содержать коды ошибок или статуса принтера. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Принтеры и Печать ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |