cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
4 avril 2008 à 01:28
shaeks
Messages postés26Date d'inscriptionmercredi 27 juillet 2005StatutNon membreDernière intervention19 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.
shaeks
Messages postés26Date d'inscriptionmercredi 27 juillet 2005StatutNon membreDernière intervention19 août 2023 6 oct. 2011 à 19:30
Il est super ce code 10/10 :-)
cs_CFCTABLE
Messages postés18Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention14 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és11Date d'inscriptionmardi 5 décembre 2000StatutMembreDernière intervention28 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és2126Date d'inscriptionmercredi 21 août 2002StatutContributeurDernière intervention19 février 20212 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és18Date d'inscriptionsamedi 1 mars 2003StatutMembreDernière intervention14 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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
6 oct. 2011 à 19:30
14 avril 2008 à 15:53
14 avril 2008 à 14:37
merci!
4 avril 2008 à 13:10
Public Sub FileSearch(xPath, XFile, xFichierSortie, xTypesDeFichiersRecherches As Byte)
3 dans la première ligne déjà
4 avril 2008 à 10:24
calculé une fois, a la compilation...
4 avril 2008 à 09:57
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.
4 avril 2008 à 06:51
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
4 avril 2008 à 01:28
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