Foros del Web » Programación para mayores de 30 ;) » Programación General »

Recorrer Arbol Directorios con VBasic

Estas en el tema de Recorrer Arbol Directorios con VBasic en el foro de Programación General en Foros del Web. Hola: Estoy intentando hacer una aplicacion que recorra un arbol de directorios en Vbasic. El fin de esta aplicacion es obtener la ruta de algunos ...
  #1 (permalink)  
Antiguo 20/08/2003, 03:55
 
Fecha de Ingreso: agosto-2003
Mensajes: 5
Antigüedad: 20 años, 8 meses
Puntos: 0
Exclamación Recorrer Arbol Directorios con VBasic

Hola:

Estoy intentando hacer una aplicacion que recorra un arbol de directorios en Vbasic.

El fin de esta aplicacion es obtener la ruta de algunos archivos asi como su fecha de ultima actualizacion.

El recorrido se que debo hacerlo con un algoritmo de recorrido de grafos, pero en no sé que instrucciones de VBasic debe utilizar.

Si alguien conoce alguna aplicacion parecida o me puede decir algo sobre que instrucciones deberia utilizar me seria de gran ayuda.
  #2 (permalink)  
Antiguo 20/08/2003, 14:22
 
Fecha de Ingreso: agosto-2002
Mensajes: 16
Antigüedad: 21 años, 8 meses
Puntos: 0
Funciones en cascada

Las funciones en cascada son esas que se invocan a si mismas (peligrosas porque pueden entrar en un bucle infinito en el que van creando copias de si mismas saturando la memoria), típicas para recorrer directorios. Se inicia con una semilla (el directorio raíz) y por cada carpeta que encuentran se invocan a si mismas para realizar las mismas operaciones cada vez. Aquí tienes un ejemplo:

Código:
Private Sub Form_Load()
    Carpeta "C:\"
End Sub

Function Carpeta(ByVal Ruta As String)
    Dim fso, dir, ds, d, fs, f
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set dir = fso.getfolder(Ruta)
    Set fs = dir.files
    For Each f In fs
        'f es un objeto que representa un archivo
        'Por ejemplo, puedes usar su nombre:
        MsgBox f.Name
    Next
    Set ds = dir.subfolders
    For Each d In ds
        'd es un objeto que representa una carpeta
        'Por ejemplo, puedes usar su nombre:
        MsgBox d.Name
        'Ahora invocamos de nuevo esta función para
        'cada carpeta
        Carpeta Ruta & IIf(Right(Ruta, 1) = "\", "", "\") & d.Name
    Next
End Function
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:17.