Italia
Foro

Allerlei Fragen rund ums Drucken mit XProfan

 
- Page 1 -



Julian
Schmidt
Hallo Community,
ich würde gerne einige Fragen rund um Drucken mit XProfan klären.

Zum Thema: Ich bin gerade dabei mein Stundenplan-Tool (Vlt. erinnern sich einige an dieses) zu aktualisieren. Nun versuche ich gerade die Druckfunktion auf Vorderman zu bringen.
Ich stelle mir das Drucken so vor.
Wenn man auf Drucken klickt kommt ein Druckerauswahldialog, anschließend kann man Einstellungen treffen und drucken. Wenn im Druckerauswahldialog Querformat geklickt wurde soll etwas anderes gedruckt werden als im Hochformat.
Im Querformat wird der Stundenplan einmal circa die Gesamte Länge des Blattes gedruckt.
Im Hochformat wird der Stundenplan mehrfach untereinander auf die Gesamte Breite des Blattes gedruckt, sodass auch so das gesamte Blatt ausgefüllt ist.

Nun müsste man zum einen ermitteln ob Quer-, oder Hochformat ausgewählt wurde.
Und zum zweiten müsste die Dimensione des Blattes ermittelt werden, sodass man den Stundenplan Zentrieren kann.

Ziel dieses Beitrags ist es erstmal ganz simple im Hoch-, Querformat eine Linie, und einen Text Zentriert, in der jeweiligen Format-Ausrichtung(Rand von ~50px) auszudrucken.
KompilierenMarkierenSeparieren
StartPrint "*Testausdruck"

if %Printing

    Line 50,50 - 200,50
    DrawText 50, 60, 200, 80, "TestText", 1
    EndPrint

E
a>

LG

Julian57
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
19.08.2011  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Thomas
Freier
Da ist Umrechnen angesagt. Du bekommst z.B. Blattbreite in mm. Dann sind das ~H&*3.425 Bildpx .
KompilierenMarkierenSeparieren
 $H Windows.ph
Declare H&,V&
cls
var  rand%=75
var pxmm!=3.425
var pymm!=3.35
StartPrint "*Test"

if %Printing

    H& = ~GetDeviceCaps(&PDC,~HORZSIZE)
    V& = ~GetDeviceCaps(&PDC,~VERTSIZE)
    UsePen 0,1,@RGB(0,0,31)

    If H& > V&'Querformat

        Line rand%,100 - ((H&*pxmm!)-rand%),100

    Else'Hochformat

        Line rand%,100 - ((H&*pxmm!)-rand%),100

    Endif

    EndPrint

Endif


Verwendest du Druckerpx (APX%) mußt du deine Bildschirmpx (rand%) umrechnen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
20.08.2011  
 



Hilft Dir [...]  ?
 
19.08.2011  
 




Julian
Schmidt
Hilft mir nicht wirklich weiter!
Ich denke der beste Ansatz wäre erstmal zu ermitteln ob Quer- oder Hochformat eingestellt wurde. Irgendeine Idee?
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
19.08.2011  
 



Hm aber Codes dafür liegen hier doch rum.

Magst die Cerca nicht?

Einfachste Variante: [...] 

Aber gib mal in das Suchfeld "Drucke" ein -

und schaue dann dort in der Rubrik "Quelltexte"

da gibts noch genauere Beispiele.
 
19.08.2011  
 



Z.B. hier einfach wie immer super von Andreas Miethe: [...]  -

kannst damit sogar schauen ob der Drucker männlich oder weiblich ist -

wenn gegeben!
 
19.08.2011  
 




Julian
Schmidt
hmmm....das mit dem ermitteln des Formates funktioniert soweit super! Nun komm ich zum nächsten Problem. Wie bekomme ich denn die Linie exakt von *Anfang des Blattes*+*Druckrand* bis *Ende des Blattes*-*Druckrand*.

Aktuell siehts so aus(siehe Download)! Genauso auch im Hochformat!
Download
KompilierenMarkierenSeparieren
Def GetDeviceCaps(2) ! "GDI32","GetDeviceCaps"
Declare H&,V&, rand_px&, APX%, APY%
rand_px&=75
cls
StartPrint "*Test"

if %Printing

    H& = GetDeviceCaps(&PDC,4)
    V& = GetDeviceCaps(&PDC,6)
    APX%= GetDeviceCaps(&PDC,8)'Ausgabebreite in Pixel
    APY%= GetDeviceCaps(&PDC,10)'AusgabeHoehe in Pixel

    If H& > V&'Querformat

        Line rand_px&,rand_px& - APX%-rand_px&,rand_px&

    Else'Hochformat

        Line rand_px&,rand_px& - APY%-rand_px&,rand_px&

    Endif

    EndPrint

Endif


2 kB
Hochgeladen:19.08.2011
Downloadcounter118
Download
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
19.08.2011  
 



Schau mal: [...] 

Da steht bei HORZRES: Width, in pixels, of the screen; or for printers, the width, in pixels, of the printable area of the page.

Funktioniert das denn nicht?
 
19.08.2011  
 




Julian
Schmidt
Leider nicht
KompilierenMarkierenSeparieren
 $H Windows.ph
Declare H&,V&, rand_px&, APX%, APY%
rand_px&=75
cls
StartPrint "*Test"

if %Printing

    H& = ~GetDeviceCaps(&PDC,~HORZSIZE)
    V& = ~GetDeviceCaps(&PDC,~VERTSIZE)
    APX%= ~GetDeviceCaps(&PDC,~HORZRES)
    APY%= ~GetDeviceCaps(&PDC,~VERTRES)

    If H& > V&'Querformat

        Line rand_px&,rand_px& - (APY%-rand_px&),rand_px&

    Else'Hochformat

        Line rand_px&,rand_px& - (APX%-rand_px&),rand_px&

    Endif

    EndPrint

Endif

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
19.08.2011  
 




Rolf
Koch
und was mich hier wundert: Keiner geht auf Deinen geilen Spruch ein "ob der Drucker männlich oder weiblich" ist. Ich hab mich wieder gekringelt vor Lachen. Danke if, per diesen Spruch !!!!
 
20.08.2011  
 




Jörg
Sellmeyer
Was è denn "Leider nicht"? Bekommst Du keine Werte oder was? Bei mir kommen nämlich Werte in die Variablen. Und zwar ziemlich genau die, die ich bei einer Din A4-Seite erwaten würde.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
20.08.2011  
 




Thomas
Freier
Ist schon witzig, wie die Daten ermittelt werde.
Jörg erwatet sie [...] 
und Julian fischt im Trüben [...] 
 
Gruß Thomas
Windows XP SP2, XProfan X2
20.08.2011  
 




Julian
Schmidt
Die Frage ist ja immer ob die richtigen Werte ermittelt werden, ob das der Wert ist den ich suche. Wie wird es den bei euch ausgedruckt?
KompilierenMarkierenSeparieren
 $H Windows.ph
Declare H&,V&, rand_px&, APX%, APY%
rand_px&=75
cls
StartPrint "*Test"

if %Printing

    H& = ~GetDeviceCaps(&PDC,~HORZSIZE)
    V& = ~GetDeviceCaps(&PDC,~VERTSIZE)
    APX%= ~GetDeviceCaps(&PDC,~HORZRES)
    APY%= ~GetDeviceCaps(&PDC,~VERTRES)
    'APX% und APY% evtl. vertauschen

    If H& > V&'Querformat

        Line rand_px&,rand_px& - (APY%-rand_px&),rand_px&

    Else'Hochformat

        Line rand_px&,rand_px& - (APX%-rand_px&),rand_px&

    Endif

    EndPrint

Endif

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
20.08.2011  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

14.379 Views

Untitledvor 0 min.
Member 294243008.04.2024
Uwe Lang19.06.2023
Manfred Barei16.05.2021
rquindt17.05.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie