Título: (SOLUCIONADO) Se puede mejorar este FOR? Publicado por: Eleкtro en 26 Noviembre 2012, 10:15 am Hola,
Mi app trabaja sobre MILES de archivos y quisiera saber si puedo mejorar este for para disminuir el tiempo de procesado: Código
Me pregunto si existirá algún método en el sistema para comprobar si el archivo es un archivo de video, algo así: Código: If IO.FileType(aFile) = "VideoFile" Then... Título: Re: Se puede mejorar este FOR? Publicado por: Novlucker en 26 Noviembre 2012, 13:12 pm Citar Re: Se puede mejorar este FOR? Algo que no me gusta y que no me parece que aporte a la performance de la aplicación, es que abres y cierras el archivo en cada iteración del for. Me pregunto si existirá algún método en el sistema para comprobar si el archivo es un archivo de video, algo así: Código: If IO.FileType(aFile) = "VideoFile" Then... En el framework no la hay. Saludos Título: Re: Se puede mejorar este FOR? Publicado por: Keyen Night en 26 Noviembre 2012, 16:22 pm Usa las Apis de Windows FindFile y FindNextFile trabajan mucho más rápido cuando son miles de archivos. También te recomiendo hacer el trabajo desde un BackgroundWorker y usar el evento ProgressChanged para modificar cualquier aspecto visual como una barra de progreso o un Label si lo tienes.
Hay 2 maneras de saber si un archivo corresponde a un tipo, primero lo que haces verificar de una lista de extensiones, así lo hice en una aplicación y tengo está lista: Código
La otra es verificar las cabeceras de los archivos, pero eso es más incomodo XD Título: Re: Se puede mejorar este FOR? Publicado por: TomaSs en 26 Noviembre 2012, 20:44 pm Posiblemente esto (http://www.daniweb.com/software-development/csharp/threads/153562/findfirstfile-in-c) te sirva, que tiene que ver con lo que te han dicho por aquí
;) Título: Re: Se puede mejorar este FOR? Publicado por: Eleкtro en 27 Noviembre 2012, 09:51 am Gracias a todos, especialmente por la larga explicación de Keyen, en cuanto tenga más organizado el form probaré lo dle findfiles.
|