Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Silvio am 30.01.03 - 14:56:05

Titel: festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: Silvio am 30.01.03 - 14:56:05
Hallo Notes'ler

Gibt es eine zuverlässige möglichkeit festzustellen ob der Inhalt eines RTF-Feldes ein [eingefügtes Bild] ist. Da es nicht als Anhang, sondern über die Windows Zwischenablage eingefügt worden ist gibt es kein $FILE-Feld.

Zur Zeit suche ich eine Lösung als @Formel die in Hide-When eingesetzt werden  kann.

Danke für Vorschläge
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: Performance am 30.01.03 - 15:22:49
hide-when und rtf ist nicht ratsam

- ich habe au paint ein jpeg mit copy&paste in ein rtf reinkopiert - es erscheint ein $File ..... täte mich auch wundern wenn nicht

- zuverlässig ist nur die skript methode embedded object um das bild zu bekommen.

cu
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: Silvio am 30.01.03 - 16:23:58
Sorry habe mich nicht klar ausgedrückt.

Also, ich möchte nur festellen ob ein solcher Inhalt vorhanden ist und nicht das RTF-Feld selbst verstecken etc.

Ich habe mich nochmals des copy & paste angenommen und tatsächlich, bei mir entsteht KEIN $FILE-Feld, nur das RTF-Feld legt mit ein paar Kbyte zu.

Frage:
Kann ich alternativ mit @Formel irgendwie die grösse in Kb des RTF-Feldes feststellen, das würde zu Not auch reichen. Die @Att... Funktionen liefern ja nur Anzahl, Namen und grösse von Anhängen aber nix von [eingefügtes Bild] oder Text.

Danke
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: ata am 30.01.03 - 16:36:02
... willst du feststellen, ob es eine Grafik ist, oder reicht es zu wissen daß ein Attachment drin liegt?

ata
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: Silvio am 30.01.03 - 17:32:02
Die Attachment's stellen nicht das Problem dar(damit kann ich problemlos umgehen) sondern der Inhalt des RTF-Feldes. Wie du bereits in deiner Antwort angedeutet hast, möchte ich nur festellen ob darin eine Grafik enthalten ist.

silvio
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: ata am 30.01.03 - 20:46:57
... probiers mal damit...

Code
' # Überprüft die Dateianhänge eines Richtext-Feldes auf Grafiken - hier gif, jpg, jpeg und bmp
' # Der Code kann zum Beispiel in einer AKtion oder Schaltfläche verwendet werden
' # ... Man kann aus diesem Code eine Funktion bilden
' # ... als Rückgabe kann das Array sObjName() die Namen aller Dateianhänge liefern...
' # ... ata
   Dim ws As New NotesUIWorkspace
   Dim docThis As NotesDocument
   Dim rtSource As NotesRichTextItem
   Dim object() As NotesEmbeddedObject
   Dim sObjName() As String
   Dim sSource As String
   Dim ob As Integer
   Dim dotPos As Integer
   Dim suffix As String
   '
   ob = -1
   sSource = "Attachments"
   Set docThis = ws.CurrentDocument.Document
   Set rtSource = docThis.GetFirstItem(sSource)
   '
   If rtSource Is Nothing Then Goto Cancel
   '
   If rtSource.Type = 1 Then
      If Not Isarray(rtSource.EmbeddedObjects) Then Goto Cancel
      Forall obj In rtSource.EmbeddedObjects
         ob = ob + 1
         Redim Preserve object( 0  To ob)
         Redim Preserve sObjName( 0 To ob)
         Set object( ob ) = obj
         sObjName( ob ) = obj.Name
         dotPos = Instr(sObjName( ob ) , ".")
         If dotPos > 0 Then
            suffix = Right( sObjName( ob ) , Len(sObjName( ob ) )-dotPos  )
            If Lcase(suffix) = "gif" Or Lcase(suffix) = "jpg" Or Lcase(suffix) = "jpeg"  Or Lcase(suffix) = "bmp" Then
               Print sObjName( ob ) + " ist eine Grafik"
            End If
         End If
      End Forall
   Else
      ' # ... kein Richtext-Feld
      Goto Cancel
   End If
Cancel:   

ata
Titel: Re:festellen ob in einem RTF-Feld ein [eingefügtes Bild] ist.
Beitrag von: Silvio am 31.01.03 - 09:38:51
Ok, danke für den Code

heute ist Freitag ;D da probier ich nicht mehr viel rum weil sonst murphy zuschlägt ;D. Schliesslich riskiert niemand gerne eine Datenbank.
Heute wird nur noch geplant damit es am Montag wieder weiter gehen kann. Ich werd mich dann wieder melden.

ebenfalls warmes Weekend
mit Schaufel, Splitt und Schneeketten