Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Как можно распечатать файл LPT?   Найти похожие ветки 

 
jeka_t   (2005-09-19 15:33) [0]

Добрый день...
У меня есть два принтера: Xerox и Canon
Один из них используется по умолчанию...
Необходимо отправлять файлы печати (PLT) на соответственные принтера...
Естьли возможность с помощью функции ShellExecute осуществить распечатку, либо другая функция есть?


 
DC-AC   (2005-09-20 08:35) [1]

Насколько я знаю, через спулер можно распечатать файлы .prn на любой принтер, установленный в системе (при условии, если он поддерживает все служебные команды, содержащиеся в prn файле),  PLT - не слышал такого.


 
jeka_t   (2005-09-20 10:31) [2]

Это тоже самое что и PRN - команды для принтера...
Но мне необходимо печатать из Делфи...
Может кто знает как?


 
Leonid Troyanovsky ©   (2005-09-20 11:01) [3]


> jeka_t   (20.09.05 10:31) [2]
> Это тоже самое что и PRN - команды для принтера...
> Но мне необходимо печатать из Делфи...


http://groups.google.com/group/fido7.ru.delphi.chainik/msg/c68e79b088787eab

--
Regards, LVT.


 
jeka_t   (2005-09-20 11:24) [4]

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;

Вот интересная функция, но как указать не текст а файл?


 
Leonid Troyanovsky ©   (2005-09-20 11:30) [5]


> jeka_t   (20.09.05 11:24) [4]

> Вот интересная функция, но как указать не текст а файл?


Тебе не эта функция нужна, а та, которая из буфера печатает.
Т.е., делаешь TFileStream, читаешь в буфер, отправляешь его на
печать, читаешь следующий кусок и т.д.

--
Regards, LVT.


 
jeka_t   (2005-09-20 11:35) [6]

А как отправить из буфера на печать?


 
Leonid Troyanovsky ©   (2005-09-20 11:48) [7]

> jeka_t   (20.09.05 11:35) [6]
> А как отправить из буфера на печать?


var
 buff: array [0..$FFFFF] of Char;
 ..
 WritePrinter(Handle, @buff, SizeOf(buff), N);
 ..

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
1-1130402074
Rentgen
2005-10-27 12:34
2005.11.20
Загрузка формы из библиотеки?


14-1130250617
Hamertime
2005-10-25 18:30
2005.11.20
Пррверьте пожалуйста есть ли ошибки


4-1127196661
EgorovAlex
2005-09-20 10:11
2005.11.20
Осваиваю ADSI и не получается из группы её членов получить.


6-1123497734
ronyn
2005-08-08 14:42
2005.11.20
Как синхронизировать страницу?


14-1130228493
Ega23
2005-10-25 12:21
2005.11.20
С днем рождения! 7 октября