Selection d'un répertoire

Selection d'un répertoire

Messagepar Michael DELIQUE » 11 Mai 2007 à 19:40

Code : Tout sélectionner
Function DirectorySearch_API(sSearch As String) As String
   
%REM
'Variables API pour la fonction
Const MAX_PATH = 260
Const INVALID_HANDLE_VALUE = -1

Type FILETIME
   dwLowDateTime As Long
   dwHighDateTime As Long
End Type
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

Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" ( Byval lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" ( Byval hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
%END REM
   
   'Déclaration Variables
   Dim nbiNum As Long
   Dim i As Long
   Dim nbiDeb As Long
   Dim nbhFile As Long
   Dim tFindFile As WIN32_FIND_DATA
   Dim bTrouve As Variant
   Dim tmpSearch As String
   Dim nbpos As Integer
   
   On Error Goto erreurDirectorySearch_API
   
   sSearch = sSearch & ":"
   
   nbhFile = findfirstfile(sSearch + "\*.*", tFindFile)
   bTrouve = nbhFile <> INVALID_HANDLE_VALUE
   Do While bTrouve
      If tFindFile.dwFileAttributes = 16 Or tFindFile.dwFileAttributes = 17 Then
         If Left$(tFindFile.cFileName, 1) <> "." Then
            nbpos = Instr(tfindfile.cfilename, Chr$(0))
            tmpSearch = Left$(tfindfile.cfilename, nbpos - 1)
            DirectorySearch_API = sSearch & "\" & tmpSearch
            Exit Do
         End If
      End If
      nbiNum = nbiNum + 1
      bTrouve = FindNextFile(nbhFile, tFindFile)
   Loop
   
   Exit Function
ErreurDirectorySearch_API:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
DirectorySearch_API = ""
   Exit Function
End Function
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers API