| |
|
|
- page 1 - |
|
Julian Schmidt | allô Community, je serait volontiers quelques Fragen rund um Drucken avec XProfan klären.
Zum Thema: je suis justement dabei mon Stundenplan-Tool (Vlt. erinnern sich quelques à cet) trop aktualisieren. eh bien versuche je justement qui Druckfunktion sur Vorderman trop apporter. Je mets mir cela Drucken so avant. si on sur Drucken klickt venez un Druckerauswahldialog, anschließend peux on Einstellungen rendez-vous et drucken. si im Druckerauswahldialog Querformat geklickt wurde soll autre chose gedruckt volonté comme im Hochformat. Im Querformat wird qui Stundenplan einmal sur qui Gesamte Longueur des Blattes gedruckt. Im Hochformat wird qui Stundenplan mehrfach untereinander sur qui Gesamte Breite des Blattes gedruckt, sodass aussi so cela gesamte Blatt ausgefüllt ist.
eh bien devrait on zum une ermitteln si Quer-, ou bien Hochformat ausgewählt wurde. et zum zweiten devrait qui Taille des Blattes ermittelt volonté, sodass on den Stundenplan Zentrieren peux.
but cet Beitrags ist es erstmal entier simple im Hoch-, Querformat une ligne number, et une Text Zentriert, dans qui jeweiligen Format-Ausrichtung(rebord de ~50px) auszudrucken. KompilierenMarqueSéparation LG
Julian57 |
|
|
| |
|
|
|
« cette Beitrag wurde comme Solution gekennzeichnet. » |
|
- page 2 - |
|
Thomas Freier | voilà Umrechnen annoncé. Du bekommst z.B. Blattbreite dans mm. ensuite sommes cela ~H&*3.425 Bildpx . KompilierenMarqueSéparation $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%) dois du deine Bildschirmpx (rebord%) umrechnen. |
|
|
| |
|
|
|
|
| |
|
- page 1 - |
|
Rolf Koch | et quoi mich ici wundert: aucun allez sur Deinen geilen Spruch un "ob qui Drucker männlich ou bien weiblich" ist. je hab mich wieder gekringelt avant rire. merci si, pour cette Spruch !!!! |
|
|
| |
|
|
|
Jörg Sellmeyer | quoi est car "Leider nicht"? Bekommst Du aucun Werte ou bien quoi? chez mir venons nämlich Werte dans qui Variablen. et zwar assez oui c'est ca qui, qui je chez einer Din A4-page erwaten serait. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2011 ▲ |
|
|
|
|
Thomas Freier | Ist déjà witzig, comment qui données ermittelt werde. Jörg erwatet vous [...] et Julian fischt im Trüben [...] |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
Julian Schmidt | qui Frage ist oui toujours si qui richtigen Werte ermittelt volonté, si cela qui Wert ist den je cherche. comment wird es den chez euch ausgedruckt? KompilierenMarqueSéparation $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
|
|
|
| |
|
|
|
Thomas Freier | voilà Umrechnen annoncé. Du bekommst z.B. Blattbreite dans mm. ensuite sommes cela ~H&*3.425 Bildpx . KompilierenMarqueSéparation $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%) dois du deine Bildschirmpx (rebord%) umrechnen. |
|
|
| |
|
|
|
Julian Schmidt | Super, es funktioniert ^ ^ très cool! Muss je maintenant seulement encore dans meinen Programme umsetzen!
chez weiteren Fragen melde je mich nochmal, erstmal merci à Alle! |
|
|
| |
|
|
|
| suis ebenso intéressé!
si Du là nen Minispeibiel prêt la hâte ensuite s'il te plaît chez den Quelltexten einreihen. |
|
|
| |
|
|
|
Julian Schmidt | hmmmmm.....werde regarder si je quoi zurecht schreibe, si pas comme Beispiel qui ligne number verwenden ^ ^ demain vlt, si je pas à meiner le chasseur bastle, quelle je aktualisiere. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Thomas Freier | alors, une echte Solution gibt es pas. ici seulement un simples Beispiel avec einer RTF et quoi verschiedene Software daraus faire. Alle Ränder étions sur 0 eingestellt. on sollte aus Sicherheitsgünden nie cela Blatt voll ausreizen.
|
|
|
| |
|
|
|
Julian Schmidt | iF (20.08.11)
si Du là nen Minispeibiel prêt la hâte ensuite s'il te plaît chez den Quelltexten einreihen.
ici la fois une Ausschnitt aus meinen Prog. zum zeichnen einer Stundenplan-Tabelle. Bisher habe je mich seulement um cela Querformat gekümmert. Hochformat venez mais aussi encore daran, et ensuite werde je cet Beispiel ici ergänzen, et une Snippet erstellen! KompilierenMarqueSéparation $H Windows.ph
declare zeile%, top% , wtag$
var rand%=70
var pxmm!=3.425
var pymm!=3.35
StartPrint "*Stundenplan"
if %Printing
var H& = ~GetDeviceCaps(&PDC,~HORZSIZE)'Physikalische Breite in mm
var V& = ~GetDeviceCaps(&PDC,~VERTSIZE)'Physikalische Höhe in mm
var width&=H&*pxmm!'Physikalische Breite in Pixeln
var height&=V&*pymm!'Physikalische Höhe in Pixeln
var reihen_nummer%=width&/24'Breite der Spalte für die Stundennummer
UsePen 0,1,RGB(0,0,31)
If H& > V&'Wenn Querformat aufgewählt wurde
top%=height&/4'Beginn der Stundenplan Tabelle
zeile%=(height&-(top%+rand%))/13'Höhe einer Zeile der Tabelle
UsePen 0,2,255
Whileloop 13'Malen aller horizontalen Spalten
Line rand%,top%+zeile%*&loop - (width&-rand%),top%+zeile%*&loop
Endwhile
Line rand% ,top% - rand%,top%+(zeile%*13)'Erste vertiakale Linie
whileloop 0,6'Malen der restligen vertikalen Linien
case &loop=0 : Line (rand%+reihen_nummer%)+(((width&-reihen_nummer%)-(rand%*2))/6*&loop),top%+zeile% - (rand%+reihen_nummer%)+(((width&-reihen_nummer%)-(rand%*2))/6*&loop),top%+(zeile%*13)
case &loop<>0 : Line (rand%+reihen_nummer%)+(((width&-reihen_nummer%)-(rand%*2))/6*&loop),top% - (rand%+reihen_nummer%)+(((width&-reihen_nummer%)-(rand%*2))/6*&loop),top%+(zeile%*13)
Endwhile
TextColor 0,-1
UseFont "Times New Roman",width&/35,0,1,0,0
whileloop 12'Liniennummern zeichnen
DrawText rand%-2, top%+(zeile%*&loop)+2, rand%+reihen_nummer%, (top%+zeile%)+(zeile%*&loop), Str$(&loop), 1
Endwhile
whileloop 0,5'Wochentage, 'Zeiten' aufmalen
case &loop<>0 : wtag$=Substr$("Montag,Dienstag,Mittwoch,Donnerstag,Freitag",&loop,",")
TextColor 0,-1
UseFont "Times New Roman",width&/35,0,1,0,0
if &loop=0
DrawText rand%, top%+2, (rand%+reihen_nummer%)+(((width&-reihen_nummer%)-(rand%*2))/6*&loop)+(((width&-reihen_nummer%)-(rand%*2))/6) , top%+zeile%, "Zeiten", 1
else
DrawText rand%+reihen_nummer%+((((width&-reihen_nummer%)-(rand%*2))/6)*&loop), top%+2, rand%+reihen_nummer%+((((width&-reihen_nummer%)-(rand%*2))/6)*(&loop+1)) , top%+zeile%, wtag$, 1
Endif
Endwhile
Else'Wenn Hochformat aufgewählt wurde
Messagebox("Drucken des Hochformates bisher nicht möglich!","INFO",64)
Endif
EndPrint
ass=s4 href='./../../funktionsreferenzen/XProfan/endif/'>Endif
Weiterhin habe je quelques Fragen zum Druckrändern! comment würdet son den Druckrand choisir. comment viel Pixel rebord volonté sur chaque le cas nécessaire avec cela rien abgeschnitten wird?
Ist rebord sur chacun page notwendig? à gauche-à droite, dessus-Unten ou bien sogar seulement sur einer page? je male un Hintergrund derrière den Stundenplan quel possible avec wenig rebord ausgedruckt volonté soll ^ ^. Momentane Ränder: Tabelle=70px Bild=10px |
|
|
| |
|
|
|
Julian Schmidt | j'ai eh bien une Kompromiss pour mich trouvé. je ermittle den rebord des gewählten Druckers. Aussi gebe je une garçon-, Untergrenze à. So halte je qui Objekte sur jeden Drucker dans qui angegebenen Größenangaben, si pas sogar chez gleicher garçon-, Untergrenze dans exakt qui genauen Taille(im Relations zum Blattes(Prozentual)) KompilierenMarqueSéparation $H Windows.ph
cls
StartPrint "*Test"
if %Printing
var H& = ~GetDeviceCaps(&PDC,~HORZSIZE)
var V& = ~GetDeviceCaps(&PDC,~VERTSIZE)
var pxmm!=3.425
var pymm!=3.35
var width&=H&*pxmm!
var height&=V&*pymm!
var rand%= ~GetDeviceCaps(&PDC,112)
case rand%<(width&/100)*7 : rand%=(width&/100)*7'Untergrenze=7% von Physikalischer Blattergröße in Pixeln
case rand%>(width&/100)*7 : rand%=(width&/100)*7'Obergrenze=7% von Physikalischer Blattergröße in Pixeln
UsePen 0,1,RGB(0,0,31)
If H& > V&'Querformat
Line rand%,100 - (width&-rand%),100
Else'Hochformat
Line rand%,100 - (width&-rand%),100
Endif
EndPrint
Endif
|
|
|
| |
|
|