Not the correct method if the device acts like a printer. Install a printer,
e.g. the Generic/Text only driver, attach it to LPT1 and the use
WinSpool.WritePrinter to send stuff to it.
Print a line to the generic/text printer without formfeed
Uses WinSpool;
Const
GenericPrinter: Pchar = 'Universal/Nur Text';
// Change to systems generic drivers name
Procedure PrintLineToGeneric(Const line: string );
Var
BytesWritten: DWORD;
hPrinter: THandle;
DocInfo: TDocInfo1;
Begin
If not WinSpool.OpenPrinter(GenericPrinter, hPrinter, nil) Then
raise exception.create('Printer not found');
Try
DocInfo.pDocName := 'MyDocument';
DocInfo.pOutputFile := Nil;
DocInfo.pDatatype := 'RAW';
If StartDocPrinter(hPrinter, 1, @DocInfo) = 0 Then
Abort;
Try
If not StartPagePrinter(hPrinter) Then
Abort;
try
If not WritePrinter(hPrinter, @line[1], Length(line), BytesWritten)
Then
Abort;
Finally
EndPagePrinter(hPrinter);
End;
Finally
EndDocPrinter(hPrinter);
End;
Finally
WinSpool.ClosePrinter(hPrinter);
End;
End;
Peter Below (TeamB) 10011...@compuserve.com)
No replies in private e-mail, please, unless explicitly requested!