Обновлено: 01 декабря, 2018

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

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 Is RAD!'); 
    Printer.EndDoc; 
  end; 
end;
Рейтинг автора
Автор статьи
Юрий
Программист Delphi, MySQL. Образование: высшее. Специальность: программное обеспечение информационных технологий.
Написано статей
439
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (13 оценок, среднее: 4,92 из 5)
Загрузка...
Добавить комментарий