+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

RTF-Texte "ohne Inhalt"


(Guest) #1

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?


(Guest) #2

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


(Guest) #3

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