| |
|
|
- Página 1 - |
|
Julian Schmidt | ¡Hola Comunidad, Yo sería gerne algunos Fragen rund en Drucken con XProfan klären.
Zum Thema: Yo bin gerade esta mein Stundenplan-Tool (Vlt. erinnern se algunos a dieses) a aktualisieren. Nun versuche Yo gerade el Druckfunktion en Vorderman a bringen. Yo lugar me Drucken así antes. Wenn uno en Drucken klickt kommt una Druckerauswahldialog, anschließend puede ser Einstellungen treffen y drucken. Wenn en el Druckerauswahldialog Querformat geklickt wurde se de otra manera gedruckt voluntad como en el Hochformat. Im Querformat se el Stundenplan una vez en Gesamte Longitud des Blattes gedruckt. Im Hochformat se el Stundenplan mehrfach untereinander en el Gesamte Breite des Blattes gedruckt, sodass auch así el gesamte Blatt ausgefüllt es.
Nun debería uno para una ermitteln si Quer-, oder Hochformat ausgewählt wurde. Und para zweiten debería el Größe des Blattes ermittelt voluntad, sodass uno el Stundenplan Zentrieren kann.
Ziel dieses Beitrags es primero bastante simple en el Hoch-, Querformat una Linie, y una Texto Zentriert, en el jeweiligen Formato-Ausrichtung(Rand de ~50px) auszudrucken. KompilierenMarcaSeparación LG
Julian57 |
|
|
| |
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
- Página 2 - |
|
Thomas Freier | Como es Umrechnen angesagt. Usted bekommst z.B. Blattbreite en mm. Dann son el ~H&*3.425 Bildpx . KompilierenMarcaSeparación $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. |
|
|
| |
|
|
|
|
| |
|
- Página 1 - |
|
Rolf Koch | y qué mich hier wundert: Keiner va en Su geilen Spruch una "ob el Drucker männlich oder weiblich" es. Yo mich otra vez gekringelt antes Lachen. Gracias if, para esta Spruch !!!! |
|
|
| |
|
|
|
Jörg Sellmeyer | Was heißt porque "Leider nicht"? Bekommst Usted no Werte oder qué? En me kommen nämlich Werte en el Variables. Und zwar bastante genau el, el Yo en uno Din A4-Página erwaten sería. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.08.2011 ▲ |
|
|
|
|
Thomas Freier | Ya está witzig, como Daten ermittelt voluntad. Jörg erwatet ellos [...] y Julian fischt en el Trüben [...] |
|
|
| |
|
|
| |
|
- Página 2 - |
|
|
Julian Schmidt | El Cuestión es sí siempre si el richtigen Werte ermittelt voluntad, si el el Valor es el Yo búsqueda. Como se lo el en euch ausgedruckt? KompilierenMarcaSeparación $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 | Como es Umrechnen angesagt. Usted bekommst z.B. Blattbreite en mm. Dann son el ~H&*3.425 Bildpx . KompilierenMarcaSeparación $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. |
|
|
| |
|
|
|
Julian Schmidt | Super, lo funktioniert ^ ^ Sehr fresco! Muss Yo ahora sólo aún en media Programa umsetzen!
En más Fragen melde Yo mich otra vez, primero Gracias a Alle! |
|
|
| |
|
|
|
| Bin ebenso interessiert!
Si usted como nen Minispeibiel parat hast entonces Por favor, en el Quelltexten einreihen. |
|
|
| |
|
|
|
Julian Schmidt | hmmmmm.....voluntad schauen si Yo qué zurecht escribir, si no como Ejemplo el Linie uso ^ ^ Morgen vlt, si yo no a meiner Page bastle, welche Yo aktualisiere. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Thomas Freier | Also, una echte Solución no existe. Hier sólo una simples Ejemplo con uno RTF y qué verschiedene Software lo hacer. Alle Ränder waren en 0 eingestellt. Man debería de Sicherheitsgünden nie el Blatt voll ausreizen.
|
|
|
| |
|
|
|
Julian Schmidt | IF (20.08.11)
Si usted como nen Minispeibiel parat hast entonces Por favor, en el Quelltexten einreihen.
Hier veces a la Ausschnitt de media Prog. para dibujar uno Stundenplan-Tabla. Bisher Yo mich sólo en el Querformat gekümmert. Hochformat kommt aber auch todavía daran, y luego voluntad Yo dieses Ejemplo hier ergänzen, y una Snippet redactar! KompilierenMarcaSeparación $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 Yo algunos Fragen para Druckrändern! Como würdet ihr el Druckrand wählen. Como viel Pixel Rand voluntad en cada Fall benötigt así nichts abgeschnitten se?
Ist Rand en cada Página notwendig? Links-Rechts, Oben-Unten oder incluso sólo en uno Página? Yo male una Hintergrund hinter el Stundenplan welcher möglichst con wenig Rand ausgedruckt voluntad se ^ ^. Momentane Ränder: Tabelle=70px Bild=10px |
|
|
| |
|
|
|
Julian Schmidt | Yo habe nun una Kompromiss para mich gefunden. Yo ermittle el Rand des gewählten Druckers. Außerdem Me estoy dando una Ober-, Untergrenze a. So halte Yo el Objetos en cada Drucker en el angegebenen Größenangaben, si no incluso en gleicher Ober-, Untergrenze en exakt el genauen Größe(en el Verhältnis para Blattes(Prozentual)) KompilierenMarcaSeparación $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
|
|
|
| |
|
|