Problem mit file_find_first()

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit file_find_first()

    Guten Tag,
    ich habe ein kleines Problem mit meinem Code:

    GML-Quellcode

    1. _path = working_directory+"\styles\*.txt"
    2. file=file_find_first(_path,0);


    Wenn ich diesen Script starte, hängt sich das Spiel auf.
    Aber wenn man statt "_path = working_directory+"\styles\*.txt""
    einfach nur "_path = working_directory+"\*.txt" einfügt, funktionierts schon.

    Kann mit file_find_first() keine Unterordner verwenden?
    In der Hilfe stehts so aber drinnen: "C:\temp\*.doc"

    Danke für eure Hilfe!
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von levarris07 ()

  • Doch kann man schon. Ich vermute mal das Problem liegt wo anders, weil ich den fehler auch häufig gemacht habe: In der weiteren Folge überprüfst du mittels eines while-loops ob eine Datei existiert. Vergiss dabei nicht, innerhalb des while-loops die nächste Datei zu überprüfen.

    GML-Quellcode

    1. file = file_find_first("path/*.txt",noone);
    2. while (file != "")
    3. {
    4. // Do something with it.
    5. file = file_find_next();
    6. }
    7. file_find_close();

    © 2008 by Teamgrill Productions
  • Genau so sieht mein Script auch aus =D
    Funktioniert trotzdem nicht...

    GML-Quellcode

    1. var filelist,file;
    2. filelist=ds_list_create();
    3. file=file_find_first(argument0,0);
    4. while(file!="")
    5. {
    6. if (file!=".") and (file!="..")
    7. {
    8. if (file_exists(file))
    9. {
    10. ds_list_add(filelist,file);
    11. file=file_find_next();
    12. }
    13. }
    14. }
    15. file_find_close();
    16. return filelist;
    Alles anzeigen
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • Das sieht falsch aus.

    GML-Quellcode

    1. var filelist, file;
    2. filelist = ds_list_create();
    3. file = file_find_first(argument0, 0);
    4. while (file != "") {
    5. if (file_exists(file))
    6. ds_list_add(filelist,file);
    7. file = file_find_next();
    8. }
    9. file_find_close();
    10. return filelist;
    Du hast ja nur file geändert, wenn eine Datei gefunden wurde. Ansonsten bleibt die Variable gleich und der while-Loop hört nie auf. Hab mal das ganze verkürzt. . und .. müssten wenn überhaupt Ordner sein, file_exists() sollte also auch da false zurückgeben.
  • Benutzer online 3

    3 Besucher