Ejemplo de Uso de función recursiva: Obtener lista de archivos y directorios
Básicamente es una función que se llama a si misma, hasta llegar a una cierta condición la cual hace que termine el proceso.
El ejemplo típico es el cálculo del factorial de un número:
También se usa para crear fractales:
Os dejo un simple ejemplo, con el cual consigo que se liste los archivos, subdirectorios y archivos de estos dada una ruta, usando la recursividad:
Public Sub ListaArchivos(directorioinicial As String)
Dim file As String
Dim directoryName As String
Dim arrayDirectorio As New String[]
For Each directoryName In Dir(directorioinicial, "*", gb.Directory)
'añado al array el subdirectorio encontrado
arrayDirectorio.add(directoryName)
Next
For Each directoryName In arrayDirectorio
For Each file In Dir(directorioinicial & "/" & directoryName)
Print "Directorio: ", directorioinicial & "/" & directoryName, "archivo: ", file
Next
'ahora busco en el subdirectorio si hay más archivos... ¡¡ recursivamente !!
ListaArchivos(directorioinicial & "/" & directoryName)
Next
Return
End
Saludos
Jsbsan
No hay comentarios:
Publicar un comentario