FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Función recursiva en un TreeView
Hola delphiadictos!
Estaba intentando crear una función que mostrase las carpetas de una unidad local en un TreeView. Yo habia hecho esto para experimetar un poco: Esto sólo inserta en el TreeView las carpetas de un directorio deseado y esto no me es suficiente. No tengo ni la mas mínima idea de por donde empezar con la función recursiva, alguien me podria hechar una mano? |
#2
|
|||
|
|||
Puedes probar con este procedimiento:
Si te fijas, cada que la búsqueda encuentra un directorio cuyo nombre no es '.' o '..', esta manda a llamar de nuevo al mismo procedimiento, enviando como parámetros el nombre del folder encontrado, la lista de nodos que estamos llenando y el nodo que se agregó, el cual será el padre de los nodos que se agreguen en la llamada recursiva. Para llamar al procedimiento debes hacer:
Ya por último te comento que no probé este código, así que probablemente haya uno que otro error. Saludos... |
#3
|
|||
|
|||
Gracias maeyanes, me has ayudado a depurar el código de mi procedimiento, pero la verdad es que este código hace exactamente lo mismo que hacia el mio, le he hecho unas modificaciones y se ha quedado así, pero sigue haciendo lo mismo que el mio...
Gracias de todas formas...
|
#4
|
||||
|
||||
Pedías una función recursiva... y eso tienes
Pensar en recursivo no es fácil, puedes tomarlo como primer paso para incluir los archivos.
Fijate que no hay else, esto es para que despues de añadir una carpeta, tambien intente añadir los archivos que haya. He puesto faAnyFile, tú ajustalo más a lo que quieras. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Lepe, gracias por tu interés, pero lo que yo quiero no es insertar archivos, mi TreeView sólo muestra carpetas.
Más o menos quiero que me quedé como el ShellTreeView. |
#6
|
||||
|
||||
Cita:
Por cierto, no te ha ayudado a "depurar el código" sino a trabajar recursivamente.
El primer detalle es que hay que usar AddChild para que los meta dentro. El segundo, es que al llamar a la función recursiva, hay que DARLE LA RUTA COMPLETA. Una "manía" mia, es que al llamar a FindFirst, no hace falta usar el includePathDelimiter, ya que siempre se le da la ruta con la barra al final. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
|