Título: Listar todos los archivos de una Web en un Listbox
Publicado por: Hendrix en 14 Marzo 2006, 18:14 pm
Weno, me gustaria saber komo listar todos los archivos de una carpeta en un listbox.....
Komo ago esto????
Weno, Salu2 y gracias
Hendrix
Título: Re: Listar todos los archivos de una Web en un Listbox
Publicado por: moe88 en 14 Marzo 2006, 19:05 pm
Dim nombrefile As String nombrefile = Dir(Path) ' El path del directorio Do While nombrefile <> "" ' Aqui agregas el nombrefile al lbox nombrefile = Dir Loop End Sub
Título: Re: Listar todos los archivos de una Web en un Listbox
Publicado por: Hendrix en 14 Marzo 2006, 20:15 pm
Pongo esto y el listbox me aparece vacio: Private Sub Form_Load() Dim nombrefile As String nombrefile = Dir("C:\Pruebas") Do While nombrefile <> "" List1.AddItem nombfrefile nombrefile = Dir Loop End Sub Pero gracias por responder.... ;) ;) Salu2
Título: Re: Listar todos los archivos de una Web en un Listbox
Publicado por: NYlOn en 14 Marzo 2006, 23:10 pm
Eso de buscar los archivos lo podes hacer con las APIs FindFirstFile y FindNextFile. Aca hay un ejemplo para hacer busquedas en cualquier directorio, lo podes amoldar a lo que necesitas 'Create a form with a command button (command1), a list box (list1) 'and four text boxes (text1, text2, text3 and text4). 'Type in the first textbox a startingpath like c:\ 'and in the second textbox you put a pattern like *.* or *.txt
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Const MAX_PATH = 260 Const MAXDWORD = &HFFFF Const INVALID_HANDLE_VALUE = -1 Const FILE_ATTRIBUTE_ARCHIVE = &H20 Const FILE_ATTRIBUTE_DIRECTORY = &H10 Const FILE_ATTRIBUTE_HIDDEN = &H2 Const FILE_ATTRIBUTE_NORMAL = &H80 Const FILE_ATTRIBUTE_READONLY = &H1 Const FILE_ATTRIBUTE_SYSTEM = &H4 Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type
Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAX_PATH cAlternate As String * 14 End Type Function StripNulls(OriginalStr As String) As String If (InStr(OriginalStr, Chr(0)) > 0) Then OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1) End If StripNulls = OriginalStr End Function
Function FindFilesAPI(path As String, SearchStr As String, FileCount As Integer, DirCount As Integer) 'KPD-Team 1999 'E-Mail: KPDTeam@Allapi.net 'URL: http://www.allapi.net/
Dim FileName As String ' Walking filename variable... Dim DirName As String ' SubDirectory Name Dim dirNames() As String ' Buffer for directory name entries Dim nDir As Integer ' Number of directories in this path Dim i As Integer ' For-loop counter... Dim hSearch As Long ' Search Handle Dim WFD As WIN32_FIND_DATA Dim Cont As Integer If Right(path, 1) <> "\" Then path = path & "\" ' Search for subdirectories. nDir = 0 ReDim dirNames(nDir) Cont = True hSearch = FindFirstFile(path & "*", WFD) If hSearch <> INVALID_HANDLE_VALUE Then Do While Cont DirName = StripNulls(WFD.cFileName) ' Ignore the current and encompassing directories. If (DirName <> ".") And (DirName <> "..") Then ' Check for directory with bitwise comparison. If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then dirNames(nDir) = DirName DirCount = DirCount + 1 nDir = nDir + 1 ReDim Preserve dirNames(nDir) End If End If Cont = FindNextFile(hSearch, WFD) 'Get next subdirectory. Loop Cont = FindClose(hSearch) End If ' Walk through this directory and sum file sizes. hSearch = FindFirstFile(path & SearchStr, WFD) Cont = True If hSearch <> INVALID_HANDLE_VALUE Then While Cont FileName = StripNulls(WFD.cFileName) If (FileName <> ".") And (FileName <> "..") Then FindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow FileCount = FileCount + 1 List1.AddItem path & FileName End If Cont = FindNextFile(hSearch, WFD) ' Get next file Wend Cont = FindClose(hSearch) End If ' If there are sub-directories... If nDir > 0 Then ' Recursively walk into them... For i = 0 To nDir - 1 FindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i) & "\", SearchStr, FileCount, DirCount) Next i End If End Function Sub Command1_Click() Dim SearchPath As String, FindStr As String Dim FileSize As Long Dim NumFiles As Integer, NumDirs As Integer Screen.MousePointer = vbHourglass List1.Clear SearchPath = Text1.Text FindStr = Text2.Text FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs) Text3.Text = NumFiles & " Files found in " & NumDirs + 1 & " Directories" Text4.Text = "Size of files found under " & SearchPath & " = " & Format(FileSize, "#,###,###,##0") & " Bytes" Screen.MousePointer = vbDefault End Sub
Fuente: API-Guide Saludos.-
Título: Re: Listar todos los archivos de una Web en un Listbox
Publicado por: maxnet en 15 Marzo 2006, 03:31 am
POR QUE NO USAS EL FILELISTBOX???
Título: Re: Listar todos los archivos de una Web en un Listbox
Publicado por: Hendrix en 15 Marzo 2006, 16:52 pm
Muchas Gracias NyLon!!!! me va cojonudamente.... ;D ;D ;D
thank's...
Salu2
Hendrix
|