Immer wieder Arrays, kommt die Erinnerung ;)

  • Guggus,

    ich sitz mal wieder da und raffs nicht:

    Ich will checken, ob ein WERT in einem ARRAY enthalten ist, wenn nicht soll dieser an das Array hintendrangefügt werden.
    Also los, erstmal fleissig beim MaxiArrayKing geschnust, wie der das so macht mit Arrays erweitern, und hab mir dann folgendes ausgedacht:

    Sollte eigentlich, mit $myarray=_not_seen_add($myarray,$value) in einer Schleife mit den einzelnen werten aufgerufen, am Ende ein Array mit allen mgl. Werten enthalten.

    Irgendwie klappt das aber nicht, was mache ich falsch?

    Zur Erläuterung das ausgangsproblem:
    Liste mit Kennungen, mehrfachnennungen möglich. Ich will ein Array ausgeben, dass jeden mgl Wert nur ein mal enthält (also auch die mehrfachnennungen nur einmal)

    Danke und Gruß

    Arndt

    Einmal editiert, zuletzt von Zippelmitz (15. Februar 2008 um 14:58)

  • Ein Fehler wird sein, das es in Zeile 13 $zx statt $z heißen müsste, oder ?

    So tut es jedenfalls:

    Spoiler anzeigen
    [autoit]

    Dim $array[3]

    [/autoit] [autoit][/autoit] [autoit]

    $array[0] = 2
    $array[1] = "abc"
    $array[2] = "def"

    [/autoit] [autoit][/autoit] [autoit]

    $array = _not_seen_add($array,"ghi")
    msgbox (0,"",$array[3])

    [/autoit] [autoit][/autoit] [autoit]

    Func _not_seen_add($seenarray,$val)
    $seen=0
    For $x=1 To UBound($seenarray)-1
    If ($seenarray[$x]=$val) Then
    $seen=1
    EndIf
    Next
    If ($seen=0) Then
    ReDim $seenarray[UBound($seenarray)+1]
    $seenarray[0] = UBound($seenarray)-1
    $seenarray[UBound($seenarray)-1]=$val
    EndIf
    Return $seenarray
    EndFunc

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"