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


Antwort per Email an