Domino 9 und frühere Versionen > ND9: Entwicklung

RichText zu PlainText

(1/2) > >>

Alexander 28:
Ich habe folgende Herausforderung.

In einer Maske befindet sich ein RichText-Feld, welches einfach nur während des Speichervorgangs, im Event QuerySave zu PlainText konvertiert werden soll. Hört sich erst mal ganz einfach an, scheint es aber nicht zu sein, denn die besondere Herausforderung ist, dass sämtliche Zeilenumbrüche die im RichText-Feld eingebunden wurden erhalten bleiben. Aus diesem Grund scheiden die klassischen Mechanismen @Abstract bzw. @AbstractSimple schon einmal aus, da beide Funktionen sämtliche Zeilenumbrüche entfernen. Auch kann ich nicht auf die NotesItem Klasse zugreifen, weil das Dokument ja noch nicht gespeichert wurde und die Items somit noch nicht zur Verfügung stehen. Die einzige Funktion, mit der ich den Text ordnungsgemäß aus dem RichText-Feld abgreifen und in ein anderes Feld übertragen kann befindet sich im uidoc. Mithilfe von fieldgettext kriege ich den Text und kann ihn auch ordnungsgemäß in das neue Zielfeld des gleichen Dokumentes (ein reines Textfeld) übertragen. Bedauerlicherweise entfernt aber auch diese Funktion sämtliche Zeilenumbrüche.

Somit meine Frage. Gibt es irgendeine Möglichkeit, den Inhalt des RichText Feldes während des Speichervorganges in ein Textfeld zu übertragen und im Rahmen dieser Maßnahme sämtliche Zeilenumbrüche zu erhalten?

Tode:
Du musst ins PostSave- Event ausweichen, und dort nochmal ein doc.Save (NICHT uidoc.Save) hinterherschiessen nach Deinen Änderungen, weil eben im QuerySave das Richtextitem noch nicht die aktuellen Informationen enthält...

Alexander 28:
hi tode. aber genau das wollte ich eben nicht. naja trotzdem danke für deine mühe

jBubbleBoy:
mit Zeilenumbrüche, geht bei mir so:

--- Code: ---Sub Querysave(Source As Notesuidocument, Continue As Variant)
Msgbox source.document.GetFirstItem("Body").text
source.Document.txt = source.document.GetFirstItem("Body").text
End Sub
--- Ende Code ---

Alexander 28:
Klappt bei mir nur bei bereits bestehenden (also keinen neuen) Docs oder in TextItems (nicht RT Items).
Schade. Trotzdem Danke

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln