Autor Thema: Richtext-Feld - Suchen und Ersetzen / Entfernen von Formatierungen  (Gelesen 5806 mal)

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
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.
Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
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 ;-)
Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
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
Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Vielleicht mittels dxl-Export und -Import?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
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.

Offline mastertom

  • Senior Mitglied
  • ****
  • Beiträge: 350
  • Geschlecht: Männlich
  • Yet another Domino-Day!
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?
Gruß

Tom

-----------------------------------------------------

Einen Haufen User, die einem von der Arbeit abhalten wollen :)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz