Page 1 sur 1
Selection d'un répertoire

Publié:
11 Mai 2007 à 19:40
par Michael DELIQUE
- 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