Как узнать имя и путь всех файлов и подпапок находящихся в папке? - VB

Узнай цену своей работы

Формулировка задачи:

Подсажите как можно узнать имя и путь всех файлов и подпапок находящихся в папке.

Решение задачи: «Как узнать имя и путь всех файлов и подпапок находящихся в папке?»

textual
Листинг программы
  1. Private Declare Function FindFirstFile Lib 'kernel32' Alias 'FindFirstFileA' (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
  2. Private Declare Function FindNextFile Lib 'kernel32' Alias 'FindNextFileA' (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
  3. Private Declare Function FindClose Lib 'kernel32' (ByVal hFindFile As Long) As Long
  4.  
  5. Const MAX_PATH = 260
  6. Const INVALID_HANDLE_VALUE = -1
  7.  
  8. Private Type FILETIME
  9.     dwLowDateTime As Long
  10.     dwHighDateTime As Long
  11. End Type
  12.  
  13. Private Type WIN32_FIND_DATA
  14.     dwFileAttributes As Long
  15.     ftCreationTime As FILETIME
  16.     ftLastAccessTime As FILETIME
  17.     ftLastWriteTime As FILETIME
  18.     nFileSizeHigh As Long
  19.     nFileSizeLow As Long
  20.     dwReserved0 As Long
  21.     dwReserved1 As Long
  22.     cFileName As String * MAX_PATH
  23.     cAlternate As String * 14
  24. End Type
  25.  
  26. Function StripNulls(OriginalStr As String) As String
  27.     If (InStr(OriginalStr, Chr(0)) > 0) Then
  28.         OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
  29.     End If
  30.     StripNulls = OriginalStr
  31. End Function
  32.  
  33. Sub EnumFilesAPI(ByVal path As String, ByVal SearchStr As String)
  34.     Dim FileName As String
  35.     Dim hSearch As Long
  36.     Dim WFD As WIN32_FIND_DATA
  37.     Dim Cont As Integer
  38.     If Right(path, 1) <> ' ' Then path = path & ' '
  39.    hSearch = FindFirstFile(path & SearchStr, WFD)
  40.     Cont = True
  41.     If hSearch <> INVALID_HANDLE_VALUE Then
  42.         While Cont
  43.             FileName = StripNulls(WFD.cFileName)
  44.             If (FileName <> '.') And (FileName <> '..') Then
  45.                List1.AddItem path & FileName
  46.             End If
  47.             Cont = FindNextFile(hSearch, WFD)
  48.         Wend
  49.         FindClose hSearch
  50.     End If
  51. End Sub
  52.  
  53. Sub Command1_Click()
  54.     Dim SearchPath As String, FindStr As String
  55.     Dim FileSize As Long
  56.     Dim NumFiles As Integer, NumDirs As Integer
  57.     Screen.MousePointer = vbHourglass
  58.     List1.Clear
  59.     SearchPath = Text1.Text
  60.     FindStr = Text2.Text
  61.     EnumFilesAPI SearchPath, FindStr
  62.     Screen.MousePointer = vbDefault
  63. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы