Domino 9 und frühere Versionen > Entwicklung

Zeilenweise Text aus RT Feld auslesen

(1/2) > >>

AC:
Frage an die Profis
Ich hab in Dokumenten Richtextfelder in denen nur Text (mit Zeilenumbruch) enthalten ist.

Ich will nun den Text zeilenweise aus dem RTFeld auslesen.
( Nur am UI durch Benutzeraktion, kein Serverprozess)

Via rtitem mittels getformattedtext hole ich mir nun den Textinhalt des bodyfelds in eine Variable.

Wie verfahre ich danach am besten weiter ?

Ich denke mir, es ist am besten ich erstelle ein Textdatei, lade da den ganzen Inhalt des
RT felds rein , schliesse die Textdatei und kann dann ja wieder zeilenweise mir den Inhalt aus dieser
Textdatei dann wieder auslesen. Dann habe ich ja meine einzelnen Zeilen.
(in der Textdatei stehts mit Zeilenumbruch drin, habe ich schon ausprobiert)


Erscheint mir jetzt die einfachste Methode.

Andere Möglichkeit wäre über EOL Zeichensuche in dieser Variable zu verfahren, aber irgendwie
sagt mir das nicht so zu. (Ginge wahrscheinlich mit left und der Angabe des Zeichens , aber ich müsste
ja da zwei verschiedene EOL Zeichenwerte kombiniert abprüfen - Chr$ (10) und Chr$ (13) ).


Textdatei - Methode ok oder gibts was besseres?
(etwaige 64kb Grenzen sollten keine Rolle spielen, da der inhalt des bodyfelds nicht so groß sein dürfte)

Muß das ganze noch auf Performance checken, weil es auch mal mehrere Dokumente sein können, die ich auslese.

Notesclients habe ich hier nur auf Windowsebene.
Für den Dateinamen würde ich etwas eindeutiges wählen.
Ich würde immer in die gleiche Datei neu schreiben, dadurch könnte ich die stehen lassen und bräuchte sie nicht zu löschen.
Die Textdatei wäre dann im Lotus-Dataverzeichnis meiner Kollegen, ich denke nicht, dass die da schadet.


Oder würde das jemand anders machen?

Danke für die Tips.Holcomb

koehlerbv:
Von der Performance her ist das Schreiben / Lesen von Textfiles sicher die schlechteste Variante. Evtl. bekommst Du bei dem einen oder anderen sogar noch Rechteprobleme, oder das Verzeichnis gibt es nicht oder ...
Ich würde mir eine Function schreiben, die (notfalls sogar byteweise) auf 0A / 0D sucht, beachtet, dass eine Kombination 0A0D oder 0D0A EIN CR ist usw.
Bei den heutigen Prozessoren bekommst Du da erst ab etlichen Dokumenten überhaupt etwas mit, viel langsamer ist dagegen zum Beispiel das Laden der Docs (wenn es mehrere sind).

HTH,
Bernhard

Semeaphoros:
Du hast ja unformatierten Text. Warum holst Du Dir dann den formatierten Text? Nimm doch RTitem.text oder .abstract oder über notesdocument.getitemvalue, das liefert Dir reines ASCII zurück und da kannst Du dann weiterarbeiten

AC:

--- Zitat von: Semeaphoros am 28.09.04 - 16:50:14 ---Du hast ja unformatierten Text. Warum holst Du Dir dann den formatierten Text? Nimm doch RTitem.text oder .abstract oder über notesdocument.getitemvalue, das liefert Dir reines ASCII zurück und da kannst Du dann weiterarbeiten

--- Ende Zitat ---

Hallo Semea, danke für den Hinweis, werde ich machen, kam ich so jetzt nicht drauf.
<scheuklappen off>

Gruß, Holcomb.

koehlerbv:
Sorry, Holcomp - habe Deine Frage falsch verstanden. Ich dachte, Du wolltest das dann in einzelne Strings oder ein Array haben.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln