БОЛЬШОЙ FAQ ПО DELPHI



Как программно изменить текущий порт принтера

Используем метод SetPrinter класса TPrinter


 uses Printers;
 
 {$IFNDEF WIN32}
 const MAX_PATH = 144;
 {$ENDIF}
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   pDevice: pChar;
   pDriver: pChar;
   pPort: pChar;
   hDMode: THandle;
   PDMode: PDEVMODE;
 begin
   if PrintDialog1.Execute then
   begin
     GetMem(pDevice, cchDeviceName);
     GetMem(pDriver, MAX_PATH);
     GetMem(pPort, MAX_PATH);
     Printer.GetPrinter(pDevice, pDriver, pPort, hDMode);
     Printer.SetPrinter(pDevice, PDriver, 'FILE:', hDMode);
     FreeMem(pDevice, cchDeviceName);
     FreeMem(pDriver, MAX_PATH);
     FreeMem(pPort, MAX_PATH);
     Printer.BeginDoc;
     Printer.Canvas.TextOut(100, 100, 'Delphi World Is Wonderful!');
     Printer.EndDoc;
   end;
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