Español
Fuente/ Codesnippets

Blattgröße Dpi Druckerränder

 
Tiempo otra vez una meisterhafte APIrei de Andreas Miethe.

Druckerränder - Blattgröße - DPI:
KompilierenMarcaSeparación
Def @AGetDeviceCaps(2) ! GDI32,GetDeviceCaps
Def @ACreateDC(4) ! GDI32,CreateDCA
Def @DeleteDC(1) ! GDI32,DeleteDC
Declare PDC&,APX!,APY!,PB!,PH!,POX!,POY!,DPIX!,DPIY!,PBMM!,PHMM!,RMM!
Declare PMAX!,PMAY!
Declare drv#,name#,port#
Declare device$,driv$,port$
Declare POR!,PUR!
Declare PLR!,PRR!

Proc GetPrinterDC

    Printer-DC ermitteln
    DIM drv#,200
    DIM name#,200
    DIM port#,200
    LET device$=@readini$(win.ini,windows,device)
    LET device$=@substr$(@readini$(win.ini,windows,device),1,,)
    LET driv$= @ADD$(@substr$(@readini$(win.ini,devices,device$),1,,),.drv)
    LET port$=@substr$(@readini$(win.ini,devices,device$),2,,)
    String name#,0=device$
    String drv#,0=driv$
    String port#,0=port$
    Let PDC&=@ACreateDC(drv#,name#,0,0)
    dispose drv#
    dispose name#
    dispose port#

EndProc

Proc Werte_Ermitteln

    Werte ermitteln
    Let APX!=@AGetDeviceCaps(PDC&,8)Ausgabebreite in Pixel
    Let APY!=@AGetDeviceCaps(PDC&,10)AusgabeHoehe in Pixel
    Let PB!=@AGetDeviceCaps(PDC&,110)Physikalische Breite
    Let PH!=@AGetDeviceCaps(PDC&,111)Physikalische Hoehe
    Let POX!=@AGetDeviceCaps(PDC&,112)Offset X
    Let POY!=@AGetDeviceCaps(PDC&,113)Offset Y
    Let DPIX!=@AGetDeviceCaps(PDC&,88)DPI X
    Let DPIY!=@AGetDeviceCaps(PDC&,90)DPI Y
    Let PBMM!=@AGetDeviceCaps(PDC&,4)Ausgabebreite in mm
    Let PHMM!=@AGetDeviceCaps(PDC&,6)Ausgabehoehe in mm

EndProc

Proc Ausgabe

    Werte ausgeben
    UseFont Arial,18,0,1,0,0
    Drawtext 10,0,add$(Standard-Drucker : ,Device$)
    UseFont Courier New,15,0,0,0,0

    if @equ(@AGetDeviceCaps(PDC&,2),2) then

        Drawtext 10,20,Rasterdrucker

    endif

    Decimals 0
    Drawtext 10,60,Add$(Ausgabebreite in Pixel         :  ,str$(APX!))
    Drawtext 340,60,Add$(Ausgabehöhe in Pixel         :  ,str$(APY!))
    Drawtext 10,80,Add$(Physikalische Breite in Pixel  :  ,str$(PB!))
    Drawtext 340,80,Add$(Physikalische Höhe in Pixel  :  ,str$(PH!))
    Drawtext 10,100,Add$(Physikalische Offset X         :  ,str$(POX!))
    Drawtext 340,100,Add$(Physikalische Offset Y       :  ,str$(POY!))
    Drawtext 10,120,Add$(Aufloesung Breite (DPI)        :  ,str$(DPIX!))
    Drawtext 340,120,Add$(Aufloesung Höhe (DPI)        :  ,str$(DPIY!))
    Drawtext 10,140,Add$(Ausgabebreite in mm            :  ,str$(PBMM!))
    Drawtext 340,140,Add$(Ausgabebreite in mm          :  ,str$(PHMM!))
    UseFont Arial,18,0,1,0,1
    DrawText 10,180,Aus diesen ermittelten Werten lassen sich die Druckränder
    DrawText 10,200,für den Standard-Drucker errechnen
    UseFont Courier New,15,0,0,0,0
    DrawText 10,240,ADD$(Linker Rand in Pixel   :  ,STR$(POX!))
    DrawText 340,240,ADD$(Rechter Rand in Pixel  :  ,STR$(SUB(SUB(PB!,APX!),POX!)))
    DrawText 10,260,ADD$(Oberer Rand in Pixel   :  ,STR$(POY!))
    DrawText 340,260,ADD$(Unterer Rand in Pixel  :  ,STR$(SUB(SUB(PH!,APY!),POY!)))
    Decimals 1
    Let PLR!=ROUND(MUL(DIV(PBMM!,APX!),POX!),1)
    Let PRR!=ROUND(MUL(DIV(PBMM!,APX!),SUB(SUB(PB!,APX!),POX!)),1)
    Let POR!=ROUND(MUL(DIV(PHMM!,APY!),POY!),1)
    Let PUR!=ROUND(MUL(DIV(PHMM!,APY!),SUB(SUB(PH!,APY!),POY!)),1)
    DrawText 10,280,ADD$(Linker Rand in mm      :  ,STR$(PLR!))
    DrawText 340,280,ADD$(Rechter Rand in mm     :  ,STR$(PRR!))
    DrawText 10,300,ADD$(Oberer Rand in mm      :  ,STR$(POR!))
    DrawText 340,300,ADD$(Unterer Rand in mm     :  ,STR$(PUR!))
    Decimals 0
    DrawText 10,340,ADD$(Blattgrösse X in mm    :  ,STR$(ADD(ADD(PBMM!,PLR!),PRR!)))
    DrawText 340,340,ADD$(Blattgrösse Y in mm    :  ,STR$(ADD(ADD(PHMM!,POR!),PUR!)))
    Textcolor rgb(255,0,0),rgb(192,192,192)
    UseFont Courier New,16,0,1,0,0

    If GT(APX!,APY!)

        Drawtext 10,40,Querformat

    else

        Drawtext 10,40,Hochformat

    endif

    Textcolor rgb(255,255,0),rgb(192,192,192)
    UseFont Arial,14,0,1,0,0
    Drawtext 10,360,BEACHTE : Die errechneten Werte hängen von der Auflösung und der Papiersorte bzw. Papiergrösse ab,
    Drawtext 10,380,die in der Druckereinstellung vorgenommen wurde !

EndProc

SetTruecolor 1
cls rgb(192,192,192)
Textcolor rgb(0,0,0),rgb(192,192,192)
UseFont Arial,18,0,1,0,1
UseCursor 2
Drawtext 10,410,Ermittle Werte für den Standard-Drucker
GetPrinterDC
Werte_ermitteln
Rectangle 0,8-630,356
Ausgabe
UseFont Arial,18,0,1,0,1
Textcolor rgb(255,0,0),rgb(192,192,192)
Drawtext 10,410,Werte für den Standard-Drucker ermittelt
UseCursor 0
waitinput
@DeleteDC(PDC&)Printer-DC liberación
end
Salve, IF
 
14.03.2005  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.341 Views

Untitledvor 0 min.
Torben Nissen27.01.2021
Frank Tretter23.03.2012
Jörg Sellmeyer18.11.2011
iF19.08.2011
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie