RTF-Texte "ohne Inhalt"

Ich muss in einer Tabelle eine Zeilendefinition (mittels Darstellungsbedingung) unterdrücken, die ein RTF-Textfeld enthält, wenn das Feld keinen druckbaren Text enthält. Ich verwende als Datenquelle ein Memofeld einer Datenbank, das zwar u.U. keinen druckbaren Text, aber trotzdem RTF-Code für Schriftart, Zeichensatz etc. enthalten kann.

z.B. {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20\par
}

Mit if(RTrim$(Tabelle_Memo)="",False,True) als Darstellungsbedingung bekomme ich in o.a. Fall natürlich immer eine Ausgabe der Zeile, da der Text nicht “leer” ist. Gibt es in L&L irgendeine Möglichkeit, festzustellen, ob das RTF-Textfeld druckbare Zeichen enthält?

Hi,

wenn der RTF Code immer der gleiche ist, sollte er leer sein, dann würde ich gegenüber dem Code in der Darstellungsbedingung abprüfen, ansonsten sehe ich da keine Chance, außer du sorgst im Programm selber dafür, dass sich das Memo leert, wenn nix eingegeben ist.

Gruß,
Lars

Du kannst den Klartext bzw. das Wissen, ob der Text leer ist, über die LL-RTF-API bekommen…

HLLREFOBJ hObj = LlRTFCreateObject(hJob)
LlRTFSetText(hJob,hObj,…);
bool bEmpty = LLRTFGetTextLength(hJob,hObj,LL_RTFTEXTMODE_PLAIN) == 0;
LlRTFDeleteObject(hJob,hObj)

Aber in LL selbst geht das nicht, es sei denn, Du machst o.a. Code in .NET als Benutzer-Funktion…

Paulchen