Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Bruce Willis am 13.02.09 - 19:41:55

Titel: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 13.02.09 - 19:41:55
Hallo,

ich möchte vor dem Speichern eines neuen Dokuments per Button überprüfen, ob ein bestimmtes RT-Feld nicht leer ist, und falls doch, dann das Speichern etc. abbrechen und eine Prompt-Meldung für den Benutzer ausgeben. Zumindest irgendein Text sollte im RT-Feld stehen.

Eine Validierung beim Speichern habe ich eingebaut:

Code
T1Failed :="Bitte einen Text ins RT-Feld eingeben";
@If(
@Length ( @Text(RT-Feld) )  < 3 ; T1Failed;
"")

Aber die beim Speichern ausgegebene Meldung ist nicht besonders benutzerfreundlich (z.B. kein Fenstertitel) und danach kommt noch eine Meldung vom System selbst.

Diese Validierung per Button auszuführen bringt leider nichts.

Hätte vielleicht jemand einen Vorschlag?

Oder gilt es immer noch, dass RT-Felder erst nach dem Speichern bekannt sind?

http://atnotes.de/index.php/topic,10458.0.html

Vielen Dank im Voraus.

Gruß
Leo


P.S.
Zitat
Notes 8.5 Designer Hilfe:
Achtung  Rich text fields are not part of a document until saved. If you want @Abstract to work on additions and changes to the current document, you must first save and then recalculate the document.
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 13.02.09 - 23:12:28
Definiere bei einem RTF "leer". "Irgendein Text" ist allerdings schon mal eine Ansage.

Mit Formel hast Du da keine Chance. Du hast insofern Recht, dass nur gespeicherter Richt Text auch auswertbar ist.

Der einfachste Weg ist hier - kurz beschrieben - folgender:
In ein persönliches (!) ProfileDocument überträgst Du den aktuellen Inhalt des RTI via Frontend (!) vom aktuellen Dokument. Dieses ProfileDocument muss dann gespeichert werden (was nichts schadet - das wird ja immer wieder recycelt ;-) Dort kannst Du es dann auswerten (NotesRichtTextItem.Text or whatever - da kannst Du auch auf Attachments, embedded objects, Bilder usw. testen)

Kurzfassung: Mit LotusScript geht was, mit @Functions - no way.

Bernhard
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 13.02.09 - 23:27:48
Hi Bernhard,

Du bist immer der erste, der sich meldet.
Danke!

"Irgendein Text" ist allerdings schon mal eine Ansage.

So ist es.  ;)

Der einfachste Weg ist hier - kurz beschrieben - folgender:
In ein persönliches (!) ProfileDocument überträgst Du den aktuellen Inhalt des RTI via Frontend (!) vom aktuellen Dokument. Dieses ProfileDocument muss dann gespeichert werden (was nichts schadet - das wird ja immer wieder recycelt ;-) Dort kannst Du es dann auswerten (NotesRichtTextItem.Text or whatever - da kannst Du auch auf Attachments, embedded objects, Bilder usw. testen)

Ein toller Trick, Danke!

Könntest Du bitte - so wie immer ;)  - ein paar Zeilen Code hier posten, damit ich am Wochenende ein paar Stunden freier Zeit mehr hätte?  :)

Gruß
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 13.02.09 - 23:39:30
Netter Versuch, Leo  ;) (altes Schlitzohr).

Irgendwann hattest Du ja schonmal meine Telefonnummer ergoogelt. Damit hast Du auch eine Adresse. Wenn dann dort ein Paket mit einer (1-Liter!)-Flasche echtem (also wirklich sauberem) Wodka eingeht (russisch oder ukrainisch - das wäre mir egal), dann kriegst Du den kompletten Code.

Bis dahin: Auf konkrete Fragen gibt es von mir auch immer konkrete Antworten  ;)
Fang einfach an, und wenn es hapert, sind wir bei Dir.

Bernhard
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 13.02.09 - 23:46:36
Alles klar, ein schönes Wochenende!

------------
P.S. Ein paar Bekannten von mir werden sich bald bei Dir zuhause melden... ;)

У нас длинные руки! (c)
 ;D
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 14.02.09 - 00:07:03
Na, wenn Ihr schon lange Arme habt, dann könnt Ihr ja auch die Schneeschieber bedienen. Dann schauen wir mal, was Ihr für Wodka dabei habt, und dann reden wir über die fertige Lösung  ;D

