Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: OlTu am 29.04.08 - 10:48:01

Titel: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 10:48:01
Hallo,

in meinem letzten Posting ging es um die Problematik beim Umwandeln der OLE Objekte in Attachments. Das Tool macht das auch fleißig, aber nur dann, wenn es nur ein einziges Body Feld gibt.
Enthält ein Dokument viele Daten (Attachments, OLE..), werden aus einem Body mehrere Body-Felder erzeugt, die sich durch die "Seq Num" unterscheiden, was dazu führt, dass sich der RichTextNavigator verläuft und den Text (s. unten) falsch positioniert.
Gibt es eine Möglichkeit, den Inhalt eines Body Feldes zu splitten und in Body1, Body2... zu schreiben?

...
Set rtnav = body.CreateNavigator
If rtnav.FindFirstElement(RTELEM_TYPE_OLE) Then
   Call body.BeginInsert( rtnav, False )
   Call body.AppendText("%OLE%")
   Call body.EndInsert      
End If
...
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 10:51:45
Weitere Fragen:
wie kann man mit Script die Anzahl der Body Felder berechnen?
Kann man auf die einzelnen Sequenzen zugreifen?
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: koehlerbv am 29.04.08 - 10:56:38
Vorab: Das sind keine Felder, sondern Items - und das ist etwas ganz anderes.

Die Aufteilung des Inhaltes eines RT-Feldes in mehrere Items geschieht speicherorientiert und hat mit dem Inhalt nichts zu tun. Im Endeffekt hast Du es bei diesen "Häppchen" mit einem Datensalat zu tun, der Dir herzlich wenig nutzen wird, insbesondere, wenn Du daran denkst, dass dann in mehrere Items mit jeweils unterschiedlichem Namen zu packen.

Soweit ich das sehe, kommst Du hier nur mit der API weiter - aber dann musst Du extrem weit da drin stecken und kannst Dich mit Ben Langhinrichs oder Normunds Kalnberzins messen.

Bernhard
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 11:02:37
Das klingt aber gar nicht beruhigend.
Dann lerne ich mal schnell API   ;)
Danke dir.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 11:16:04
Ist es vielleicht auch mit JAVA möglich oder mit JAVA sauber funktioniert?
es = OLE finden und Platzhalter davor schreiben im Dokument mit mehreren Body items
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: diali am 29.04.08 - 11:25:01
Du könntest versuchen eine Schleife über NotesDocuments.Items zu machen. Damit kommst Du schon mal an alle Body-Felder heran und zwar in der Reihenfolge, wie diese erstellt wurden.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 11:31:51
Nein, das geht definitiv nicht. Für Script ist es immer noch ein Item. Habe da auch schon einiges ausprobiert.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: koehlerbv am 29.04.08 - 11:41:46
Mit einem Trick geht so eine "Schleife" schon - nur: Das Ergebnis wird Dir nichts nützen - siehe oben.

Und wegen Java: Die Sprache ist doch egal - Du arbeitest ja mit der selben Klassenbibliothek. Was sollte da also mit Java anderes herauskommen?

Bernhard
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: diali am 29.04.08 - 11:42:47
also wenn Du in der Eigenschaftbox mehrere Items mit dem Namen Body sehen kannst, dann bekommst Du mit NotesDocuments.Items auch mehrere Items mit dem Namen Body.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 29.04.08 - 11:47:27
diali: das dachte ich auch, aber es ist nicht so. Im Debugger siehst du nur ein einziges Body Item, und zwar das Erste. Versuchts du was damit zu machen, z.b. kopieren oder umbenennen werden automatisch alle anderen kopiert oder umbenannt.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: koehlerbv am 02.05.08 - 17:24:00
Vielleicht können wir hier wieder zum eigentlichen Thema zurückkommen. Und das heisst: Der Zugriff auf die einzelnen Parts eines RTIs nützt Dir nichts - wozu also das Ganze?

Bernhard
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 05.05.08 - 09:25:28
Ja, Recht hast du.
Habe das Problem inzwischen über den DXL Exporter/Importer gelöst: Dokument exportiert, Platzhalter vor jedem OLE Objekt gesetzt und wieder importiert. Hat wunderbar funktioniert.
Werde noch mit MIDAS testen und hier posten.
Titel: Re: Zugriff auf alle RichTextItem Felder mit demselben Namen?
Beitrag von: OlTu am 07.05.08 - 13:14:37
Also, der letzte Status: mit MIDAS ist das Umwandeln der OLE Objekte in Attachments nicht möglich, auch das Platzieren von Platzhaltern vor oder nach OLE ist nicht möglich.
Habe über die DXL Schnittstelle das erfolgreich umgesetzt.