LISTE DE FICHIERS SUR UN DISQUE EN VB6

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 4 avril 2008 à 01:28
shaeks Messages postés 26 Date d'inscription mercredi 27 juillet 2005 Statut Non membre Dernière intervention 19 août 2023 - 6 oct. 2011 à 19:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46280-liste-de-fichiers-sur-un-disque-en-vb6

shaeks Messages postés 26 Date d'inscription mercredi 27 juillet 2005 Statut Non membre Dernière intervention 19 août 2023
6 oct. 2011 à 19:30
Il est super ce code 10/10 :-)
cs_CFCTABLE Messages postés 18 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 14 avril 2008
14 avril 2008 à 15:53
:) oui je suis bien d'accord.. et c'est pour cela que je suis en train de reprendre le code , en particulier celui du tri, je remettrais des commentaires et des explications ..
bintou123 Messages postés 11 Date d'inscription mardi 5 décembre 2000 Statut Membre Dernière intervention 28 janvier 2009
14 avril 2008 à 14:37
je trouve ce code bon mais trop opaque pour bien comprendre ajoute les commentaires
merci!
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
4 avril 2008 à 13:10
Pour ma part je trouve que ce code manque de clarté. Essais de mettre des noms de variables cohérentes avec ce qu'elle sont supposées contenir. Evites les variables sans type :

Public Sub FileSearch(xPath, XFile, xFichierSortie, xTypesDeFichiersRecherches As Byte)

3 dans la première ligne déjà
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 10:24
"j'ai mis 22 en dur pour ne pas effectuer le calcul à chaque passage"
calculé une fois, a la compilation...
cs_CFCTABLE Messages postés 18 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 14 avril 2008
4 avril 2008 à 09:57
A l'origine ce programme était écrit en QuickBasic et la mémoire vive était chère c'est pour cela que je n'avais pas utilisé de fonctions trop élaborées.
Les fonctions de tri sont dans le module HTSortMod.C'est pareil, les cannaux d'ouverture de fichier étaient en dur et je les ai laissés tels quels.
Pour Dir(w & "\*.*", 22) ---> Dir(w & "\*.*", vbDirectory Or vbSystem Or vbHidden), j'ai mis 22 en dur pour ne pas effectuer le calcul à chaque passage! mais effectivement JACK, ton idée est bonne , je vais mettre cette valeur dans une variable ce qui permettra de paramétrer la recherche.
Quand au choix des valeurs a été fait pour avoir tous les fichiers.
Pour le open #1 je l'ai juste rajouté vite fait pour fournir une liste de fichiers non traités!. Comme j'ai un peu de temps, je modifie le code et refait un Post.
Voila c'est fait.
Merci pour vos commentaires.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2008 à 06:51
me semble pas que Dir trie quoi que ce soit, effectivement...

ben si:
Open App.Path & "\fichiersOuRepertoiresNonLus.txt" For Output As #1

justement, je trouve pas forcément top ce canal en dur... alors qu'après tu passes par FreeFile...
tu dépose une fonction, donc exportable, réutilisable... d'autres programme qui integreront ta fonction auront peut etre déjà un #1 ouvert, et là.... boum!

plutot que de passer (jongler, dans le cas présent)par des fichiers temporaires.
Jack ici présent et moi même avons fais des "Dir récursif" qui aident à ce niveau...

http://www.vbfrance.com/code.aspx?ID=37859
et
http://www.vbfrance.com/code.aspx?ID=43640
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
4 avril 2008 à 01:28
Salut
Ce qui m'étonne, c'est que la liste des fichiers ne soient pas déjà dans l'ordre alphabétique lors de l'acquisition - pas fait l'essai.

Conseil pour la clarté du code :
Dir(w & "\*.*", 22) ---> Dir(w & "\*.*", vbDirectory Or vbSystem Or vbHidden)
(bizarre comme choix)
Chr$(13) & Chr$(10) ---> vbCrLf

+ Close #1 ---> A revoir : aucun fichier n'a été ouvert avec ce numéro.
Coup de bol si xx, yy ou zz correspondent = futur bug
Rejoignez-nous