Coment faire faire un temps de pause à mon code??? [Résolu]

Signaler
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
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

Messages postés
586
Date d'inscription
jeudi 18 septembre 2003
Statut
Membre
Dernière intervention
13 février 2008
1
salut utilise l'api sleep
3
Merci

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

Codes Sources 159 internautes nous ont dit merci ce mois-ci

Messages postés
242
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
10 novembre 2005

ou contrôle Timer avec propriété Interval sur 3700
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
99
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/
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
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 !?
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
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 !?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Sleep() ne bloque que le thread qui l'appelle.

ciao...
BruNews, MVP VC++
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
13
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 !?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
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++
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
25
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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
ç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++