Salut pour le moment puisque nous en sommes a la version 9 voici un code avec api:
code d'appel: DÉBUT APPEL---------------------------------------------- tabRep est un tableau de 0 chaînes ListeRep("C:\windev 9",tabRep,Faux,Faux,Faux) iCpt est un entier POUR iCpt = 1 A TableauInfo(tabRep,tiDimension) Trace(tabRep[iCpt]) FIN Trace(TableauInfo(tabRep,tiDimension)) FIN APPEL---------------------------------------------------
Fonction ListeRep: DÉBUT---------------------------------------------- // Syntaxe : //ListeRep (<strPath>, <tabRep>[, <bSourSep>[, <bRepCourant>[, <bRepParent>]]]) // // Paramètres : // strPath : Répertoire de base où on veut lister les répertoires // tabRep : Un tableau de 0 chaines qui sera remplis avec les répertoires trouvés // bSourSep : Flag permettant de spécifier si on veut lister les sous répertoires // bRepCourant : Flag indiquant si on veut ajouter le répertoire courant à la liste (".") // bRepParent : Flag indiquant si on veut ajouter le répertoire parent à la liste ("..") // Valeur de retour : // Aucune // Notes : // Détaillez ici le fonctionnement. // Précisez les cas particuliers et les limites. // PROCEDURE ListeRep(strPath,tabRep,bSourSep=Faux,bRepCourant=Faux,bRepParent=Faux) bAjouté est un booléen FILE_ATTRIBUTE_DIRECTORY est un entier = 16 FILETIME est une structure dwLowDateTime est un entier //Type C : DWORD dwHighDateTime est un entier //Type C : DWORD FIN WIN32_FIND_DATAA est une structure dwFileAttributes est un entier //Type C : DWORD ftCreationTime est un FILETIME //FILETIME est une autre structure ftLastAccessTime est un FILETIME //FILETIME est une autre structure ftLastWriteTime est un FILETIME //FILETIME est une autre structure nFileSizeHigh est un entier //Type C : DWORD nFileSizeLow est un entier //Type C : DWORD dwReserved0 est un entier //Type C : DWORD dwReserved1 est un entier //Type C : DWORD cFileName est une chaîne ASCIIZ sur 260 //Type C : CHAR cAlternateFileName est une chaîne fixe sur 14 //Type C : CHAR FIN
win_data est un WIN32_FIND_DATAA iRetour est un entier iHandle est un entier
strPath = ComplèteRep(strPath) iHandle = API("KERNEL32","FindFirstFileA",strPath+"*.*"+Caract(0),&win_data) SI iHandle <> -1 ALORS iRetour = iHandle TANTQUE iRetour <> 0 bAjouté = Faux SI ETBinaire(win_data:dwFileAttributes,FILE_ATTRIBUTE_DIRECTORY) <> 0 ALORS SELON win_data:cFileName CAS "." SI bRepCourant ALORS bAjouté = Vrai FIN CAS ".." SI bRepParent ALORS bAjouté = Vrai FIN AUTRE CAS bAjouté = Vrai FIN SI bAjouté ALORS TableauAjoute(tabRep,strPath+win_data:cFileName) SI bSourSep ALORS ListeRep(strPath+win_data:cFileName,tabRep,bSourSep,bRepCourant,bRepParent) FIN FIN FIN
iRetour = API("KERNEL32","FindNextFileA",iHandle,&win_data) FIN FIN FIN--------------------------------------------------
Mathieu |