von Toxitom » Fr, 19.05.2006 08:15
Hey Wodga,
ch würde gerne die Zeichen für jede Zeile extra zählen und anzeigen lassen.
Hmm, die Zeile ist abhängig von den gesetzten Rändern, der gewählten Schrift und der Schriftgröße - alles Eigenschaften, die das normale, interen Dokument nicht direkt kennt. Das geht immer nur mit dem aktiven Controller des Dokumentes.
Die Programmierung ist dann nicht ganz ohne: Du nimmst den ViewCursor, setzt ihn an den Anfang der Zeile, markiert bis zum Ende der Zeile , liest den markierten Text in eine Variable und zählst die Zeichen. - Und das dann für jede Zeile.
Also, das war jetzt das Prinzip - dann viel Spass beim Programmieren.
Hab noch einen Beispielcode: Der folgende Code liest dir die Zeilenlänge aus - dort wo der Cursor aktuell steht:
Code: Alles auswählen
Sub ZeilenLaengeAuslesen
Dim oDoc as object, oViewC as object, sZeile as String
oDoc = ThisComponent
oViewC = oDoc.getCurrentController().getViewCursor()
oViewC.gotoStartOfLine(false)
oViewC.goToEndOfLine(true)
sZeile = oViewC.String
msgbox "Die markierte Zeile beinhaltet aktuell " & len(sZeile) & _
" Zeichen.", 0 , "Anzahl der Zeichen"
oViewC.gotostartOfLine(false)
End Sub
Gruss
Thomas
Hey Wodga,
[quote]ch würde gerne die Zeichen für jede Zeile extra zählen und anzeigen lassen. [/quote]
Hmm, die Zeile ist abhängig von den gesetzten Rändern, der gewählten Schrift und der Schriftgröße - alles Eigenschaften, die das normale, interen Dokument nicht direkt kennt. Das geht immer nur mit dem aktiven Controller des Dokumentes.
Die Programmierung ist dann nicht ganz ohne: Du nimmst den ViewCursor, setzt ihn an den Anfang der Zeile, markiert bis zum Ende der Zeile , liest den markierten Text in eine Variable und zählst die Zeichen. - Und das dann für jede Zeile.
Also, das war jetzt das Prinzip - dann viel Spass beim Programmieren.
Hab noch einen Beispielcode: Der folgende Code liest dir die Zeilenlänge aus - dort wo der Cursor aktuell steht:
[code]Sub ZeilenLaengeAuslesen
Dim oDoc as object, oViewC as object, sZeile as String
oDoc = ThisComponent
oViewC = oDoc.getCurrentController().getViewCursor()
oViewC.gotoStartOfLine(false)
oViewC.goToEndOfLine(true)
sZeile = oViewC.String
msgbox "Die markierte Zeile beinhaltet aktuell " & len(sZeile) & _
" Zeichen.", 0 , "Anzahl der Zeichen"
oViewC.gotostartOfLine(false)
End Sub[/code]
Gruss
Thomas