Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: haeppchen am 28.01.05 - 10:38:50
-
Hallo zusammen,
wie kann ich ein Element aus einem Variant löschen?
Mit der "Erase"-Anweisung wie bei Listen geht's leider nicht, ich erhalte immer eine Fehlermeldung. Laut Domino-Designer-Hilfe ist Erase auch nur für Listen und Arrays möglich.
Wer kann mir helfen?
Simon
-
Hallo,
probier mal, die Ganze Geschichte in die Abfrage:
If isArray(<<variant>>) Then
-> Array-Operationen
End If
einzubetten. Alternativ kannst Du Dir auch alle Elemente, die Du weiter verwenden willst, in einen zweiten Array rüberziehen.
Bsp:
Dim tmp(0 to ...) as <<Datentyp>>
If isArray(<<variant>>) Then
ForAll element in <<variant>>
if Element->Bedingung erfüllt Then
tmp.redimPreserver(uBound(tmp) + 1)
tmp(uBound(tmp) -1) = element
End if
End Forall
End If
So in der Art.
Thomas
-
Nicht vergessen: Redim Preserve(vor allem auch noch in der Schleife) macht alle Programme langsam.
Besser:
Allen Werten, die gelöscht werden sollen einen 'Null' Wert zuweisen - und dann in einem einzigen redim den Array komprimieren - oder aber den Array direkt in eine Liste umschreiben und daraus die Werte löschen.