![]() |
recorrido por directoris buscando archivos
Que funciones utilizais para hacer recorridos recursivos por directorios buscando archivos.
Yo he utilizado siempre el Findfirst y findnext pero en algunas maquinas con windows xp o windows 2000 no se porque pero directorios con archivos me devuelve que no hay nada. La busqueda no lo hago de todo sino que filtro por una extensión determinada. Ha alguien le ha ocurrido algo parecido. Gracias. |
Esos son los que hay y deberían funcionar.
Tal vez no estés utilizando el código correcto. En la sección de trucos del club tienes un par de recorridos de ejemplo; Creo que son los trucos 333 y 310; Son para borrar, pero el recorrido recursivo que hacen es válido (simplemente que en tu caso no borrarás). |
El problema no lo tengo en el algoritmo si no en la maquina.
El algoritmo que tengo funciona perfectamente pero hay en maquinas que no funciona. Mi pregunta es por alguien se habia encontrado que algun tipo de maquina con winxp le habia echo cosas raras estas funciones. Gracias. |
Revisa la documentación de ésta API: FindFirstFile ya que la función de Delphi la utiliza.
Otra opción es hacer directamente la prueba con las funciones de la API, a ver qué pasa en esos ordenadores. |
Debes estar recorriendo carpetas del sistema u ocultas. Las opciones que dices requieren que se especifique que tipo de archivos se van a listar...
|
Hola,
Cita:
|
Antes de nada preguntar cual es la funcion FindFirstFile que propone Netfali ya que no la encuentro solo encuentro la FindFirst y FindNext.
Basicamente el siguiente algoritmo busca los archivos con extensión '*.ia' que son un .txt para colocarlos dentro de un TTreeView, teniendo en cuenta que desde el directorio original donde se empieza a mirar, que se envia mediante el parametro de entrada 'Cami', pueden haber subdirectorios en 'infinitas' profundidades donde halla archivos *.ia El algoritmo es el siguiente.
|
Hola,
Personalmente no encuentro problemas utilizando el siguiente procedimiento en Windows XP Service Pack 2: Podrías probarlo y, si te ofrece resultados positivos, adaptarlo para tus necesidades. Por cierto, la función "FindFirstFile" se encuentra en la unidad "Windows". |
Cita:
Bastaría con que la escribieras en una unit de Delphi, colocaras el cursor en medio y pulsaras F1 para que te apareciera la ayuda. |
rfernandez si editas tu mensaje y en lugar de poner "php" entre corchetes pones "delphi", el codigo sería más legible.
Yo no le veo problemas al código, creo que más bien el nodo Padre "pare" quizás no tenga el valor correcto y por eso no lo añade. Metele ShowMessage(Fit.Name) antes de cambiar el ImageIndex, por ejemplo, para ver si encuentra los archivos. Un saludo |
Por fin y sin quererlo he encontrado el porque a veces me falla.
Bueno todo biene por un atributo que tienen las carpetas, el atributo es el A --> Atributo de archivo de almacenamiento. Si este atributo esta activo en las carpertas el findfirst que hago lo ignora y pasa de la carpeta como si no estuviese, un poco extraño pero eso pasa. Solución --> quitar con attrib de msdos este atributo. Gracias a todos. |
La franja horaria es GMT +2. Ahora son las 05:43:57. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi