| |
|
|
| KompilierenMarkierenSeparierenXProfan Querformat - Druckausgabe von Andreas Miethe
##################
$H windows.ph
DEF Get_STDPrinter(1) Substr$(ReadIni$(WIN.INI,Windows,Device),@&(1),,)
DEF OpenPrinter(3) !WINSPOOL.DRV,OpenPrinterA
DEF ClosePrinter(1) !WINSPOOL.DRV,ClosePrinter
DEF DocumentProperties(6) ! WINSPOOL.DRV,DocumentPropertiesA
CLS
Declare STDPrinterName$
STDPrinterName$ = Get_STDPrinter(1)name des Standard-Druckers ermitteln
Declare PrinterHandle&
OpenPrinter(Addr(STDPrinterName$),Addr(PrinterHandle&),0)PrinterHandle ermitteln
Declare BufferSize&,DevIn#
BufferSize& = DocumentProperties(%hwnd,PrinterHandle&,Addr(STDPrinterName$),0,0,0)Buffergroes se fuer Devmode-Struktur ermitteln
Dim DevIn#,BufferSize&
DocumentProperties(0,PrinterHandle&,Addr(STDPrinterName$),DevIn#,0,$13)Devmode- Struktur fuellen
ClosePrinter(PrinterHandle&)Printerhandle wird nicht mehr benoetigt
Declare PrinterDC&
Long DevIn#,44 = 2Orientation auf Querdruck setzen
PrinterDC& = ~CreateDC(WINSPOOL,Addr(STDPrinterName$),0,DevIn#)Drucke-Device-Context
Docinfo-Struktur anlegen und fuellen
Declare DocInf#,Docname$
Dim DocInf#,12
Long DocInf#,0 = 12
Docname$ = Mein Dokument
Long DocInf#,4 = Addr(Docname$)
Long DocInf#,8 = 0
Druckausgabe per API
If ~StartDoc(PrinterDC&,DocInf#) > 0
If ~StartPage(PrinterDC&) > 0
~TextOut(PrinterDC&,60,70,Querdruck,9)
~EndPage(PrinterDC&)
~EndDoc(PrinterDC&)
Endif
Endif
Print Fertig mit drucken
waitinput
Dispose DevIn#
Dispose DocInf#
END
|
|
|
| |
|
|