Schnellste Art Arrays zu bearbeiten

  • Hallo Leute,

    ich frage immer wieder in der Shoutbox aber jetzt mal im Forum:

    Ich will ein Array (130.000 Elementig - Wie immer :D ) darauf checken, ob jedes Element den String ":\Windows\" enthält.

    Ich kann dies mit _ArrayFindAll oder jedes Element mit StringInStr überprüfen. Ich habe mich für _ArrayFindAll entschieden (schneller (viel schneller)).

    Jetzt habe ich alle Indexe (? (Index)) wo mein gewünschter String erhalten ist. Die will ich jetzt auf schnellster Art löschen.

    Ich habs mit _ArrayDelete versucht, da es aber bei Windows Vista 72.000 Windows-Files sind dauert das zu lange.

    Wisst ihr wie ich das am besten mache? Die Rekursive File-Such Funktion ist nicht von mir deswegen weiß ich nicht wie ich es schon beim reinpacken in das Array rausnehme.

    Mit freundlichen Grüßen,
    BurakSZ

    P.S. Die _FilesListRekursiv Funktion ist von kleiner27

    Einmal editiert, zuletzt von BurakSZ (5. Juli 2010 um 18:41)

  • Du hast 1 Array mit 130k Elementen.


    Kannst du nicht, während du dieses Array überprüfst, nicht die Daten, welche du haben willst, in einneues Array speichern?

    Also nicht löschen, sondern einfach die Daten, wo überbleiben sollen, in ein neues Array ablegen.

  • Zitat

    Die Rekursive File-Such Funktion ist nicht von mir deswegen weiß ich nicht wie ich es schon beim reinpacken in das Array rausnehme.


    Dann zeig die Funktion oder sag konkret was du machen willst.
    Es wäre dumm erst alles einzulesen und dann wieder rauszulöschen wenn man es auch schon beim einlesen filtern kann.

  • Naja, ich habe mich entschieden dass so zu machen, dass ALLE Dateien gefunden werden.

    Egal.

    Danke trotzdem an alle.