Also ich sitze jetzt schon seit ca. 4 Stunden vor folgendem Problem:
Ich möchte gerne, dass alle mp3-Dateien eines bestimmten Ordners (inkl. mp3-Dateien aus den Unterordnern) in eine Liste abgespeichert werden.
Dazu habe ich mir das Script "mp3_list" programmiert, was rekursiv aufgerufen werden soll.
Alles anzeigen
Zum Testen habe ich einen Ordner "Ordner" in dem zwei Ordner "OrdnerA" und "OrdnerB" und eine mp3-Datei enthalten ist.
Desweiteren ist in "OrdnerA" und "OrdnerB" auch jeweils eine mp3-Datei drin.
Also sollte insgesamt nacher 3 Dateien in der Liste abgespeichert sein.
Es befindet sich nach dem Aufruf des Scripts aber nur eine Datei in der Liste, und zwar die aus dem "OrdnerA".
Wo liegt der Fehler?
Ich hoffe, dass sich jemand die Mühe macht, mein Script zu verstehen und mir helfen kann.
Wahrscheinlich ist das Problem viel einfacher, als es aussieht...
€dit: Die Methode "add_list(argument0,argument1)" habe ich selbst geschrieben und fügt einfach die zwei Listen "argument0" und "argument1'" zusammen zu "argument0".
Diese Methode ist getestet und funktioniert. Daran kann es also nicht liegen.
Ich möchte gerne, dass alle mp3-Dateien eines bestimmten Ordners (inkl. mp3-Dateien aus den Unterordnern) in eine Liste abgespeichert werden.
Dazu habe ich mir das Script "mp3_list" programmiert, was rekursiv aufgerufen werden soll.
GML-Quellcode
- list = ds_list_create();
- file = file_find_first(argument0+"\*",fa_directory)
- while(file != "")
- {
- if(file != "." && file != "..")
- {
- //Ist file ein Ordner, so füge der Liste die Liste aus diesem Ordner hinzu
- if(directory_exists(argument0+"\"+file))
- {add_list(list,mp3_list(argument0+"\"+file,true));}
- //Ist file eine mp3-Datei, so füge sie in die Liste ein
- if(filename_ext(file) == ".mp3" || filename_ext(file) == ".MP3")
- {ds_list_add(list,argument0+"\"+file);}
- }
- file = file_find_next();
- }
- file_find_close();
- return list;
Zum Testen habe ich einen Ordner "Ordner" in dem zwei Ordner "OrdnerA" und "OrdnerB" und eine mp3-Datei enthalten ist.
Desweiteren ist in "OrdnerA" und "OrdnerB" auch jeweils eine mp3-Datei drin.
Also sollte insgesamt nacher 3 Dateien in der Liste abgespeichert sein.
Es befindet sich nach dem Aufruf des Scripts aber nur eine Datei in der Liste, und zwar die aus dem "OrdnerA".
Wo liegt der Fehler?
Ich hoffe, dass sich jemand die Mühe macht, mein Script zu verstehen und mir helfen kann.
Wahrscheinlich ist das Problem viel einfacher, als es aussieht...
€dit: Die Methode "add_list(argument0,argument1)" habe ich selbst geschrieben und fügt einfach die zwei Listen "argument0" und "argument1'" zusammen zu "argument0".
Diese Methode ist getestet und funktioniert. Daran kann es also nicht liegen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Basti ()