Autor Thema: Löschen eines Elementes aus einem Variant  (Gelesen 1532 mal)

Offline haeppchen

  • Junior Mitglied
  • **
  • Beiträge: 55
Löschen eines Elementes aus einem Variant
« 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

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re: Löschen eines Elementes aus einem Variant
« Antwort #1 am: 28.01.05 - 10:52:18 »
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
+++To be human is more important than to be important!+++

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Löschen eines Elementes aus einem Variant
« Antwort #2 am: 28.01.05 - 11:09:21 »
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.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz