MatthieuFourcade
Messages postés32Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 avril 2009
-
5 mars 2003 à 20:22
MatthieuFourcade
Messages postés32Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 avril 2009
-
9 mars 2003 à 18:25
Bonjour j'aimerai savoir comment faire pour rechercher tout les fichiers d'une extension bien precise genre (*.mp3) présent sur le disque dur et stocké les noms des fichiers dans une filelistbox . Mais la recherche pas seulement sur c: mais sur tout les disques durs locaux genre c: + d: + e: + f: si il en existe et un check box avec comme option pour rajouter en plus la recherche sur les lecteurs (cd rom, dvd, graveur) ....
MERCI BCP car je suis assez dépassé là !
fredlynx
Messages postés662Date d'inscriptionmercredi 16 janvier 2002StatutModérateurDernière intervention16 octobre 20103 5 mars 2003 à 22:31
Attention c'est long... PARTIE A:
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" _
(lpFileOp As SHFILEOPSTRUCT) As Long
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 FindClose Lib "kernel32" _
(ByVal hFindFile As Long) As Long
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
Private Function TrimNull(StrChaine As String) As String
On Error Resume Next
Dim Posi As Integer
Posi = InStr(StrChaine, Chr(0))
If Posi Then
TrimNull = Left(StrChaine, Posi - 1)
Exit Function
End If
TrimNull = StrChaine
End Function
fredlynx
Messages postés662Date d'inscriptionmercredi 16 janvier 2002StatutModérateurDernière intervention16 octobre 20103 5 mars 2003 à 22:32
Attention c'est long... PARTIE B:
Public Function GetAllDrivesFolders(Dossier As String, IntSubDir As Integer) As Integer
Dim wfd As WIN32_FIND_DATA
Dim hFichier As Long
Dim StrFichier As String
Dim StrChemin As String
'Récupération du chemin de Base
StrChemin = Dossier
If Right(StrChemin, 1) <> "" Then StrChemin = StrChemin & ""
'Recherche de la première donnée correspondante
'WFD.dwFileAttributes = vbNormal Or vbReadOnly Or vbHidden Or vbSystem Or vbVolume Or vbDirectory 'Or vbArchive
wfd.dwFileAttributes = FILE_ATTRIBUTE_ARCHIVE Or FILE_ATTRIBUTE_COMPRESSED Or FILE_ATTRIBUTE_DIRECTORY Or FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_NORMAL Or FILE_ATTRIBUTE_READONLY Or FILE_ATTRIBUTE_SYSTEM
hFichier = FindFirstFile(StrChemin & "*.*" & Chr(0), wfd)
If hFichier <> -1 Then
Do
'Extraction du nom du Dossier
StrFichier = TrimNull(wfd.cFileName)
'Teste si le résultat est bien un répertoire
If (wfd.dwFileAttributes And vbDirectory) Then
'Teste si c'est un répertoire "valide"
If (StrFichier <> ".") And (StrFichier <> "..") And (IntSubDir = 1) Then
GetAllDrivesFolders StrChemin & StrFichier, IntSubDir
End If
ElseIf LCase(ExtractExt(StrFichier)) = ".mp3" Then
Debug.Print StrFichier, StrChemin
End If
'Recherche du dossier suivant
' WFD.dwFileAttributes = vbNormal Or vbReadOnly Or vbHidden Or vbSystem Or vbVolume Or vbDirectory 'Or vbArchive
wfd.dwFileAttributes = FILE_ATTRIBUTE_ARCHIVE Or FILE_ATTRIBUTE_COMPRESSED Or FILE_ATTRIBUTE_DIRECTORY Or FILE_ATTRIBUTE_HIDDEN Or FILE_ATTRIBUTE_NORMAL Or FILE_ATTRIBUTE_READONLY Or FILE_ATTRIBUTE_SYSTEM
Loop While FindNextFile(hFichier, wfd)
End If
'Fermeture
Call FindClose(hFichier)
End Function
MatthieuFourcade
Messages postés32Date d'inscriptiondimanche 18 août 2002StatutMembreDernière intervention 5 avril 2009 9 mars 2003 à 18:25
SAlut merci bcp !!! mais je suis désolé mais je suis pas très fort et je comprends vraiment pas le code donc est ce que tu pourrais me dire se qu'il faut que j'écrive dans un module ce qui doit aller dans la forme ainsi que les evenements et les controle a ajouter (text.box, list.box) et aussi ou on choist l'extension.
Merci bcp ca serai super smpa si tu avais le temps.