Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Команды принтеру...

Ответить
Настройки темы
Команды принтеру...

Аватара для nec 3540A

Старожил


Сообщения: 180
Благодарности: 3

Профиль | Отправить PM | Цитировать


Хотелось узнать, где написано про команды, которые можно послать принтеру (Epson stylus 640) на выполнение? Почитал мануал, тоже нечего подходящего не нащел, вот код моего записыльщика в порт принтера ( DELPHI ):

Код: Выделить весь код
Под Win16 Вы можете использовать функцию SpoolFile, или Passthrough escape, если принтер поддерживает последнее.Под Win32 Вы можете использовать WritePrinter. 
Ниже пример открытия принтера и записи чистого потока данных в принтер.Учтите, что Вы должны передать корректное имя принтера, такое, как "HP LaserJet5MP",чтобы функция сработала успешно.
Конечно, Вы можете включать в поток данных любые необходимые управляющие коды,которые могут потребоваться.

uses WinSpool;


procedure WriteRawStringToPrinter(PrinterName:String; S:String);
var
  Handle: THandle;
  N: DWORD;
  DocInfo1: TDocInfo1;
begin
  if not OpenPrinter(PChar(PrinterName), Handle, nil) then
  begin
    ShowMessage('error ' + IntToStr(GetLastError));
    Exit;
  end;
  with DocInfo1 do begin
    pDocName := PChar('test doc');
    pOutputFile := nil;
    pDataType := 'RAW';
  end;
  StartDocPrinter(Handle, 1, @DocInfo1);
  StartPagePrinter(Handle);
  WritePrinter(Handle, PChar(S), Length(S), N);

  EndPagePrinter(Handle);
  EndDocPrinter(Handle);
  ClosePrinter(Handle);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  WriteRawStringToPrinter('HP', 'Test This');
end;

-------
Вы посчитали мое сообщение полезным? - смело нажимайте "Полезное сообщение", что находится ниже


Отправлено: 22:55, 22-01-2007

 

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


nec 3540A
А зачем слать сырые команды, а не воспользоваться какими-нибудь более высокоуровневыми API?

-------
http://ivank.ru


Отправлено: 23:47, 22-01-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для nec 3540A

Старожил


Сообщения: 180
Благодарности: 3

Профиль | Отправить PM | Цитировать


ivank
А поподробнее где можно про них прочитать?

-------
Вы посчитали мое сообщение полезным? - смело нажимайте "Полезное сообщение", что находится ниже


Отправлено: 19:55, 24-01-2007 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


В MSDN написано, я там читал. В разделах GDI и Printing

Отправлено: 17:27, 28-01-2007 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Команды принтеру...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - запрет доступа к принтеру cyberdemon Microsoft Windows 2000/XP 1 03-08-2009 12:46
Печать - Проблема с доступом к принтеру voyager2009 Сетевые технологии 6 08-07-2009 07:56
Доступ к принтеру Qwass Microsoft Windows 2000/XP 8 19-10-2008 10:49
Доступ к принтеру Kirill NN Microsoft Windows NT/2000/2003 11 28-08-2006 10:51
Перехват обращения к принтеру knzsoft Программирование и базы данных 4 25-03-2006 23:13




 
Переход