for schleife arraydelete

  • Heut ist son Tag, ich sags euch...

    irgendwo hab ichn Brainlag.

    $pools beinhaltet alle application pools
    $pools[0] = 1 element
    Ubound($pools) -1 = alle elemente

    $excludes beinhaltet alle zu löschenden
    $excludes[0] = count

    AutoIt
    for $s = 0 to UBound($pools) -1
    	for $x = 1 to $excludes[0]
    		if StringInStr($pools[$s],$excludes[$x]) Then
    			msgbox(0,"",$pools[$s] & " ist gleich " & $excludes[$x])
    			msgbox(0,"","lösche eintrag " & $s &"=" & $pools[$s])
    			_Arraydelete($pools,$s)
    		Endif
    	Next
    Next

    es passt beim ersten element. Sprich lösche eintrag $s stimmt überein mit der arrayposition
    geht die schleife aber dann zum nächsten element, crashed es weil $s eine falsche arrayposition hat. subscript dimension error

    liegts daran, dass das array kleiner wird wenn ichn delete mache und die forschleife dann nicht mehr hinhaut? how to avoid that?

    Jemand ne idee?

  • Ich mache zufällig etwas ähnliches ;)

    for $s = UBound($pools) -1 to 0 Step -1
    ...
    next

    Gehe das Array von hinten nach vorne durch, dann kann man Elemente löschen und $s stimmt immer noch.

    Edit: BugFix war schneller

  • Will man in Arrays löschen muß man rückwärts iterieren, damit man sich nicht selbst den Ast (Index) absägt, auf dem man sitzt :D

    Spoiler anzeigen

    liegts daran, dass das array kleiner wird wenn ichn delete mache und die forschleife dann nicht mehr hinhaut? how to avoid that?

    also lags doch daran :D

    Ich mache zufällig etwas ähnliches ;)

    for $s = UBound($pools) -1 to 0 Step -1
    ...
    next

    Gehe das Array von hinten nach vorne durch, dann kann man Elemente löschen und $s stimmt immer noch.

    Edit: BugFix war schneller

    jo rückwärts runtercountern, das wars. ich depp !

    Anyway vielen dank ! funzt

  • na ja solange du nicht selbst auf dem Ast sitzt kannst du ja daran sägen und dich wundern warum es nicht klappt.
    Schlimmer wäre es so:
    Ast.gif

    Spoiler anzeigen
    Zitat

    Ich habe aber keine Einwände dagegen, wenn man sich einzelne Grafiken auf dem eigenen Rechner abspeichert und verwendet, ohne den Copyright - Hinweis zu entfernen.