Bernhard

Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 17.02.09 - 20:12:45
Okay, alter Hase!  ;)
Ich hab Deine Idee anstatt LS mit der Formel-Sprache gelöst!

Vielleicht hilft die Lösung noch jemandem.

Dieser Script überprüft vor dem Speichern des Doks, ob das RT-Feld "Body" zumindest 4 Zeichen enthält:

@Command( [EditGotoField];"Body");
@Command( [EditSelectAll] ) ;
@Command( [EditCopy] ) ;
@Command( [EditProfileDocument];"RTFieldCheck");
@Command( [EditGotoField];"pBody");
@Command( [EditSelectAll] ) ;
@Command( [Clear] ) ;
@Command( [EditPaste] ) ;
@Command( [FileSave]) ;
@Command( [CloseWindow]) ;
tmp := @GetProfileField("RTFieldCheck";"Check");
@If (@Length (tmp) < 4 ; @Do (
@Prompt([Ok]; "Hallo" ; "Der Text ist zu kurz" ) ; @Return ("")
); "")

Zusätzlich habe ich ein Profildokument "RTFieldCheck" mit zwei Feldern erstellt:
1. RT-Feld "pBody"
2. Berechnetes Feld "Check" mit der Formel:
@Trim ( @Abstract ( [TextOnly] ; 7 ; "" ; "pBody") )

Und es läuft, läuft und läuft!!!   ;D

Gruß
Leo


P.S. Das einzige was mich wundert, warum auch die in "Body" evtl. eingefügten Bilder ins Profildokument nicht mitkopiert werden...
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 17.02.09 - 20:18:16
Hi Bernhard,

...In ein persönliches (!) ProfileDocument überträgst Du den aktuellen Inhalt des RTI via Frontend (!) vom aktuellen Dokument.

Warum sollte ein persönliches ProfileDocument benötigt werden?
Bei mir läuft's mit einem gemeinsamen.
Wo definiert man diese persönliche Eigenschaft?

Kurzfassung: Mit LotusScript geht was, mit @Functions - no way.

Kurzfassung:
Irren ist menschlich.  ;)

Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 17.02.09 - 22:31:24
Warum das mit dem gemeinsamen ProfileDocument Dir wenig Freude machen wird, wirst Du nach einiger Laufzeit schon noch ergründen, Leo  ;)

Du hast auch meine Frage "Was verstehst Du unter 'leer'" nicht beantwortet ... Dafür, dass Du nur auf vier Zeichen überprüfen willst, hättest Du gar nicht so ein Gedöns veranstalten müssen.
Die nächsten User, die ein ganzes Essay als Attachment zur Erläuterung in Dein RTF gehangen hat oder die, die sich sagen "Ein Bild sagt mehr als 1000 Worte", werden Dir wegen Deiner "Fehler"meldung sehr dankbar sein  ;D

Vielleicht haben die dann auch длинные руки  ;D

Bernhard (durchaus amüsiert)
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 17.02.09 - 22:57:25
Warum das mit dem gemeinsamen ProfileDocument Dir wenig Freude machen wird, wirst Du nach einiger Laufzeit schon noch ergründen

Schon möglich.
Kannst Du deine Aussage begründen?


Du hast auch meine Frage "Was verstehst Du unter 'leer'" nicht beantwortet

Doch, das hatte ich.
Verwendest Du noch keine Brille?
Ich schon. :)


Dafür, dass Du nur auf vier Zeichen überprüfen willst, hättest Du gar nicht so ein Gedöns veranstalten müssen.

Auch schon möglich.
Kannst Du deine super tolle Version auch zeigen?


Die nächsten User, die ein ganzes Essay als Attachment zur Erläuterung in Dein RTF gehangen hat oder die, die sich sagen "Ein Bild sagt mehr als 1000 Worte", werden Dir wegen Deiner "Fehler"meldung sehr dankbar sein  ;D

Warum das denn?
Mein Script funktioniert auch mit Screenshots etc.

Bernhard (durchaus amüsiert)

Weswegen denn?
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 17.02.09 - 23:11:51
Kannst Du deine Aussage begründen?

Kannst Du verstehen, dass ich dazu schlicht keine Lust mehr habe?

Bernhard

PS: Überarbeite mal Deine Website - bevor der Rechtsanwalt eines Abmahngeilen dafür sorgt oder Dich zumindest wochenlang beschäftigt.
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: pram am 17.02.09 - 23:37:43
Der einfachste Weg ist hier - kurz beschrieben - folgender:
In ein persönliches (!) ProfileDocument überträgst Du den aktuellen Inhalt des RTI via Frontend (!) vom aktuellen Dokument. Dieses ProfileDocument muss dann gespeichert werden (was nichts schadet - das wird ja immer wieder recycelt ;-) Dort kannst Du es dann auswerten (NotesRichtTextItem.Text or whatever - da kannst Du auch auf Attachments, embedded objects, Bilder usw. testen)
So kompliziert muss man es meiner Meinung nach nicht machen.
im QuerySave müsste es folgender code "tun"
Code
call Source.refresh(true) ' holt den Richtext ins Backend
if Source.document.body.values = "" then ' leer im Sinne von "kein Text"
  continue = false
  msgbox "Bitte füllen Sie das Feld aus"
end if

Gruß
Roland
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 17.02.09 - 23:44:43
Kannst Du verstehen, dass ich dazu schlicht keine Lust mehr habe?


Jetzt schon.

Früher habe ich aber gedacht, dass Du deine Worte ernst meinst - wie die z.B. von 13.02.09 - 23:39:30 hier - "Auf konkrete Fragen gibt es von mir auch immer konkrete Antworten"



Überarbeite mal Deine Website - bevor der Rechtsanwalt eines Abmahngeilen dafür sorgt oder Dich zumindest wochenlang beschäftigt.


Noch eine leere Deklaration ohne jegliche Begründung.
Wirklich super.

Gute Nacht.
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 17.02.09 - 23:55:48
Hallo Roland,

Danke für Deinen Vorschlag!

So kompliziert muss man es meiner Meinung nach nicht machen.
im QuerySave müsste es folgender code "tun"
 
call Source.refresh(true) ' holt den Richtext ins Backend
if Source.document.body.values = "" then ' leer im Sinne von "kein Text"
  continue = false
  msgbox "Bitte füllen Sie das Feld aus"
end if
 


Wie kann diese Aktion aussehen, um sie mit einem Button zu starten?

Gruß
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 18.02.09 - 00:17:56
So kompliziert muss man es meiner Meinung nach nicht machen.
im QuerySave müsste es folgender code "tun"
call Source.refresh(true) ' holt den Richtext ins Backend
if Source.document.body.values = "" then ' leer im Sinne von "kein Text"
  continue = false
  msgbox "Bitte füllen Sie das Feld aus"
end if

Roland, das tut es bekanntermassen nicht (zuverlässig). Ausserdem bist Du da wieder nur bei Text als zu überprüfender "Masse".

Bernhard
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 18.02.09 - 00:24:43
Zu Deiner Website:
Noch eine leere Deklaration ohne jegliche Begründung.
Wirklich super
Soll ich da jetzt die Adresse angeben und ansagen, was fehlt (worauf einige Abmahner so scharf sind)? Wirklich? Ich bin nicht fies.

Was Deine anderen Anwürfe angeht: Lies mal Deine letzten Threads durch. Es lief zum Schluss immer auf "zeig doch mal Deinen Code" hinaus. Das war mal ein netter Versuch, ist jetzt aber nur noch öde.

Ich habe jetzt wirklich schlicht keine Lust mehr, auf sowas zu antworten.

Bernhard

PS: Ein "Nobody is perfect but I am pretty close" traue ich mir nicht zu ...
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: pram am 18.02.09 - 08:35:07
So kompliziert muss man es meiner Meinung nach nicht machen.
im QuerySave müsste es folgender code "tun"
call Source.refresh(true) ' holt den Richtext ins Backend
if Source.document.body.values = "" then ' leer im Sinne von "kein Text"
  continue = false
  msgbox "Bitte füllen Sie das Feld aus"
end if

Roland, das tut es bekanntermassen nicht (zuverlässig). Ausserdem bist Du da wieder nur bei Text als zu überprüfender "Masse".

Bernhard

Hallo Bernhard,

kannst du mir sagen mit welchen Problemen ich zu rechnen habe. Wir verwenden dies nämlich häufig, um zu protokollieren, welche Änderungen der User am Dokument vorgenommen hat. Bis jetzt konnten wir hier noch keine Probleme feststellen (Was aber nichts heißen muss)
Allerdings beschränken wir uns auch auf das Auslesen von Text

