Главная страница
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.044 c
14-1130506982
Руслан
2005-10-28 17:43
2005.11.20
Можно ли узнать


4-1126843766
SergeyGood
2005-09-16 08:09
2005.11.20
Функция CreateProcessWithLogonW


2-1130746871
kyn66
2005-10-31 11:21
2005.11.20
Создание компонента в RunTime с родителем, созданным в RunTime


14-1130246167
*Diablo*
2005-10-25 17:16
2005.11.20
Безопасность в WinXP


4-1126874996
Stanislav
2005-09-16 16:49
2005.11.20
Как использовать CreateThread