Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: VanX en 15 Julio 2011, 12:59 pm



Título: Analizar carpetas y escojer solo archivos .txt
Publicado por: VanX en 15 Julio 2011, 12:59 pm
Hola a todos de nuevo, hoy tengo una duda existencial  ;D y es que nose si se puede buscar una carpeta con el Common Controls y desde el propio vb6 solo detectar los .txt y organizar sus rutas en un list.

Alguien me puede decir si es posible y si lo es, por donde debería empezar?  ;)

gracias


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: n0more en 15 Julio 2011, 13:07 pm
WolaP

"Metodologicamente" hablando (xDDD), tienes 2 opciones.

 - Mostrar solo los .txt
 - Recorrer el directorio y guardar los .txt, puesto que la ruta ya la tienes.


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: VanX en 15 Julio 2011, 13:09 pm
Perfecto ya lo encontre en google tambien pero hay una cosa que no, y es despues de tener los archivos que ya los tengo, no me acuerdo de como hacer para abriendolos 1 por uno cuando estan en el list XDD  ;D

gracias de todos modos ;)


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: n0more en 15 Julio 2011, 13:12 pm
WolaP.


Tienes que recorrer el list e ir abriendolos uno por uno.


Tengo un código que te vendría bien, dame 5 mins a ver si lo encuentro.


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: VanX en 15 Julio 2011, 13:13 pm
Oks gracias  :D


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: n0more en 15 Julio 2011, 13:15 pm
El codigo para recorrer el list:

Código:
For i = 0 To File1.ListCount - 1
MsgBox File1.List(i)
Next


En lugar del "Msgbox", pon el codigo que quieras.


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: VanX en 15 Julio 2011, 13:20 pm
Ok perfecto me has salvado de una que no me acordaba gracias  ;-) ;-)


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: n0more en 15 Julio 2011, 13:20 pm
;)


Título: Re: Analizar carpetas y escojer solo archivos .txt
Publicado por: VanX en 15 Julio 2011, 13:22 pm
Este es el code que tenia

Código
  1. '---------------------------------------------------
  2.    'Agregar lña referencia a Microsoft Scripting Runtime
  3. '---------------------------------------------------
  4.  
  5.  
  6. Private Sub Command1_Click()
  7. On Error GoTo errsub
  8.  
  9.    Dim Fso As FileSystemObject
  10.    Dim El_Directorio As Folder
  11.  
  12.    Screen.MousePointer = vbHourglass
  13.  
  14.    DoEvents
  15.    List1.Clear
  16.  
  17.  
  18.    Set Fso = New FileSystemObject
  19.    Set El_Directorio = Fso.GetFolder(Trim$(Text1))
  20.  
  21.    List1.AddItem Trim$(Text1)
  22.  
  23.   ' Comienza a listar las carpetas
  24.    Call Listar_Directorios(El_Directorio)
  25.  
  26.    Screen.MousePointer = vbDefault
  27.  
  28. 'Error
  29. Exit Sub
  30.  
  31. errsub:
  32.    MsgBox Err.Description, vbCritical
  33.    Screen.MousePointer = vbDefault
  34.  
  35. End Sub
  36.  
  37.  
  38. Private Sub Listar_Directorios(ByVal El_Directorio As Folder)
  39.  
  40.    On Error GoTo errsub
  41.  
  42.    ' Variable de tipo Folder
  43.    Dim Subdirectorio As Folder
  44.  
  45.    ' Recorre los subdirectorios
  46.    For Each Subdirectorio In El_Directorio.SubFolders
  47.        'Agrega el path
  48.        List1.AddItem El_Directorio.Path & "\" & Subdirectorio.Name
  49.  
  50.        'sigue listando los directorios
  51.        Listar_Directorios Subdirectorio
  52.  
  53.    Next
  54.  
  55. Exit Sub
  56.  
  57. 'Error
  58. errsub:
  59. 'Error de permiso denegado
  60. If Err.Number = 70 Then
  61.   Resume Next
  62.  
  63. ElseIf Err.Number = 91 Then
  64.   Screen.MousePointer = vbDefault
  65.   Exit Sub
  66. Else
  67.   MsgBox Err.Description, vbCritical
  68.   Exit Sub
  69. End If
  70. End Sub
  71.  
  72. Private Sub Form_Load()
  73.    Command1.Caption = " Listar "
  74.    Text1 = "c:\a"
  75. End Sub
  76.  
  77. Private Sub List1_Click()
  78.  
  79.    'Variable de tipo FILE y FOLDER para listar los archivos de un path
  80.    Dim El_Archivo As File
  81.    Dim El_Directorio As Folder
  82.  
  83.    'Si no hay items en el List sale
  84.    If List1.ListIndex = -1 Then Exit Sub
  85.  
  86.    List2.Clear
  87.  
  88.    'Nuevo objeto FileSystemObject
  89.    Set Fso = New FileSystemObject
  90.  
  91.    ' Obtiene el directorio
  92.    Set El_Directorio = Fso.GetFolder(List1.List(List1.ListIndex))
  93.  
  94.  
  95.    ' Lista los ficheros de esta carpeta
  96.    For Each El_Archivo In El_Directorio.Files
  97.       'Añade la ruta
  98.       List2.AddItem El_Archivo.Name
  99.  
  100.    Next El_Archivo
  101.  
  102. End Sub
  103.