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.