Seite 1 von 1

String ausdrucken

Verfasst: 17.02.2020 19:22
von Carl
Hallo,
ich möchte einen String zeilenweise ausdrucken. Leider gelingt es mir nicht einen Zeilenumbruch an den Drucker zu senden. Ich habe einiges ausprobiert, komme aber zu keinem Ergebnis.
Der String „Drucke“wird in eine Zeile gedruckt.



Code: Alles auswählen

d$= "test"+"11111"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test= "+"22222"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"333"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"4444"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"5555"+Chr(10)+Chr(13)
Drucke$+d$
Debug Drucke$


If PrintRequester()

  If StartPrinting("")
  
    LoadFont(0, "Arial", 60)
  
    If StartDrawing(PrinterOutput())
      
      BackColor(RGB(255, 255, 255)) 
      FrontColor(RGB(0, 0, 0)) 
      
      DrawingFont(FontID(0))

      DrawText(100, 100, Drucke$)
 
      StopDrawing()
    
    EndIf
    
    StopPrinting()
  EndIf
EndIf

Re: String ausdrucken

Verfasst: 17.02.2020 19:25
von Bisonte
DrawText unterstützt keine Steuerzeichen wie Chr(13) oder Chr(10).

Wenn Du etwas in eine weitere Zeile schreiben möchtest, musst du es mit den Koordinaten sagen...

In deinem Fall etwa so :

Code: Alles auswählen

d$= "test"+"11111"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test= "+"22222"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"333"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"4444"+Chr(10)+Chr(13)
Drucke$+d$
d$= "test"+"5555"+Chr(10)+Chr(13)
Drucke$+d$
Debug Drucke$

If PrintRequester()

  If StartPrinting("")
 
    LoadFont(0, "Arial", 60)
 
    If StartDrawing(PrinterOutput())
     
      BackColor(RGB(255, 255, 255))
      FrontColor(RGB(0, 0, 0))
     
      DrawingFont(FontID(0))
      
      textHoehe = TextHeight("|")
      
      CRLF = CountString(Drucke$, Chr(10)+Chr(13))
      y = 100
      
      For i = 1 To CRLF
        DrawText(100, y, StringField(Drucke$, i, Chr(10)+Chr(13)))
        y + textHoehe
      Next i
      
      StopDrawing()
   
    EndIf
   
    StopPrinting()
  EndIf
EndIf

Re: String ausdrucken

Verfasst: 17.02.2020 19:36
von Carl
Danke für die schnelle Antwort, funktioniert super
Gruß Carl

Re: String ausdrucken

Verfasst: 17.02.2020 19:40
von #NULL
CRLF ist im übrigen 13 10 (und nicht 10 13).
Du kannst auch StartVectorDrawing(PrinterVectorOutput()) und dann AddPathText() verwenden, das kann glaube ich auch mit Zeilenumbrüchen umgehen.