Rafraichir l'affichage d'un programme...

Résolu
cs_soobook
Messages postés
9
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
2 décembre 2010
- 12 nov. 2007 à 17:38
cs_soobook
Messages postés
9
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
2 décembre 2010
- 12 nov. 2007 à 18:07
Bonjour,

Je ne sais pas si je suis dans la bonne catégorie et si il y a déjà des posts à ce sujet, mais si oui je n'ai pas trouvé...

J'ai fais une appli sous VB6 qui déplace des fichiers d'un dossier à un autre, avec tout un système de contrôles et de log. Tout celà fonctionne très bien, sauf l'affichage.
Je m'explique : je boucle sur les fichiers contenus dans un dossier et je les déplace dans la destination. Durant toute cette boucle, la fenêtre de mon programme devient toute blanche, comme si ça plantait, puis l'affichage est restauré une fois terminé et le programme continue ce qu'il a à faire.

Je suppose qu'il y a un moyen de gérer cela, mais j'ai du mal à trouver des forums parlant de cela. Je souhaiterai, par exemple, afficher dans un label le nom de fichier en cours de déplacement, ou mettre une progress bar, mais faudrait-il encore que mon appli se rafraichisse...

Quelqun aurait-il l'amabilité de me mettre sur la voie???

Merci d'avance...

4 réponses

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
12 nov. 2007 à 17:41
pour le rafraichissement il faut mettre à l'intérieur de la boucle un DoEvents pour que le système reprenne la main et fasse ce qu'il a à faire, entre-autre rafraichir l'écran.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
12 nov. 2007 à 18:04
une fois dans la boucle devrait déjà suffire, plus risque de ralentir énormément le processus.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_soobook
Messages postés
9
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
2 décembre 2010

12 nov. 2007 à 18:02
Merci pour cette réponse rapide...

Encore une petite question : le DoEvents doit-il être placé après chaque action (si, par exemple, dans ma boucle je copie deux fois mon fichier dans des destinations différentes), ou juste une fois dans la boucle (au début, à la fin, pas d'importance?)
0
cs_soobook
Messages postés
9
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
2 décembre 2010

12 nov. 2007 à 18:07
merci beaucoup...

je teste tout ça...
0