Mise en attente d'un prg [Résolu]

Messages postés
156
Date d'inscription
mardi 31 août 2004
Dernière intervention
21 mai 2015
- - Dernière réponse : cs_Willi
Messages postés
2381
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
13 février 2015
- 5 mars 2007 à 09:39
bonjour a tout le monde,
je voulais mettre en suspens une fonction pendants 5 secondes mais j'y arrive pas !!!
est ce que vous pouvez m'aidez ??
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
3
Merci
Salut,

essaie ceci : System.Threading.Thread.Sleep 5000
(je ne fais pas de DotNet, je ne sais donc pas si le paramètre est bien en milisecondes, et s'il faut ou pas le placer entre parenthèses)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--

Merci mortalino 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de mortalino
Messages postés
961
Date d'inscription
vendredi 25 octobre 2002
Dernière intervention
27 janvier 2009
3
Merci
cependant, dans une application monothread, la fenetre va se figer, et ne permet aucune action a l'utilisateur.
Une procédure de ce type règle le problème :

Friend
Sub hbwait(
ByVal ms_to_wait
As
Long)

Dim hb
As
Double
hb = Environment.TickCount + ms_to_wait

While Environment.TickCount < hbSystem.Threading.Thread.Sleep(1)

Application.DoEvents()

End
While

End
Sub

Hvb aka Batto
bato.ltd at gmail.com

Merci hvb 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de hvb
Messages postés
2381
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
13 février 2015
0
Merci
Bonsoir,

Hvb, ta méthode à l'air pas mal mais qui à priori ne marche pas avec moi :(
Foufidou, si tu veux faire une pause sans bloquer le thread principal UI, la meilleure solution consiste à mettre ta fonction dans un thread à part et à présent dans ta fonction tu peux faire ta pause comme Mortalino l'a montré.

++
Commenter la réponse de cs_Willi
Messages postés
961
Date d'inscription
vendredi 25 octobre 2002
Dernière intervention
27 janvier 2009
0
Merci
Willi : ça ne marche pas...? comment ça, ça te lève une erreur? Ou la pause ne se fait pas?

Hvb aka Batto
bato.ltd at gmail.com
Commenter la réponse de hvb
Messages postés
156
Date d'inscription
mardi 31 août 2004
Dernière intervention
21 mai 2015
0
Merci
Mon probleme c'est que j'ai pas attaquer les thread donc la je suis bloqué c'est a dire ma fenetre reste figé, je dirai meme bloqué jusqu'au fin de traitement !!!
comment je pourrais utiliser le thread pour que le traitement de mon application continu a fonctionner tout en ajoutant une ligne dans une listbox indiquant la progression de ce traitement !
bon tout d'abord je vai essayer la procedure de hvb en esperant que ca  va marcher !!
merci tout de meme pour vos reponse les amis !!
Commenter la réponse de foufidou
Messages postés
961
Date d'inscription
vendredi 25 octobre 2002
Dernière intervention
27 janvier 2009
0
Merci
hmm, si ça ne colle pas à ton problème et que tu es en .net2 (vb2005), alors renseigne toi sur les BackGroundWorker, qui est une gestion de threads simplifiée et qui peut intéragir avec les objets de ta feuille de manière "thread-safe"

Hvb aka Batto
bato.ltd at gmail.com
Commenter la réponse de hvb
Messages postés
156
Date d'inscription
mardi 31 août 2004
Dernière intervention
21 mai 2015
0
Merci
j'ai pas pu dormir avant d'essayer  ta procedure hvb, donc voila ça marche à merveille et j'ai obtenu ce que je voulais !!
mais pour moi ca reste a savoir qu'elle est le vrai interet du thread si cette procedure parvient à nous donné satisfaction ?
Commenter la réponse de foufidou
Messages postés
2381
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
13 février 2015
0
Merci
Foufidou: Un thread ne s'utilise pas simplement pour faire des pauses sans bloquer ton interface.
Je les utilise quand j'ai un long traitement et/ou un traitement qui risque de figer mon interface.
Donc le plus judicieux si c'est le cas pour ta fonction est de l'executer dans un autre thread que le thread principal.

Le réel intêret du thread dans ton cas par rapport à ce que te propose Hvb et les ressources utilisés qui seront moindre.
++
Commenter la réponse de cs_Willi

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.