Lister des fichiers et extraire le chemin d'acces avec une ProgressBar

Résolu
benvey Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 4 novembre 2009 - 12 août 2009 à 09:24
benvey Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 4 novembre 2009 - 12 août 2009 à 10:39
Bonjour a tous,

C'est mon premier post sur votre forum, car jusque là j'ai toujours trouvé mon bonheur. Mais là je suis un peu bloqué.
Donc pour résumer, j'ai fait une form avec une zone pour saisir un nom de dossier, avec le bouton associé cela me sort le nombre de fichiers et de sous-dossier.Ensuite je dois faire une moulinette qui me calcule la longueur du chemin d'accès pour chacun des fichiers trouvés. Et si celui ci dépasse 255 caractères, je copie le chemin dans une RichTextBox. Je souhaite afficher le progression de la moulinette grave à une progressbar. Dans un premier temps la progressbar fonctionnait mais soit tout etait rempli des le debut de la boucle ou a la fin. J'ai donc voulu mettre en place une thread dédiée pour le calcul mais je n'arrive plus à exporter mes longueurs de fichiers trop long. Bref je suis en peu perdu.

Merci

3 réponses

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
12 août 2009 à 09:52
Salut
Plus une constatation qu'une question.
Si, au démarrage, tu connais le nombre de fichiers à lister, il te suffit de :
- Mettre en .Max de la ProgressBar ce nombre de fichiers
- compter les fichiers au fur et à mesure que tu les traites
- Après chaque traitement, incrémenter la .Value de la ProgressBar
Eventuellement, ajoute un Application.DoEvents pour le rafraichissement de la ProgressBar

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
benvey Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 4 novembre 2009
12 août 2009 à 10:39
Merci pour l'info, en fait je mets aussi a jour un label dans ma boucle pour savoir à quel fichier je suis rendu. J'ai donc ajouter label4.refresh() et ma barre se met aussi à jour.

Merci beaucoup.
Trop top.
3
benvey Messages postés 16 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 4 novembre 2009
12 août 2009 à 10:25
Dans ton raisonnement, je n'ai pas besoin de passer par une autre thread. Cela a ete mon premier code mais j'ai l'impression que la boucle prend toutes les ressources et empeche la mise a jour de la progressbar.
Ma question est, l'Application.Doevents corrigerait il se probleme de MAJ ?

benoit
0
Rejoignez-nous