@leo Du musst dir ein neues UIWorkspace-Objekt anlegen (dim ws as new NotesUiWorkspace) und dann kannst mit ws.CurrentDoument auf das aktuelle UIdoc zugreifen

Gruß
Roland
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 18.02.09 - 09:23:33
Soll ich da jetzt die Adresse angeben und ansagen, was fehlt (worauf einige Abmahner so scharf sind)? Wirklich?


An dieser Frage kann jeder erkennen, dass du nicht so klever bist, wie man es erst annimmt.

Lies mal Deine letzten Threads durch. Es lief zum Schluss immer auf zeig doch mal Deinen Code" hinaus.


Ich dachte, sogar du wusstest, dass es bei einer Diskussion blöd ist, das Wort "immer" zu verwenden.

Was diesen konkreten Fall betrifft, hatte ich hier für alle Interessierten meine funktionierende Lösung abgelegt, die du ohne jegliche Begründung stumpfsinnig kritisiert hast.

Aber wenn du nicht fähig bist, deine Vorwürfe zu erklären, wäre es nur ehrlich, deine eigene "perfekte" Lösung zu zeigen. Schade, dass du solche Begriffe anders siehst.

Ich habe jetzt wirklich schlicht keine Lust mehr, auf sowas zu antworten.


Du wiederholst dich ständig. Es ist wirklich langweilig.
Ich érwarte von dir überhaupt keine Antworten mehr.

Ein "Nobody is perfect but I am pretty close" traue ich mir nicht zu ...


Da du keinen Sinn für Humor hast, lebst du wirklich öde.
Schade um dich.
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 18.02.09 - 09:25:35

@leo ...


Danke, Roland.

Gruß
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Demian am 18.02.09 - 11:07:48
Achtung OT:

Könnt ihr das nicht per PM klären? Sowas hat IMHO in der Öffentlichkeit nichts zu suchen.

OT Ende

Gruß
Demian
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Milamber am 18.02.09 - 16:17:55
So kompliziert muss man es meiner Meinung nach nicht machen.
im QuerySave müsste es folgender code "tun"
call Source.refresh(true) ' holt den Richtext ins Backend
if Source.document.body.values = "" then ' leer im Sinne von "kein Text"
  continue = false
  msgbox "Bitte füllen Sie das Feld aus"
end if

Roland, das tut es bekanntermassen nicht (zuverlässig). Ausserdem bist Du da wieder nur bei Text als zu überprüfender "Masse".

Bernhard

Wüßte auch gerne unter welchen Umständen es nicht funktionieren könnte. Benutze das des öfteren auch.
Danke
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: TRO am 18.02.09 - 20:03:44
Weil bei Source.Refresh(True) zwar auch das RTF ins BackEnd gepusht wird, aber alle Aktionen auf RichTextItems laufen quasi asynchron. Erst wenn man rtitem.Update auf alle RTItems ausgeführt hat, kann man sicher sein, dass auch wirklich alle "pending operations on RichTextItems" ausgeführt sind.


Thomas
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: pram am 19.02.09 - 08:50:58
Hmm, deine Argumentation klingt zwar logisch, dennoch konnten wir noch keine annormalitäten feststellen. (oder es ist niemand aufgefallen)

Bringt es denn etwas, wenn ich rtitem.update aufrufe (das geschieht ja eigentlich im Backend)

Was wäre denn z.B. eine asynchrone Aktion, bei der Probleme zu erwarten sind?
Es geht um den konkreten Fall, dass im querySave "uidoc.refresh(true)" aufgerufen wird, damit ich im Backend GENAU das RTitem habe, welches anschließend auf der Platte landet.

Gruß
Roland
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: DAU-in am 19.02.09 - 10:18:50
Hmm, deine Argumentation klingt zwar logisch, dennoch konnten wir noch keine annormalitäten feststellen. (oder es ist niemand aufgefallen)

Das kommt manchmal unverhofft.  Mein Kollege hat einmal einen Agenten geschrieben, der Richtextfelder manipuliert hat.
Er hat ihn auch getestet.
Im Ernstfall ging es dann die ersten 11000 Dokumente gut, bei den letzten 5000 fehlten dann alle Attachments. Und aufgefallen ist es nicht sofort, sondern nebenbei, als jemand alte Daten brauchte.

Grüsse

