cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012
-
23 août 2007 à 17:23
Utilisateur anonyme -
2 sept. 2007 à 21:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Jai regardé en vitesse, avec VB2005, mais je ne sais pas pour les autres versions, mais je reste perplexe. En effet, je viens juste de me rendre compte qu'avec un Objet DirectoryInfo on peut utiliser une surcharge des méthodes GetFiles et Getdirectories. Pour les 2 méthodes, cela se fait avec 2 paramètres. Le premier sert à fournir un filtre de recherche, et le deuxième spécifie si on se limite au tépertoire ou si ajoute les sous-répertoires.
Je dois dire que ces méthodes plantent quand le chemin d'accès complet dépasse 255 caractères. (J'ai subi cette horreur avec mon dernier programme, pour la partie de recherche des fichiers comprimés dun dossier. (menu - Outils etc...))
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 24 août 2007 à 23:48
Ok, alors il y a une exception avec la longueur des "path" ;)
Si (de mémoire...) le path fait plus de 160 ou 260 )je ne me souviens plus..) charactères, Dir() se plante... à voir !
J'essaie d'être constructif, et je me rends compte que je fais le contraire... Mais test la situation dont je te parle, tu verras que ton prog va forcement se planter...
elwingil
Messages postés5Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention24 août 2007 24 août 2007 à 17:05
Cacalex
en fait si, si tu donne un chemin qui n'existe pas ou auquel tu n'as pas accés, dir() va retourner une chaine vide et donc on zap la suite, déja testé sur des chemin réseaux ;o)
Pour les optimisations suivantes je vais lancer la recherche dans un thread et lever un evenement lors de la fin de la recherche, comme ca je laisse la main à l'application qui utilise la classe
Merci de vos commetaires, bon week-end
cacalex
Messages postés69Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention 3 avril 2008 24 août 2007 à 14:11
Alons-y pour un commentaire constructif, relié au but de la source...
Il n'y a aucune gestion des erreurs. Ce n'est pas tout le monde qui roule en administrateur sur un pc. Certains dossiers seront donc innacessible. Ex: Le document & settings de quelqu'un d'autre, si on est pas admin, aussi le c:\system volume information, et d'autre...
Je pense que c'est essentiel de prévoir que le prog va se planter à un moment ou un autre. Fait des test !
Sinon, ben c'est rapide !
Bonne prog !
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 23 août 2007 à 17:24
A moins que quelqu'un d'autre y apporte un autre bémol autre que l'aspect graphique .
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 23 août 2007 à 17:23
Salut, c'est plus rapide que la fonction rechercher de Windows XP MAIS n'as pas sa barre de progression aller-retour qui permet de nous faire patienter, ou de nous rassurer que le traitement s'effectue bel et bien en tâche de fond.
Fais-ça en guise de mise à jour et je te donne un 10.
2 sept. 2007 à 21:43
Jai regardé en vitesse, avec VB2005, mais je ne sais pas pour les autres versions, mais je reste perplexe. En effet, je viens juste de me rendre compte qu'avec un Objet DirectoryInfo on peut utiliser une surcharge des méthodes GetFiles et Getdirectories. Pour les 2 méthodes, cela se fait avec 2 paramètres. Le premier sert à fournir un filtre de recherche, et le deuxième spécifie si on se limite au tépertoire ou si ajoute les sous-répertoires.
Je dois dire que ces méthodes plantent quand le chemin d'accès complet dépasse 255 caractères. (J'ai subi cette horreur avec mon dernier programme, pour la partie de recherche des fichiers comprimés dun dossier. (menu - Outils etc...))
24 août 2007 à 23:48
Si (de mémoire...) le path fait plus de 160 ou 260 )je ne me souviens plus..) charactères, Dir() se plante... à voir !
J'essaie d'être constructif, et je me rends compte que je fais le contraire... Mais test la situation dont je te parle, tu verras que ton prog va forcement se planter...
24 août 2007 à 17:05
en fait si, si tu donne un chemin qui n'existe pas ou auquel tu n'as pas accés, dir() va retourner une chaine vide et donc on zap la suite, déja testé sur des chemin réseaux ;o)
Pour les optimisations suivantes je vais lancer la recherche dans un thread et lever un evenement lors de la fin de la recherche, comme ca je laisse la main à l'application qui utilise la classe
Merci de vos commetaires, bon week-end
24 août 2007 à 14:11
Il n'y a aucune gestion des erreurs. Ce n'est pas tout le monde qui roule en administrateur sur un pc. Certains dossiers seront donc innacessible. Ex: Le document & settings de quelqu'un d'autre, si on est pas admin, aussi le c:\system volume information, et d'autre...
Je pense que c'est essentiel de prévoir que le prog va se planter à un moment ou un autre. Fait des test !
Sinon, ben c'est rapide !
Bonne prog !
23 août 2007 à 17:24
23 août 2007 à 17:23
Fais-ça en guise de mise à jour et je te donne un 10.