Nach Größe sortieren

  • hi

    kurze frage:

    in einem array, $sizeArray, speichere ich die dateigrößen (in bytes) von dateien aus einem anderen array, $filesArray (dort sind strings drin).

    [autoit]

    For $i = 0 To $anzahl-1
    $sizeArray[$i] = FileGetSize($filesArray[$i])
    Next

    [/autoit]

    dies klappt auch.

    nur weiß ich jetzt leider nicht wie ich $sizeArray nach größe sortieren kann und dementsprechend dann $filesArray in der ordnung der dateigrößen sortieren kann


    ich hoffe die frage ist nicht zu dumm und jemand kann mir helfen.

    mfg

    Einmal editiert, zuletzt von pete_gzome (22. Januar 2010 um 22:25)

    • Offizieller Beitrag

    Verwende ein 2D-Array. So kannst du Dateipfad und die Größe zusammengehörig speichern und nach der Größe sortieren.

    Edit:

    Habs mal schnell gebastelt:

    [autoit]

    #include <array.au3>
    #include <file.au3>

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

    Local $sPath = @ScriptDir & '\'

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

    Local $aFiles = _FileListToArray($sPath, '*', 1) ; nur Dateien
    ;~ _ArrayDisplay($aFiles)
    Local $aFileInfo[$aFiles[0]][2]
    For $i = 1 To UBound($aFiles) -1
    $aFileInfo[$i-1][0] = $aFiles[$i]
    $aFileInfo[$i-1][1] = FileGetSize($sPath & $aFiles[$i])
    Next
    ;~ _ArrayDisplay($aFileInfo)
    _ArraySort($aFileInfo, 0, 0, 0, 1)
    _ArrayDisplay($aFileInfo)

    [/autoit]
  • Ich poste hier mal meinen Code, weil irgendwo ein Fehler ist:

    [...]

    EDIT:

    Habe es hinbekommen und alles klappt nun!
    MfG