Dau-in

Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: TRO am 19.02.09 - 10:27:42
Hmm, deine Argumentation klingt zwar logisch, dennoch konnten wir noch keine annormalitäten feststellen. (oder es ist niemand aufgefallen)

Bringt es denn etwas, wenn ich rtitem.update aufrufe (das geschieht ja eigentlich im Backend)
Ich hatte manchmal Probleme mit Attachments, die zwar als Icon im wieder im FrontEnd geöffneten Dokument eingebettet waren, aber kein wirklicher Anhang waren.
Nach rtitem.Update traten diese Probs nicht mehr auf ... mag aber auch Versionsabhängig sein.


Was wäre denn z.B. eine asynchrone Aktion, bei der Probleme zu erwarten sind?
Es geht um den konkreten Fall, dass im querySave "uidoc.refresh(true)" aufgerufen wird, damit ich im Backend GENAU das RTitem habe, welches anschließend auf der Platte landet.

Gruß
Roland
Keine Ahnung, was der NotesClient da so alles im Hintergrund/asynchron veranstaltet, um aus dem im FrontEnd gerenderten RichTextFeld dann den CD-Record für das RichTextItem zusammenzubasteln. Das sind jedenfalls keine von außen zu beeinflussenden Sachen.

Thomas
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: LN4ever am 23.02.09 - 11:46:34
Erst im POSTSAVE-Event bist du wirklich sicher, wenngleich auch ein RTITEM.UPDATE bereits das Meiste abfragbar macht.



Ein Funktion wie die Folgende kann dann helfen:
Kurzversion:
Function IsRTitemEmpty( rtItem As NotesRichTextItem ) As Integer

Dim lEmptyFieldLength As Long
lEmptyFieldLength = 162 ' <<-------- set for your specific rt field!!!!!!

Dim rtnav As NotesRichTextNavigator
Dim elemType(1 To 8) As Long
Dim i As Integer

'---- any text?
If Trim$( rtItem.Text ) <> "" Then
IsRTitemEmpty = False
Exit Function
End If

'--- any detectible elements?
Set rtnav = rtItem.CreateNavigator
elemType(1) = RTELEM_TYPE_DOCLINK
elemType(2) = RTELEM_TYPE_FILEATTACHMENT
elemType(3) = RTELEM_TYPE_OLE
elemType(4) = RTELEM_TYPE_SECTION
elemType(5) = RTELEM_TYPE_TABLE
elemType(6) = RTELEM_TYPE_TABLECELL
elemType(7) = RTELEM_TYPE_TEXTPARAGRAPH
elemType(8) = RTELEM_TYPE_TEXTRUN
For i = 1 To 8 Step 1
If rtnav.FindFirstElement( elemType(i)) Then
IsRTitemEmpty = False
Exit Function
End If
Next

'-- rt field longer than normal?
If rtItem.ValueLength > lEmptyFieldLength Then
IsRTitemEmpty = False
Exit Function
End If

IsRTitemEmpty = True

End Function


