Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

leer directorios y subdirectorios

Estas en el tema de leer directorios y subdirectorios en el foro de Visual Basic clásico en Foros del Web. quisiera ver quien puede ayudarme, resulta tengo un procedimiento en visual basic que se supone que debe de listar todos los archivos de un directorio ...
  #1 (permalink)  
Antiguo 18/10/2007, 07:48
Avatar de dexter_x740  
Fecha de Ingreso: julio-2003
Ubicación: cd. obregon, Sonora
Mensajes: 246
Antigüedad: 20 años, 9 meses
Puntos: 1
leer directorios y subdirectorios

quisiera ver quien puede ayudarme, resulta tengo un procedimiento en visual basic que se supone que debe de listar todos los archivos de un directorio así como de los archivos que se encuentren en subdirectorios de manera recursiva. el problema es que por ejemplo al tener un directorio que tiene un archivo y un subdirectorio y ese subdirectorio a su vez tiene un archivo, el procedimiento lee el subdirectorio y su contenido pero al momento de continuar donde se habia quedado en el directorio principal me da un error de llamada a procedimiento o argumentos invalidos. pongo el codigo que uso:

Sub leer(ruta As String)
Dim ar As String
ar = Dir$(ruta & "*.*", vbDirectory)

If ar <> "" Then


Do While ar <> ""

If ar <> ".." And ar <> "." Then

If (GetAttr(ruta & ar) And vbDirectory) = vbDirectory Then

leer ruta & ar & "\"
Else
lista.AddItem "Archivo:" & ar

'fin de es carpeta o archivo
End If

'fin de checar si es . o ..
End If



ar = Dir$ <--- aqui me marca el error

'fin while
Loop

'fin de hay archivos
End If
End Sub
__________________
[D3X73®]
  #2 (permalink)  
Antiguo 18/10/2007, 15:08
Avatar de aavg  
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años
Puntos: 1
Re: leer directorios y subdirectorios

Para que lo estas utilizando? quizas podrias usar un API de windows si lo que te interesa es unicamente listar los directorios, unidades y archivos de tu pc, y a la vez poder tener una ruta de archivo seleccionado.
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres
  #3 (permalink)  
Antiguo 18/10/2007, 22:52
Avatar de dexter_x740  
Fecha de Ingreso: julio-2003
Ubicación: cd. obregon, Sonora
Mensajes: 246
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: leer directorios y subdirectorios

estoy usando ese codigo para listar los archivos de un directorio y sus subdirectorios de forma recursiva, creo que en teoria deberia funcionar pero no se porque me marca ese error.
__________________
[D3X73®]
  #4 (permalink)  
Antiguo 19/10/2007, 09:25
Avatar de aavg  
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 años
Puntos: 1
Re: leer directorios y subdirectorios

Existe una API llamada SHBrowseForFolder, esta te muestra todas las carpetas y unidades de red o carpetas compartidas de tu PC

http://allapi.mentalis.org/apilist/S...orFolder.shtml

y también hay unos controles en VBasic llamados: DriveListBox y FileListBox que te podrían servir, depende del objetivo de tu aplicación
__________________
Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres
  #5 (permalink)  
Antiguo 19/10/2007, 15:04
Avatar de dexter_x740  
Fecha de Ingreso: julio-2003
Ubicación: cd. obregon, Sonora
Mensajes: 246
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: leer directorios y subdirectorios

ya se de la API de BrowseForFolder der hecho la uso para seleccionar la carpeta deseada lo ke pasa eske necesito ir leyendo el contenido de dicha carpeta y de las sub carpetas porque es parte de una aplicacion que hago, un encriptador de archivos, por eso no me sirven los controles drivelistbox ni filelistbox y quiero saber porque me marca error en la parte del codigo que señale, me dice: "llamada procedimiento o argumentos invalidos"
__________________
[D3X73®]
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 21:23.