Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Сброс на печать текстового файла

Delphi , ОС и Железо , Принтеры и Печать

Сброс на печать текстового файла

Используйте CreateFile для получения дескриптора LPT1


LPTHandle := CreateFile( 'LPT1',GENERIC_WRITE,
0, PSecurityAttributes(nil),
OPEN_EXISTING, FILE_FLAG_OVERLAPPED,
0);

Затем используйте WriteFile для посылки строки символов или сделайте так:


While not TransmitCommChar( LPTHandle, CharToSend ) do
  Application.ProcessMessages;

Этим вы перешлете в параллельный порт строчку символов. Для обработки код ждет последний символ, после чего немедленно посылает новый. Метод на поверку оказался весьма быстр.

Here's the translation of the text into Russian:

Создание handles для принтера LPT1

LPTHandle  := CreateFile('LPT1', GENERIC_WRITE, 0, PSecurityAttributes(nil), OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);

Эта строка использует функцию CreateFile для создания handles для принтера LPT1. Параметры следующие:

  • 'LPT1': имя принтера (в этом случае, первый параллельный порт)
  • GENERIC_WRITE: указывает, что мы хотим записать в файл
  • 0: не указано режим совместного использования
  • PSecurityAttributes(nil): указатель на структуру безопасности атрибутов, которая установлена в nil в этом случае
  • OPEN_EXISTING: открывает файл, если он уже существует, или создает новый, если нет
  • FILE_FLAG_OVERLAPPED: указывает, что мы хотим использовать асинхронное ввод-вывод (т.е., асинхронное ввод-вывод)
  • 0: не указаны дополнительные параметры

Отправка символов на принтер

While not TransmitCommChar(LPTHandle, CharToSend) do
  Application.ProcessMessages;

Эта петля отправляет символ на принтер с помощью функции TransmitCommChar. Параметры следующие:

  • LPTHandle: handle для принтера LPT1 (создан ранее)
  • CharToSend: символ, который нужно отправить на принтер

Петля будет продолжаться, пока функция TransmitCommChar не вернет True, указывая, что символ был успешно отправлен.

Примечание: Стatement Application.ProcessMessages используется для обработки любых pending сообщений в очереди сообщений приложения. Это необходимо потому, что функция TransmitCommChar может блокироваться на короткий период времени при отправке символа, и мы хотим обеспечить, что любые другие задачи или события обрабатываются во время этого периода.

В целом, это код создает handle для принтера LPT1 и использует его для отправки индивидуальных символов на принтер с помощью функции TransmitCommChar.

Сброс на печать текстового файла в Windows может быть выполнен с помощью дескриптора порта LPT1, полученного с помощью функции CreateFile, и последующего использования WriteFile или TransmitCommChar для посылки строки символов.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Принтеры и Печать ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 16:46:47/0.0094799995422363/2