[fpc-pascal] raw printing throught USB port / WINDOWS
    Chriss Kalogeropoulos 
    iz.iznogood at gmail.com
       
    Tue Jan 13 15:32:30 CET 2015
    
    
  
Hi,
map the USB Port to a Virtual Serial Port and open the Port as File using
CreateFile using name "\\.\COMxxx"
Then write to the port with the usual API file commands
Even better wrap  this to a Stream (or FileStream) descendant and use
Stream.Write commands
Read and Seek should do nothing
I hope this helps
Chriss
On Tue, Jan 13, 2015 at 3:13 PM, Virgo Pärna <virgo.parna at mail.ee> wrote:
> On Tue, 13 Jan 2015 10:41:55 -0200, Philippe <philippe at quarta.com.br>
> wrote:
> >
> > First: could anyone tell me I have the possibility to access USB
> > printer in raw mode with the "basic" FPC package (not using Lazarus
> > packages/components)?
> >
>
>     If you have USB printer installed , then winunits-base package has
> winspool unit.
>     Following sample is with string beeing ansisstring and Char AnsiChar.
>
> procedure PrintCodesToPrinter(const APrinterName, APrintData: string);
> type
>   TDoc_Info_1 = record
>     DocName,
>     OutputFile,
>     Datatype: PChar;
>   end;
> var
>   Written: DWORD;
>   DocInfo: TDoc_Info_1;
>   PHandle: THandle;
> begin
>   if APrintData = '' then //nothing to print
>     exit;
>   DocInfo.DocName := 'POS';
>   DocInfo.OutputFile := nil;
>   DocInfo.Datatype := 'RAW';
>   if not OpenPrinter(PChar(APrinterName), PHandle, nil) then
>     raise Exception.CreateFmt('Error opening printer "%s"',
> [APrinterName]);
>   try
>     StartDocPrinter(PHandle, 1, @DocInfo);
>     StartPagePrinter(PHandle);
>     WritePrinter(PHandle, @APrintData[1], Length(APrintData), Written);
>     EndPagePrinter(PHandle);
>     EndDocPrinter(PHandle);
>   finally
>     ClosePrinter(PHandle);
>   end;
> end;
>
> --
> Virgo Pärna
> virgo.parna at mail.ee
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20150113/83a00a3c/attachment.html>
    
    
More information about the fpc-pascal
mailing list