Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 2015
-
26 mars 2010 à 16:00
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 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...
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 29 mars 2010 à 09:13
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...
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 26 mars 2010 à 16:23
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...
Claiyah
Messages postés580Date d'inscriptionmercredi 20 août 2008StatutMembreDernière intervention20 avril 20103 26 mars 2010 à 16:35
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Claiyah
Messages postés580Date d'inscriptionmercredi 20 août 2008StatutMembreDernière intervention20 avril 20103 26 mars 2010 à 16:36
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)
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 26 mars 2010 à 16:53
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...)
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 27 mars 2010 à 22:40
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...