Mise en attente d'un prg

Résolu
foufidou Messages postés 156 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 21 mai 2015 - 4 mars 2007 à 21:32
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 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 ??

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 mars 2007 à 21:49
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"
<!--
3
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
4 mars 2007 à 22:05
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
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
4 mars 2007 à 23:12
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é.

++
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
4 mars 2007 à 23:46
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
0

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

Posez votre question
foufidou Messages postés 156 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 21 mai 2015
5 mars 2007 à 01:51
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 !!
0
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
5 mars 2007 à 02:18
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
0
foufidou Messages postés 156 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 21 mai 2015
5 mars 2007 à 02:38
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 ?
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
5 mars 2007 à 09:39
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.
++
0
Rejoignez-nous