Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: mastertom am 12.11.10 - 11:12:29

Titel: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: mastertom am 12.11.10 - 11:12:29
Hallo Entwickler-Gemeinde,

ich habe eine Herausforderungen, die es zu lösen gilt.

Mein Kollege hat folgendes Problem:

In einem Richtext-Feld sind Inhalte, die automatisiert gefunden und geändert werden müssen.

Gesucht wird: ein > oder < - Zeichen, dass unterstrichen wurde

Ziel des Kunden war, ein "Größergleich" oder "Kleinergleich" zu erzeugen. Also hat er ein > einfach unterstrichen :-)

Problem: Der Text wird exportiert, hierbei geht die Formatierung verloren!
Angedachte Abhilfe: Ersetzen des unterstrichenen Zeichens durch <= / >=

Frage: Wie kann ich in einem Richtextfeld dieses formatierte Zeichen finden und ersetzen?

Lotus Script? @Functions/Formeln? Java?


Ich bin gespannt über die Lösungsansätze.
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: mastertom am 12.11.10 - 19:29:36
hmmm...

ist die Anfrage jetzt zu trivial, gibt es keine Lösung oder hab ich mich nur unklar ausgedrückt....

Immerhin gab es einige Hits ;-)
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: Axel am 12.11.10 - 19:39:33
Schau mal hier:

http://atnotes.de/index.php/topic,42600.0.html (http://atnotes.de/index.php/topic,42600.0.html)
http://atnotes.de/index.php/topic,15979.0.html (http://atnotes.de/index.php/topic,15979.0.html)

Vielleicht bringt dich das weiter.

Axel
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: mastertom am 12.11.10 - 20:18:47
Hi Axel,

erst mal danke für die Links...

ich glaube, das größte Problem ist, das unterstrichene > zu finden... (also von einem nicht unterstrichenen zu unterscheiden....).. hier hakt es massiv!

Idee?

Grüße

Tom
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: Peter Klett am 12.11.10 - 21:02:12
Vielleicht mittels dxl-Export und -Import?
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: koehlerbv am 12.11.10 - 22:17:51
Es sollte über doie NotesRichText-Classes machbar sein, aber das würde (meines Erachtens) eine elendige Wühlerei durch TextRanges und Styles.

Ich würde das über Peters Vorschlag machen - allerdings braucht es dafür keinen Import mehr: Wenn man im DXL den Text-Kontext gefunden hat, dann kann man wiederum ein FindAndReplace anwenden (das underlined bleibt dann erhalten).

Bernhard
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: Peter Klett am 13.11.10 - 07:34:15
Ohne Import wird es dann aber spannend, wenn sowohl ">" als auch ">" in einem Text verwendet wurde. Wenn man erkennt, dass ein unterstrichenes > vorhanden ist, darf man natürlich nicht alle ">" durch ">=" ersetzen.
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: mastertom am 13.11.10 - 09:39:01
Der DXL-Export trifft eindeutig genau mit diesem Problem zusammen!

Der Knackpunkt ist, dass mit dem DLX-Export die Text-Formatierung verschwindet und somit ein unterstrichenes > (also ein >) nicht vom normalen > unterschieden werden kann.

Oder haben wir hier nur die falsche Art des Exportes verwendet?
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: pram am 13.11.10 - 14:00:07
Der DXL-Export exportiert den Richtext mit allen Formatierungsinformationen in einen (HTML-ähnlichen) XML-Stream

Ein unterstrichenes < würde in HTML z.B. so aussehen: <u>&lt;</u> (In einem RTF-DXL siehts wohl so ähnlich aus, ggf wird da ein Style referenziert)

du könntest dann im DXL alle "<u>&lt;</u>" durch "&lt;=" ersetzen und wieder importieren oder eben den Kontext vor und hinter dem Zeichen ansehen und ein FindAndReplace auf dem RT-Feld durchführen.

Um wieviel Dokumente handelt es sich denn da? Wenns nur wenige sind könnte man auch einen simplen Exporter schreiben, der die RT-Felder durchsucht und nur die Dokumente moniert, bei denen er solche Zeichen findet.
Ggf. kannst dir den Exporter dann ganz sparen in dem du das Feld über den HTTP-Task öffnest:
http://server/datenbank.nsf/0/[docUNID]/Body?OpenField
und dann den HTML-Quelltext nach "<u>&lt;</u>" durchsuchst.


Gruß
Roland
Titel: Re: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen
Beitrag von: koehlerbv am 13.11.10 - 17:09:44
Ohne Import wird es dann aber spannend, wenn sowohl ">" als auch ">" in einem Text verwendet wurde. Wenn man erkennt, dass ein unterstrichenes > vorhanden ist, darf man natürlich nicht alle ">" durch ">=" ersetzen.

Peter, deswegen schrieb ich ja auch vom Kontext, in dem das "<" steht - man parst also soweit herunter, dass man auch noch die Zeichen ringsherum zur Verfügung hat. Auf das reine "<" kann man natürlich nicht gehen.

Hilsen til Norge,
Bernhard