Verbesserter Printbefehl mit Zeilenumbruch zurück
Die Print Methode führt am Zeilenende keinen korrekten Zeilenumbruch durch . In der Textdarstellung kann man dies umgehen, wenn man den Text in einem Textfeld ausgibt und die Multiline Eigenschaft anwählt. Beim Ausdruck mit einem Drucker hilft einem dies leider nicht . Hier hilft folgende Verbesserung des Printbefehls . Die Routine stammt von Martin Passing , Kronach. Vielen Dank !
Mit der Variablen n kann die Zeilenlänge eingeben werden. In diesem Beispiel ist n = 30 gesetzt. Probieren Sie verschiedene Werte für die Zeilenlänge aus.
Hinter dem Befehl Print mit Zeilenumbruch steht folgender Code:
Sub Befehl1_Click ()
Rem : Dieses Programm stammt von Martin Passing , Kronach
Cls
Dim a, b, i, n
a = 1: Rem markierungsvariable für zuletzt gedrucktes zeichen
b = 1: Rem markierungsvariable für zuletzt gefundenes leerzeichen
n = 30: Rem maximale zeilenlänge
prttxt$ = text1.Text
For i = 1 To Len(prttxt$)
Rem prüfe ob zeilenvorschub vorhanden
Else
Rem prüfe ob leerzeichen vorhanden
Rem prüfe ob zeile zu lang wird
Rem prüfe ob bei zu langer zeile kein leerzeichen vorhanden ist
Print Mid$(prttxt$, a, b - a)
a = b
End If
End If
Next i
Print Mid$(prttxt$, a, Len(prttxt$) - a + 1)
End Sub
Hinter dem Befehl Print ohne Zeilenumbruch steht folgender Befehl:
Sub Befehl2_Click ()
End Sub
Das Textfeld Text1.text holt man sich aus der Werkzeugkiste . Bei den Eigenschaften stellt man Multiline auf true .
Außerdem füllt man das Feld mit einem beliebigen Text aus so vielen Wörtern , daß auf jeden Fall die Zeile des aktuellen Fensters überschritten wird. Man setzt dazu bei den Eigenschaft im Caption feld zb folgenden Text ein:
Dies ist ein Test für einen Text der mit dem einfachen Printbefehl am Ende der Zeile einfach abgeschnitten wird. Mit dem verbesserten Printbefehl wird ein Zeilenumbruch an der richtigen Stelle durchgeführt.