Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: andbg am 29.06.04 - 17:53:17

Titel: Items zweier Dokumente per Agent kombinieren und im Web ausgeben
Beitrag von: andbg am 29.06.04 - 17:53:17
Hallo !

Titel klingt wahrscheinlich schlimmer, als es in wirklichkeit der Fall ist:

Also folgendes habe ich vor.

Ich habe im  Dokument 1 einen Text in einem Item gespeichert.


In einem Dokument 2  habe ich ebenfalls ein Item , welches Informationen enthält und zusätzlilch - an beliebiger Stelle - einen Platzhalter - bspw.  [name].
Es können im Text mehrere Platzhalter [datum], [uhrzeit] oder aus [vorname] vorhanden sein.

Der Agent soll jetzt den Text aus dem Dokument 1 entnehmen (klappt schon), anschließend das Dokument 2 suchen (klappt auch) und dann diesen Text nach eventuellen Platzhaltern durchsuchen (ab hier weiß ich nicht weiter), den Platzhalter durch den Text aus Dokument 1 ersetzen und ausgeben.

Was mir Probleme bereitet ist das Suchen & Ersetzen des zweiten Items ...

Hat da jemand eine Idee ?

Gruss
Andreas






Titel: Re:Items zweier Dokumente per Agent kombinieren und im Web ausgeben
Beitrag von: animate am 29.06.04 - 19:29:51
im www und bestimmt auch hier im Forum gibts diverse ReplaceSubstring-Funktionen, die eine Zeichenkette nach einer Zeichenkette durchsuchen und durch eine andere Zeichenkette ersetzen (äh, alles klar? ;)).
Titel: Re:Items zweier Dokumente per Agent kombinieren und im Web ausgeben
Beitrag von: andbg am 30.06.04 - 09:08:28
Na und !?  ;D
Es muss ja nicht immer einfach sein - oder ? Wenn ich es gerne kompliziert haben möchte, dann darf ich es auch so haben  ;)

Nein im ernst...
Danke für die Antwort ... ich hatte im Forum nach Platzhaltern etc. gesucht - leider war das Suchergebnis nicht so berauschend...
währenddessen man bei ReplaceSubstring natürlich besser
bedient ist.

Ich habe noch folgende Möglichkeit gefunden:

Function ReplaceSubstring(tstr As Variant, repl_substr As Variant, new_substr As Variant) As Variant
   pos = 0
   new_str = tstr
   Dim b As Variant
   
   If new_substr <> "" Then
      inc = Len(new_substr)
   Else
      inc = 1
   End If
   
   pos = Instr(1, new_str, repl_substr)
   
   While pos <> 0
      new_str = Mid$(new_str, 1, pos - 1) & new_substr & Mid$(new_str, (Len(repl_substr) + pos))
      pos = Instr(pos + inc, new_str, repl_substr)
   Wend
   
   b = new_str
   
End Function



Funktioniert bis jetzt auch sehr gut ...

Gruss
Andreas