Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet 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.
-
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 ;-)
-
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
-
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
-
Vielleicht mittels dxl-Export und -Import?
-
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
-
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.
-
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?
-
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><</u> (In einem RTF-DXL siehts wohl so ähnlich aus, ggf wird da ein Style referenziert)
du könntest dann im DXL alle "<u><</u>" durch "<=" 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><</u>" durchsuchst.
Gruß
Roland
-
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