On Tue, 13 Jan 2015 10:41:55 -0200, Philippe <[email protected]> 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
[email protected]
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal