Sortieren einer Liste

Dieses Thema im Forum "AppleScript" wurde erstellt von iGuenni, 06.05.09.

  1. iGuenni

    iGuenni Erdapfel

    Dabei seit:
    06.05.09
    Beiträge:
    2
    Hallo,
    ich schreibe gerade ein AppleScript um MP3-Dateien per Drag&Drop in sortierter Reihenfolge auf einen MP3-Player zu kopieren.

    Und mit der Sortierung habe ich ein Problem.

    In dem angefügten Beispiel wird die Liste über die Variable the_files an die Funktion sort übergeben. In sort wird diese als a_list bearbeitet.
    Nur ist a_list anscheinend leer.
    Zur Kontrolle habe ich einige Dialog-Ausgaben eingebaut.

    Ich hoffe hier kann mir jemand auf die Sprünge helfen.
    Vielen Dank schonmal
    iGuenni


    Hier das Script:

    property file_types : {"public.mp3"}
    property last_location : path to "cusr"
    property last_target : path to "cusr"

    on open some_things
    -- Dateiliste initialisieren
    set the_files to {}
    -- alle Dateien testen, ob sie hinzugefügt werden können
    display dialog "2"
    repeat with a_thing in some_things
    set zeige to a_thing as alias
    if type identifier of (info for a_thing) is in file_types then copy a_thing to the end of the_files
    end repeat
    repeat with a_test in the_files
    display dialog "Liste unsortiert: " & (a_test as string)
    end repeat
    -- sortiere die Liste
    set the_files to sort(the_files)
    repeat with a_test in the_files
    display dialog "Liste sortiert: " & (a_test as string)
    end repeat
    set target_name to choose folder name
    repeat with an_alias in the_files
    display dialog "Copy: " & an_alias as string
    do shell script "cp -X " & quoted form of POSIX path of an_alias & " " & quoted form of POSIX path of target_name
    end repeat
    end open

    to sort(a_list)
    set oastid to AppleScript's text item delimiters
    set AppleScript's text item delimiters to ASCII character 10
    display dialog "Sort: " & a_list
    set a_list to (a_list as string)
    set new_string to (do shell script "echo " & quoted form of a_list & " | sort -f")
    set sort_list to (paragraphs of new_string)
    set AppleScript's text item delimiters to oastid
    return sort_list
    end sort
     
  2. iGuenni

    iGuenni Erdapfel

    Dabei seit:
    06.05.09
    Beiträge:
    2
    Hallo nochmal,
    ich denke ich habe den Fehler selber gefunden.

    Die Zeile
    if type identifier of (info for a_thing) is in file_types then copy a_thing to the end of the_files
    muss lauten
    if type identifier of (info for a_thing) is in file_types then copy a_thing as string to the end of the_files

    Ich verstehe zwar nur noch nicht wo der Unterschied für die Variable the_files ist.
    Vielleicht hat ja da noch jemand eine Antwort drauf.

    iGuenni