Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Joker am 23.07.03 - 15:44:05

Titel: Wert aus Array löschen
Beitrag von: Joker am 23.07.03 - 15:44:05
Hi,
hab da eine Frage. Wie lösche ich am besten einen einzigen Wert aus einem Array.

Gruss
Martin
Titel: Re:Wert aus Array löschen
Beitrag von: koehlerbv am 23.07.03 - 15:54:10
Das mag als ein BEISPIEL dienen - arbeitet nur mit Strings, entfernt dafür den gesuchten String, auch wenn er mehrfach im Array vorkommt.

HTH,
Bernhard


Function DeleteMember(vMemberToDelete As Variant, vInitialList As Variant) As Variant
     '==============================================================================
     ' Purpose:        eliminate one value from a list of strings.
     ' ------------------------------------------------------------------------------------------------------------------------------------------------------------
     ' Arguments:                     Type                       Obs
     '   vMemberToDelete  |  I/-  |        Unneeded element, the one that will dessapear from the list
     '   vInitialList                |  I/-  |        Initial list, witch contains that element
     ' ------------------------------------------------------------------------------------------------------------------------------------------------------------
     ' Return:    list without the element
     ' ------------------------------------------------------------------------------------------------------------------------------------------------------------
     ' Created by: Cristi Voica on   04.07.2000            Modified by: Bernhard Koehler on 17.12..2002
     '==============================================================================
   
   Dim vFinalList () As Variant
   Dim i As Integer
   
   On Error Goto ErrorRoutine
   
   If Isempty (vInitialList) Then
      DeleteMember = ""   
      Exit Function
   End If
   
   If Isscalar (vInitialList) Then
      If vInitialList = "" Then
         DeleteMember = ""
         Exit Function
      Else
         DeleteMember = vInitialList
         Exit Function
      End If
   End If
   
   i = 0
   Forall member In vInitialList
      If Not (member = vMemberToDelete) Then
         Redim Preserve vFinalList(i) As Variant
         vFinalList(i) = member
         i = i +1
      End If
   End Forall
   
   If (i > 0) Then DeleteMember = vFinalList      
   Exit Function
   
ErrorRoutine:
   Call DisplayErrMsg ("DeleteMember")
   Exit Function
End Function
Titel: Re:Wert aus Array löschen
Beitrag von: Till_21 am 23.07.03 - 15:55:47
zB :
listeneu:=@Trim(@ReplaceSubstring(LISTE;"zu loeschende String";" "));

gruss
Titel: Re:Wert aus Array löschen
Beitrag von: ata am 23.07.03 - 15:56:08
... per Lotus Script

Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Dim vValue As Variant
Dim x As integer

Set docThis = ws.CurrentDocument.Document
x = 3 ' # das zu löschende Element => der vierte Eintrag


vValue = docThis.DeinFeldname
vValue( x ) = ""
vValue = Fulltrim( vValue ) ' # Eintrag gelöscht und Liste wieder zusammengerückt, ohne leere Elemente...

... reicht dir das, oder brauchst du es auch in Formel?

ata