Une progress Bar sur un scan de disque

Résolu
cs_Mikounours
Messages postés
4
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
1 octobre 2006
- 11 août 2004 à 17:14
cs_Fife
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
- 12 août 2004 à 23:19
Bonjour J'ai un probleme,
Je voudrais faire un scan sur tout le C: avec un barre de chargement. Si je met en max de la PB le nombre de dossiers sur le disque, je dois d'abord scanner le disque pour trouver ce nombre ... ca prend 3h avant meme de commencer le vrai scan.
Si qq1 peut me donner un coup de main la dessus ...

6 réponses

cs_Fife
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
3
11 août 2004 à 18:06
Et un scan en prenant en max la taille du disque (ou la place utilisée, c'est mieu) ça ne te tente pas plus ?
Tu fais ton scan en récupérant la taille de chaque fichier scanné que tu ajoute à la taille des autres fichiers déjà scannés. Ta Value pour ta ProgressBar est égale à la taille des fichiers déjà scannés.
Sinon, je trouve ça vraiment long 3h pour compter les répertoires... tu fais comment ?
3
TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
12 août 2004 à 01:58
Avec les API tu peux avoir l'espace disque utilisé , que tu peux utilisé pour ta valeur max , presque comme l'a dit Fife.

::|The S@ib|::
MVP C#.NET
0
cs_Mikounours
Messages postés
4
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
1 octobre 2006

12 août 2004 à 12:05
donc l'idée c de recup l'espace utilisé par APi et apres d'incrémenter la progress bar avec la taille des fichiers scannés ?
ca me va :o)
v me lancer la dedans
merci Fife et TheSaib

euh 3h c'etait just epour dire que c'etait long dsl ... ca prend en tous cas aussi longtps que le scan pour lequel je veux faire la progress bar donc l'interet est limité ...
0
cs_Mikounours
Messages postés
4
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
1 octobre 2006

12 août 2004 à 16:26
Alors voila j'ai tout bien reussi, a un petit point pres ...
Bon c'est peut etre un truc classique en VB mais bon je sais pas comment faire et c'est en allant au charbon qu'on apprend, alors voila,
ma progress bar s'affiche et s'incremente et c'est joli tout ca.... si on touche a rien ! mais si par exemple on affiche un autre fenetre par dessus et qu'on la reduit ensuite, ma fenetre contenant la progress bar a l'air toute plantée ! genre elle s'affiche en blanc sans son contenu. La barre de progression marche toujours et si on attend la fin ca marche mais bon ca a la tete d'une appli plantée ...
Vous savez de quoi ca peut venir ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Fife
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
3
12 août 2004 à 22:57
En fait ton appli ne fait QUE ton scan car elle n'a pas le temps de faire autre chose, donc plus le temps de se "redessiner"...
Si tu ajoutes une petite pause de temps en temps (par exemple, une pause de 1/1000 s toutes les secondes, ton appli pourra se redessiner.
Un petit coup de pouce : pour mettre une pause dans ton prog, va voir du côté de l'API "Sleep"
Ensuite, ajuste le temps de pause et l'intervalle pour obtenir un bon équilibre entre le temps que ça va prendre (eh oui, ça ralentira ton scan) et un raffraichissement régulier.

Je ne sais pas si j'ai été très claire... mais bon courage quand même.
0
cs_Fife
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
3
12 août 2004 à 23:19
La version plus répandue de ce que je viens d'écrire est d'insérer un DoEvent, mais on ne peut pas régler le temps (c'est lent, mais c'est rapide à écrire)
0