Langversion:
Function IsRTEmpty(UIDoc As NotesUIDocument, RTName As String)
   Dim Doc As NotesDocument
   Dim RTItem As NotesRichTextItem
   IsRTEmpty = True
   Set doc = uidoc.Document
   
   'Push RichText Field Changes to Back End
   Call uidoc.Refresh(True)
   
   Set RTItem = Doc.GetFirstItem(RTName)
   
   'Check For the presence of Text. If Found Exit Validation and display the text contents.
   Dim Text As String
   Text = RTItem.GetUnformattedText
   
   
   'Now Remove Spaces, Tabs, NewLines from the text and
   'check if there is any text remaining. If Yes, then it means
   'that the field has passed the validation check. Otherwise
   'be sure that there is no text present in the field, and check 
   'for the other possible contents i.e. Attachments etc...
   Dim NonWhiteText As Variant
   Dim Fr As String
   Fr={@replacesubstring("}+Text+{";@Char(9):@Char(10):@Char(13):@Char(32) ;"")}
   NonWhiteText = Evaluate(Fr)
   
   If NonWhiteText(0) <> "" Then
      'Means there are some Non White Space characters present in the field.
      IsRTEmpty = False
      Exit Function
   End If
   
   Dim Nav As NotesRichTextNavigator
   Set Nav = RTItem.CreateNavigator
   'Check for the presence of table
   If Nav.FindFirstElement(RTELEM_TYPE_TABLE ) Then
      IsRTEmpty = False
      Exit Function
   End If
   'Check for the presence of Doc Link/Db Link
   If Nav.FindFirstElement(RTELEM_TYPE_DOCLINK ) Then
      IsRTEmpty = False
      Exit Function
   End If
   'Check for the presence of File Attachment
   If Nav.FindFirstElement(RTELEM_TYPE_FILEATTACHMENT) Then
      IsRTEmpty = False
      Exit Function
   End If
   'Check for the presence of OLE Object
   If Nav.FindFirstElement(RTELEM_TYPE_OLE ) Then
      IsRTEmpty = False
      Exit Function
   End If
   'Check for the presence of Section
   If Nav.FindFirstElement(RTELEM_TYPE_SECTION ) Then
      IsRTEmpty = False
      Exit Function
   End If
   
   'Check For Pasted Images & Buttons
   Dim DXLExp As NotesDXLExporter
   Dim Parser As NotesDOMParser
   Dim MainNode As NotesDOMDocumentNode   
   Dim RTItems  As notesDOMNodeList
   Dim RTNode As NotesDOMElementNode
   Dim RTItemNode As NotesDOMElementNode
   Dim PictureList As NotesDOMNodeList
   Dim ButtonList As NotesDOMNodeList
   
   Dim j As Integer
   'Initialise Parser
   Set Parser=session.CreateDOMParser
   Set DXLExp = Session.CreateDXLExporter(Doc,Parser)
   DXLExp.Process
   
   Set MainNode = Parser.Document
   ' Get all Rich Text Fields
   Set RTItems = MainNode.GetElementsByTagName( "richtext" )
   
   For j = 1 To RTItems.NumberOfEntries
      Set  RTNode = RTItems.GetItem( j )
      Set RTItemNode = RTNode.ParentNode
      If Lcase(RTItemNode.GetAttribute("name")) = Lcase(RTName) Then
         'Search For Picture Node
         Set PictureList = RTItemNode.GetElementsByTagName("picture")
         If PictureList.NumberOfEntries > 0 Then
            IsRTEmpty = False
            Exit Function
         End If
         ‘Search for Buttons
         Set ButtonList = RTItemNode.GetElementsByTagName("button")
         If ButtonList.NumberOfEntries > 0 Then
            IsRTEmpty = False
            Exit Function
         End If
      End If
   Next
      
End Function

Gruß

Norbert
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: samWare am 23.02.09 - 17:00:51
@Bernhard und Leo: Muss das sein dass Ihr euch hier so "battelt"  ???  lieber ->  :knuddel: oder  :love:

nur @Leo: Du hast bestimmt kein Impressum oder?! Muss man doch glaubich haben wenn man Besitzer einer eigenen HP ist :) (ps: ich hab jetzt nicht nachgesehen, also sry wenn du eins hast)
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: guesswho am 23.02.09 - 18:15:57
@samware: Impressumspflicht gilt in DuggschDi-Land (bislang...) nur für gewerbliche Sites, ob Leo eine solche betreibt  ???

Jo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: koehlerbv am 23.02.09 - 18:36:21
Ich denke, wir debattieren hier nicht die entsprechende deutsche Gesetzeslage oder auch nur möglichen Ärger, den man sich einhandeln kann.

@Sam: Leo und ich haben hier etwas überhitzig diskutiert. Nicht mehr und nicht weniger. Du wirst uns hier schon wieder im flachsenden Gleichklang erleben. Stimmts, Leo?

Bernhard
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 23.02.09 - 19:47:05
Hallo Norbert,

Erst im POSTSAVE-Event ...


Vielen Dank für Deine ausführliche Antwort mit den Beispielen!

Schade, dass ich Deine Vorschläge in meinem Fall nicht verwenden kann, da die Überprüfung vor dem Speichern per Button erfolgen muss.

Gruß
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 23.02.09 - 19:50:46
Hallo samWare und guesswho,

Danke für das freundliche Feedback!

Gruß
Leo
Titel: Re: Überprüfung ob das RT-Feld nicht leer ist.
Beitrag von: Bruce Willis am 23.02.09 - 20:13:15
@Sam: Leo und ich haben hier etwas überhitzig diskutiert.


Leider. :(


Du wirst uns hier schon wieder im flachsenden Gleichklang erleben. Stimmts, Leo?

So ist es, Bernhard.  ;)

Gruß
Leo