Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



viernes, 4 de julio de 2014

Ejemplo de Uso de función recursiva: Obtener lista de archivos y directorios

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:
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. Public Sub ListaArchivos(directorioinicial As String)
  2.   Dim file As String
  3.   Dim directoryName As String
  4.   Dim arrayDirectorio As New String[]
  5.    
  6.   For Each directoryName In Dir(directorioinicial, "*", gb.Directory)
  7.     'añado al array el subdirectorio encontrado
  8.     arrayDirectorio.add(directoryName)
  9.   Next
  10.  
  11.   For Each directoryName In arrayDirectorio
  12.     For Each file In Dir(directorioinicial & "/" & directoryName)
  13.       Print "Directorio: ", directorioinicial & "/" & directoryName, "archivo: ", file
  14.     Next
  15.     'ahora busco en el subdirectorio si hay más archivos...  ¡¡ recursivamente !!
  16.     ListaArchivos(directorioinicial & "/" & directoryName)
  17.   Next
  18.  
  19.   Return
  20.  
  21. End




Saludos


Jsbsan