users_user-20.html -  [VB] Tester l'existance d'un fichier, d'un dossier et d'un lecteur
  1. Private Const MAX_PATH As Long = 260 
  2. Private Const INVALID_HANDLE_VALUE As Long = -1 
  3. Private Const FILE_ATTRIBUTE_DIRECTORY As Long = &H10 
  4. Private Type FILETIME 
  5.    dwLowDateTime As Long 
  6.    dwHighDateTime As Long 
  7. End Type 
  8. Private Type WIN32_FIND_DATA 
  9.    dwFileAttributes As Long 
  10.    ftCreationTime As FILETIME 
  11.    ftLastAccessTime As FILETIME 
  12.    ftLastWriteTime As FILETIME 
  13.    nFileSizeHigh As Long 
  14.    nFileSizeLow As Long 
  15.    dwReserved0 As Long 
  16.    dwReserved1 As Long 
  17.    cFileName As String * MAX_PATH 
  18.    cAlternate As String * 14 
  19. End Type 
  20. Private Declare Function GetLogicalDriveStrings Lib "kernel32" _ 
  21.    Alias "GetLogicalDriveStringsA" _ 
  22.   (ByVal nBufferLength As Long, _ 
  23.    ByVal lpBuffer As String) As Long 
  24. Private Declare Function FindFirstFile Lib "kernel32" _ 
  25.    Alias "FindFirstFileA" _ 
  26.   (ByVal lpFileName As String, _ 
  27.    lpFindFileData As WIN32_FIND_DATA) As Long 
  28.   
  29. Private Declare Function FindClose Lib "kernel32" _ 
  30.   (ByVal hFindFile As Long) As Long 
  31. Public Function FolderExists(sFolder As String) As Boolean 
  32.    Dim hFile As Long 
  33.    Dim WFD As WIN32_FIND_DATA 
  34.     
  35.    sFolder = UnQualifyPath(sFolder) 
  36.    hFile = FindFirstFile(sFolder, WFD) 
  37.     
  38.    FolderExists = (hFile <> INVALID_HANDLE_VALUE) And _ 
  39.                   (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) 
  40.     
  41.    Call FindClose(hFile) 
  42. End Function 
  43. Private Function UnQualifyPath(ByVal sFolder As String) As String 
  44.    sFolder = Trim$(sFolder) 
  45.     
  46.    If Right$(sFolder, 1) = "\" Then 
  47.       UnQualifyPath = Left$(sFolder, Len(sFolder) - 1
  48.    Else 
  49.       UnQualifyPath = sFolder 
  50.    End If 
  51. End Function 
  52. Public Function FileExists(sSource As String) As Boolean 
  53. Dim WFD As WIN32_FIND_DATA 
  54. Dim hFile As Long 
  55.     
  56.    hFile = FindFirstFile(sSource, WFD) 
  57.    FileExists = hFile <> INVALID_HANDLE_VALUE 
  58.     
  59.    Call FindClose(hFile) 
  60.     
  61. End Function 
  62. Public Function DriveExists(sDrive As String) As Boolean 
  63. Dim sTmp As String 
  64. Dim lBuffersize As Long 
  65.     
  66.     lBuffersize = GetLogicalDriveStrings(0&, sTmp) 
  67.      
  68.     sTmp = Space$(lBuffersize) 
  69.     lBuffersize = Len(sTmp) 
  70.      
  71.     If GetLogicalDriveStrings(lBuffersize, sTmp) Then 
  72.         DriveExists = InStr(1, sTmp, sDrive, vbTextCompare) 
  73.     End If 
  74.     
  75. End Function
Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?