acheng
Messages postés6Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 2 décembre 2005
-
13 août 2004 à 14:22
MoiOlivier
Messages postés172Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention 4 août 2005
-
13 août 2004 à 18:27
Je suis en train de faire un programme qui a pour fonction de scanner un grand nombre de répertoires. En gros, lorsque le répertoire contient plus de 5 fichiers, une action sera déclenchée (exemple envoyer un email).
J'ai donc fait une boucle de type :
Quitter=false
Do while Quitter= false
Lecture du répertoire
If nb fichier >5 then
Envoi email
end if
Doevents
Loop
Lorsque je lance le programme, j'ai le processeur qui monte à 98% !!!
Mais je suis persuadé que la valeur est fausse puisque j'arrive à faire d'autres opérations sur le poste normalement.
J'ai essayé d'introduire une pause de X secondes entre chaque lecture de répertoire mais c'est pareil.
Auriez vous une explication et des conseilles pour faire ce traitement ?
Je pense que c'est à cause de la boucle mais sans l'utiliser comment je vais pourvoir m'en sortir ???
MoiOlivier
Messages postés172Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention 4 août 2005 13 août 2004 à 18:27
Salut,
A ta place, je créerais un contrôle Timer avec un intervale de 50 par exemple, et je placerais le code de la boucle dans l'évenement Timer. Comme ça, ton CPU ne devrait pas monter au-delà de 50% et ya plus besoin du DoEvents.
Et lorpsque tu appuyes sur Quitter, tu met la propriété Enabmed du Timer à False.