Tema ficheros

Started by Yawin, July 19, 2011, 10:28:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

Bueno, pues necesito hacer una función que mire todas las carpetas que tengo en la carpeta "Songs" y me cree un archivo con todas las canciones ordenadas alfabéticamente.

El tema es que no se cómo contar cuantas carpetas hay, para hacer un for como dios manda. ¿Alguien ya ha hecho algo así antes?
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Rein (K´)ah Al-Ghul

Con un contador con cada archivo/directorio que encuentras...

http://wiki.bennugd.org/index.php?title=Glob

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Drumpi

Creo que en el Thunder Blade del último concurso algo de eso hay, ficheros "filelist.inc" y "filelist.h", pero creo que no miran en subcarpetas. Eso sí, trae funciones para simplificarte la vida... si consigues entender cómo funcionan ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Yawin

Quote from: Rein (K´)ah Al-Ghul on July 19, 2011, 11:59:08 PM
Con un contador con cada archivo/directorio que encuentras...

http://wiki.bennugd.org/index.php?title=Glob
Tiene buena pinta, lo voy a mirar. Gracias.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Splinter recomienda: DIROPEN, DIRREAD, DIRCLOSE.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Yawin

Al final, he hecho esto:

function carga_canciones()
private
int pf,i;
string canc,escritor,datos;
end
begin
pf=fopen("catalog.yaw",O_WRITE);
i=-2;
loop
canc=glob("songs/*");
if(canc!="")
if(canc!="." || canc!="..")
escritor="[Song="+i+"]";
fputs(pf,escritor);
/*datos=glob("songs/"+canc+"/*.mp3");
fputs(pf,datos);

datos=glob("songs/"+canc+"/*.avi");
fputs(pf,datos);

datos=glob("songs/"+canc+"/*.png");
fputs(pf,datos);*/
fputs(pf,canc);
escritor="[/Song="+i+"]";
fputs(pf,escritor);
end
else
break;
end
i++;
end

escritor="[/end]";
fputs(pf,escritor);
fclose(pf);
end
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

Veo algunos errores:

if(canc!="." || canc!="..")
Deberías usar un AND en lugar de OR, porque si te encuentra ".", como sí es distinto de ".." va a entrar en el IF.

Las funciones GLOB deberían tener cada una su propio bucle, ya que si cambias la cadena de búsqueda, esta se reinicia, y vas a obtener una y otra vez los primeros ficheros (si no recuerdo mal el funcionamiento).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

interesante, listar canciones es algo que me interesa...

Yawin

No, si me dí cuenta, pero bah, he hecho una chapucilla y yasta.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end