h t t p : / / w w w . a g s s o f t . i t
AGS SOFTWARE
Consulenze
Informatiche
HOME PAGE
Contatti
Articoli MySql
Articoli PHP
Articoli Delphi
Download
Area riservata
25/02/2005 :
Nuove versioni del programma GESTFIN
Invio di codici di Escape alla stampante
INVIO DI CODICI DI ESCAPE ALLA STAMPANTE ======================================== In sistemi Win16, è possibile usare la funzione SpoolFile, o il sistema "Escape Passthrough" se la stampante lo supporta. In sistemi Win32, conviene usare la funzione WritePrinter. L'esempio di seguito, mostra come si possa aprire una stampante e scriverci una sequenza di caratteri. Notare che si deve usare l'esatto nome della stampante, ad esempio "HP LaserJet 5MP" affinché la funzione abbia successo. Unit da includere ----------------- Uses WinSpool; (**************************************************************************) (* Implementazione di WriteRawStringToPrinter *) (**************************************************************************) procedure WriteRawStringToPrinter(PrinterName:String; S:String); var Handle: THandle; N: DWORD; DocInfo1: TDocInfo1; begin if not OpenPrinter(PChar(PrinterName), Handle, nil) then begin ShowMessage('error ' + IntToStr(GetLastError)); Exit; end; with DocInfo1 do begin pDocName := PChar('test doc'); pOutputFile := nil; pDataType := 'RAW'; end; StartDocPrinter(Handle, 1, @DocInfo1); StartPagePrinter(Handle); WritePrinter(Handle, PChar(S), Length(S), N); EndPagePrinter(Handle); EndDocPrinter(Handle); ClosePrinter(Handle); end; (**************************************************************************) (* UTILIZZO DELL FUNZIONE *) (**************************************************************************) procedure TForm1.Button1Click(Sender: TObject); begin WriteRawStringToPrinter('HP', 'Test This'); end;
ELENCO