Hallo Jürgen,
leider bin ich nicht recht weiter. Vor allem der Code
stp=F2.KNr.StyledTextPrinter(g,96*7.5)
stp.drawBlock 489,12,96*7.5
stp=F2.E9.StyledTextPrinter(g,96*7.5)
stp.drawBlock 27,18,96*7.5
funktioniert unter Windows nicht. Das erste STP druckt (zumindest mit
dem Mac) eine größere Nummer ein, das zweite STP dann den restlichen
Text.
Unter Windows wird diese Nummer jetzt gar nicht gedruckt. Ich werde
das alles nochmals anders machen müssen.
Ob das EndOfLine mit Left funktioniert, weiß ich auch nicht. Im Mac
ist es nur der chr(13) und in Windows chr(13)+chr(10), also einmal
Länge 1 und einmal Länge 2.
Ich habe deshalb das EndOfLine wieder durch chr(13) ersetzt.
Augenblicklich sieht es so aus:
if TargetWin32 then
F2.E9.TextSize=12
F2.KNr.TextSize=32
end if
g=OpenPrinter()
//g=OpenPrinterDialog()
If g<>nil then
for i=0 to y
if left(seite(i),1)=chr(13) then
F2.E9.text=Editfield1.text+seite(i)
else
F2.E9.text=Editfield1.text+chr(13)+seite(i)
end if
if TargetWin32 then
stp=F2.KNr.StyledTextPrinter(g,96*7.5) //DRUCKT LEIDER
NICHT!!!
stp.drawBlock 400,40,96*7.5
stp=F2.E9.StyledTextPrinter(g,96*7.5) ///DRUCKT WIE GEWÜNSCHT
stp.drawBlock 45,28,96*7.5
else
stp=F2.KNr.StyledTextPrinter(g,96*7.5) //DRUCKT WIE GEWÜNSCHT
stp.drawBlock 489,12,96*7.5
stp=F2.E9.StyledTextPrinter(g,96*7.5) /DRUCKT WIE GEWÜNSCHT
stp.drawBlock 27,18,96*7.5
end if
if i<y then
g.nextPage
end if
next
end if
Gruß
Robert
Am 17.07.2006 um 13:52 schrieb Dr. Jürgen Czischke:
Lieber Robert!
Eine Frage dazu:
Funktioniert der StyledTextPrinter inzwischen einwandfrei? Also
auch mit rechtsbündigem Text und unterschiedlichen Schriftgrößen.
Nachdem das bislang nicht funktionierte, habe ich eine eigene
Lösung programmiert und mich vorerst nicht mehr darum gekümmert.
Am 15.07.2006 um 13:25 schrieb Robert Lehner:
Hallo,
kann mir wer sagen, warum die Seiten unter Windows kleiner
ausdrucken als mit dem Mac?
Und vor allem, wie kann man das vermeiden?
Drucker ist der selbe. Der Mac-Ausdruck passt mit folgendem Code.
Der Windows-Ausdruck ist oben angeschnitten und die Schrift ist
ca. 20% kleiner.
g=OpenPrinter()
If g<>nil then
for i=0 to y
if left(seite(i),1)=endofline then
F2.E9.text=Editfield1.text+seite(i)
else
F2.E9.text=Editfield1.text+endofline+seite(i)
end if
stp=F2.KNr.StyledTextPrinter(g,96*7.5)
stp.drawBlock 489,12,96*7.5
stp=F2.E9.StyledTextPrinter(g,96*7.5)
stp.drawBlock 27,18,96*7.5
if i<y then
g.nextPage
end if
next
end if
RB 2006 Pro
Gruß
Robert
Gruß von Jürgen