Domino 9 und frühere Versionen > ND8: Entwicklung

Lotusscript:NotesItem

(1/3) > >>

developperFLY:

Hallo zusammen, wie kann ich prüfen ob ein Item (Richtextfeld) leer ist.
Also es ist vorhanden, aber es hat keinen Inhalt (kein Bild).

ascabg:
Hallo,

Schon mal geshaut, ob in der Klasse "NotesRichTextItem" etwas brauchbares dabei ist?


Andreas

pram:
das ist gar nicht so einfach.

Du kannst zum einen NotesRichTextItem.getUnformattedText prüfen, ob ein leerer Wert zurück kommt. Dann kann aber immer noch ein Attachment / Bild o.ä. enthalten sein.

Ob ein Attachment/Bild enthalten ist kannst du evtl durch Abfrage von NotesRichTextItem.valueLength fest stellen. Da dieser Wert dann (meistens) > 200 ist.

Wenn du's absolut zuverlässig machen willst, hilft meiner Meinung nur der Weg über DXL oder die C-API.

Gruß
Roland

developperFLY:
Besten Dank. Ja das Problem hört sich recht simpel an, aber es hat es in sich. :D

Ja ich habe nun Versuche mit ValueLength gemacht, anscheinend, wenn das RichTextFeld leer ist, hat es einen ValueLength von 110 (Long).

Ich glaube das kann ich so lösen. Besten Dank!

eknori:

--- Zitat ---ob ein Item (Richtextfeld) leer ist.
--- Ende Zitat ---
RT ist niemals leer.
Valuelength ist eine option. Ein "leeres" RTItem hat normalerweise eine Länge von 104 Byte
Setzt sich zusammen aus
02 Byte für den RT Typ
90 Byte für die PabDefinition
04 Byte für die PabReference   
08 Byte für den ersten CDTEXT record

Aus der C++ API Help

--- Zitat ---A rich text item is considered empty if it contains only empty plain text and font and paragraph style information. Note that an empty rich text item does not have zero length, nor does it necessarily even have a fixed length. The simplest case of valid empty rich text consists internally of a CDPABREFERENCE followed by a CDTEXT, but empty rich text may also contain paragraph styles stored in records such as CDPABDEFINITION, CDSTYLENAME, and CDPABHIDE
--- Ende Zitat ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln