- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >


Frequently Asked Questions

Changing the printer port in code.

Question:

How can I change the port a given printer will use in code?

Answer:

You can use the SetPrinter method of TPrinter to change the 

port. The following example demonstrates changing the port 

to print to a file.



Example:



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;



* #WhiteUnicorn/ StartPage/ Documentation/DelphiFAQ >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile