Советы по Delphi

         

Печать через спулер на матричный принтер


Оргиш Александр (FIDO: 2:454/3.24) пишет:

Печатаю через спулер на матричный принтер текст таким образом :

    Var pcbNeeded : DWORD;
FDevice : PChar; FPort   : PChar; FDriver : PChar; FPrinterHandle : THandle; FDeviceMode    : THandle; FJob           : PADDJOBINFO1 ; Stream         : TFileStream; begin


GetMem(FDevice, 128); GetMem(FDriver, 128); GetMem(FPort, 128); Printer.GetPrinter(FDevice, FDriver, FPort, FDeviceMode); if FDeviceMode = 0 then Printer.GetPrinter(FDevice, FDriver, FPort, FDeviceMode); if OpenPrinter(FDevice,FPrinterHandle,nil) then  begin GetMem(FJob,1024); //Добавляем задание, получаем имя файла в директории windows\spoool\ AddJob(FPrinterHandle,1,FJob,1024,pcbNeeded); Stream:=TFileStream.Create(FJob.Path,fmCreate); // Дальше пишем текст (+ESC команды!!!!) прямо в Stream // и не забываем переводить в DOS - кодировку ......... ......... Stream.Free; //Постановка задания в очередь - только теперь принтер начинает печатать ScheduleJob(FPrinterHandle,FJob.JobID); FreeMem(FJob); ClosePrinter(FPrinterHandle); end; FreeMem(FDevice, 128); FreeMem(FDriver, 128); FreeMem(FPort, 128); end;

С уважением, Оргиш Александр [001072]



Содержание раздела