Aide pour une ProgressBar [Résolu]

Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 26 mars 2010 à 16:00 - Dernière réponse :
Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 29 mars 2010 à 09:13
Bonjour à tous...
J'ai un petit problème concernant l'utilisation d'une ProgressBar...
Explication :

A l'appui sur un bouton, je fait une liste des fichiers et sous dossier d'un emplacement X ou Y, puis j'affiche une messageBox avec un rapport sur ce que j'ai trouvé...
J'ai essayé d'afficher une progressbar pour indiquer que l'appli est en cours de traitement, mais évidemment ça ne marche pas...
En pseudo-code :

début Mon_Bouton.click
[list]
Affichage de la ProgressBar (.show)
appelle de procédure pour lister les fichiers et dossiers
affichage du rapport dans messageBox
masquage de la progressBar (.hide)
/list
fin Mon_bouton.click

Comme je ne connais pas à l'avance le temps d'exécution, ma progressbar a le style "marquee" (c'est à dire continu)...
la progressBar s'affiche bien à l'entrée dans le bloc mais,bien que la lecture de toute les information dure plusieurs secondes, le défilement ne s'affiche que lorsque le rapport est affiché, puis dès la fermeture de la messageBox elle est à nouveau masquée...

Si certain peuvent m'aider...
merci...
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 29 mars 2010 à 09:13
3
Merci
Bon...
Le problème pour lequel j'avais ouvert ce topic étant résolu, je considère celui-ci comme fermé...
Concernant mon autre problème, je vais de ce pas en ouvrir un autre...
Merci à Claiyah pour son aide...

Merci Zayann 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Zayann
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Dernière intervention
20 avril 2010
- 26 mars 2010 à 16:10
0
Merci
bonjour
tu liste les fichiers du répertoire donnée et les dossiers c'est tout ? tu liste pas les fichiers et dossiers contenu dans les sous dossier ?


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Commenter la réponse de Claiyah
Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 26 mars 2010 à 16:23
0
Merci
La précision ne me semblai pas essentielle...
Mais en avant pour une explication complète...

Je liste effectivement tous les fichiers et dossiers et sous dossiers, etc...
L'appli a pour but de permettre une sauvegarde incrémentielle d'un nombre X de dossiers (avec tous ce qu'ils contiennent)...
le bouton me permet de faire une comparaison - avant la sauvegarde proprement dite - et d'afficher le nombre de nouveaux dossiers, nouveau fichiers et fichier à mettre à jour...

J'ai fait une erreur dans le pseudo-code juste au dessus. le rapport est en fait affiché en fin de fonction qui liste et compare les fichiers et dossier...
Je vais éditer le code...

Voila...
Commenter la réponse de Zayann
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Dernière intervention
20 avril 2010
- 26 mars 2010 à 16:35
0
Merci
La précision ne me semblai pas essentielle...


oh que si, je t'ai demandé sa parce que avec FileSystemObject tu peut directement récupérer le nombre de fichier dans un dossier sans avoir à le parcourir, et a partir de ce nombre tu peut faire ta progressbar par-contre comme tu va parcourir les sous dossier je te conseil de chercher que les dossier et utiliser FileSystemObject pour récupérer le nombre de fichier puis tu prend leur nombre comme nombre max de la progressbar et la tu commence à lister les fichiers de tout les répertoires trouvée.

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Commenter la réponse de Claiyah
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Dernière intervention
20 avril 2010
- 26 mars 2010 à 16:36
0
Merci
La précision ne me semblai pas essentielle...


oh que si, je t'ai demandé sa parce que avec FileSystemObject tu peut directement récupérer le nombre de fichier dans un dossier sans avoir à le parcourir, et a partir de ce nombre tu peut faire ta progressbar par-contre comme tu va parcourir les sous dossier je te conseil de chercher que les dossier et utiliser FileSystemObject pour récupérer le nombre de fichier puis tu prend leur nombre comme nombre max de la progressbar et la tu commence à lister les fichiers de tout les répertoires trouvée.

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Commenter la réponse de Claiyah
Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 26 mars 2010 à 16:53
0
Merci
En fait, je procède par plusieurs étapes...
1ère :
je charge une liste avec les dossiers "principaux" - sélectionnés par l'utilisateur - puis je récupère pour chaque dossier les sous dossiers qu'il contient grâce à "GetDirectories",je charge les sous dossiers dans cette même liste et ce jusqu'à ce que tous les dossiers, sous dossiers, etc... ait été balayés...

2ème :
A partir de chaque dossier contenu dans cette liste, je fait un "GetFiles" et je charge une liste des fichiers trouvés...

c'est pour cette raison que j'ai utilisé une progressbar en style "marquee" parce que je ne sait jamais le nombre de dossier ou de fichier exact...

Après la lecture, je fait du traitement sur les dossiers et fichiers trouvé (existent ils dans le dossiers de destination ?, sont ils à jour, etc...)

seulement ensuite j'affiche le rapport...

Voila
Commenter la réponse de Zayann
Messages postés
75
Date d'inscription
mardi 22 avril 2008
Dernière intervention
15 juillet 2015
- 27 mars 2010 à 22:40
0
Merci
Bon en cherchant, expérimentant,j'ai réussi à résoudre mon problème...
J'en ai un autre mais un bizarre...

Voila le code...
Try
System.IO.File.Copy(List_New_File(Index), Path)
Catch ex As Exception
Throw ex
Finally
ProgressBar1.PerformStep()
counter += 1
show_Percent.Text = Int(Counter * 100 / Total).ToString + " %"
End Try

Je fait une tentative d'écriture par "Try... Catch... Finally..."
pour chaque fichier et dossier concernés...
Mais le label "show_percent" n'affiche le pourcentage que lorsque la copie de tous les fichiers et dossier est terminé.
Et là, je ne voit pas pourquoi...

Help...
Please...
Commenter la réponse de Zayann

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.