Coment faire faire un temps de pause à mon code???

Résolu
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 10 juil. 2005 à 02:08
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 11 juil. 2005 à 14:09
voila je veu savoir, comment faire pour que mon code fasse une pose de x seconde entre deux ligne de celui ci

exemple le code provoque l'affichage d'une image et un nouvelle affichage d'une autre 3,7 seconde plus tard par exemple. alors quelle est la ligne de code que je dois insérer??

merci d'avance

10 réponses

cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
10 juil. 2005 à 02:42
salut utilise l'api sleep
3
mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
10 juil. 2005 à 03:48
ou contrôle Timer avec propriété Interval sur 3700
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
10 juil. 2005 à 08:17
Le contrôle Timer ne permettra pas de faire une pause, à moins de faire
une sémaphore pour bloquer le code, et utiliser donc une variable
globale, ce qui n'est pas très propre.



Je conseille plutôt la solution de masterHack d'utiliser la fonction de l'API Sleep avec un intervale de 3700.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
10 juil. 2005 à 18:34
Salut,

Humm, je n'aime pas l'api sleep car elle ne bloque pas QUE le programme mais aussi TOUS les process. Donc je préconiserais plutôt un chtit ex venu de Microsoft mais bien utile :

Dim Pause As Single
Dim Start As Single


Pause = 3.7 ' Définit la durée en secondes et centièmes de secondes
Start = Timer ' Définit l'heure de début.
Do While Timer < Start + Pause
DoEvents ' Donne le contrôle à d'autres processus.
Loop



-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0

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

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
10 juil. 2005 à 18:37
Je dois quand même préciser au passage que le mot Timer utilisé dans l'exemple n'est pas le contrôle mais la fonction, voir la MSDN.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
10 juil. 2005 à 18:51
Sleep() ne bloque que le thread qui l'appelle.

ciao...
BruNews, MVP VC++
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
10 juil. 2005 à 20:47
Désolé BruNews, par expérience (en vb6), je préfère la solution que j'ai proposée plutôt que l'api sleep() qui m'a causé pas mal d'embrouilles ne serait-ce qu'au niveau du timing system.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
10 juil. 2005 à 21:11
vi vi je comprends bien que ça pose un prob en vb6, d'ailleurs Sleep() n'est à utiliser QUE dans un thread additionnel sinon on bloque tout le prog et comme la création de thread en vb6 est à oublier...
Moralité: passer à .NET dès que possible.

ciao...
BruNews, MVP VC++
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
11 juil. 2005 à 13:46
on peut utiliser Sleep pour des petits temps

ça repose le processeur







Dim Pause As Single

Dim Start As Single



Pause = 3.7

Start = Timer + Pause

Do While Timer < Start

DoEvents

Sleep 10

Loop


Daniel
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
11 juil. 2005 à 14:09
ça ne repose rien bien au contraire, ça force le kernel à créer un event sur le planificateur de taches pour la relance du thread à chaque appel de Sleep.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous