Effectuer une pause dans le code

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 993 fois - Téléchargée 71 fois

Contenu du snippet

Il vous faut un module où vous placerez tout ce code

Source / Exemple :


Private Type SYSTEMTIME
        wYear As Integer
        wMonth As Integer
        wDayOfWeek As Integer
        wDay As Integer
        wHour As Integer
        wMinute As Integer
        wSecond As Integer
        wMilliseconds As Integer
End Type
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Dim T1 As SYSTEMTIME, T2 As SYSTEMTIME, T3 As SYSTEMTIME

Public Sub Pause(Duree As Double, AutoDoEvents As Boolean)
If Duree > 30000 Then Exit Sub

Dim TpsEcoule 'Temps écoulé
GetSystemTime T2
Do
GetSystemTime T1
If T1.wMilliseconds < T2.wMilliseconds Then T1.wMilliseconds = T1.wMilliseconds + 1000: T1.wSecond = T1.wSecond - 1
T3.wMilliseconds = T1.wMilliseconds - T2.wMilliseconds
If T1.wSecond < T2.wSecond Then T1.wSecond = T1.wSecond + 60 ': T1.wMinute = T1.wMinute - 1
T3.wSecond = T1.wSecond - T2.wSecond

TpsEcoule = T3.wMilliseconds + T3.wSecond * 1000 + T3.wMinute * 60 * 1000 + T3.wHour * 60 * 60 * 1000
If TpsEcoule >= Duree Then Exit Sub
If AutoDoEvents = True Then DoEvents
Loop
End Sub

A voir également

Ajouter un commentaire Commentaires
cs_rocky42 Messages postés 97 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 7 mars 2011
3 mars 2011 à 15:41
sediq On est En VB6 pas en VB.Net ^^
Il ne faut pas confondre

Sleep est tres bien mais vous oubliée de dire que sleep bloque totalement l'application

Est ton code fait chaufée le cpu donc pour moi sa mertie un deux désolée
sediq Messages postés 7 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 28 avril 2009
25 nov. 2008 à 17:20
Bonjour,
voici juste une ligne pour réponder à votre besion:

System.Threading.Thread.Sleep(5000)

Have fun;)
Mystcreater Messages postés 10 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 18 septembre 2003
29 août 2003 à 17:10
déclarer l'API en conséquence = 1 ligne
appeler l'API ex: sleep(2000) = 1 ligne
en milliseconde
L'avantage de ta fonction est que nous ne somme pas obligé de calculer le délais en milliseconde de la pause lorsqu'elle est longue
elgoomff Messages postés 4 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 25 juillet 2003
17 janv. 2003 à 12:41
Avant, de dire que c'est naze ! j'aimerai bien voir comment certain le font en deux lignes...
;-)
Ton truc, je le fait en 2 lignes... c'est naze!
Afficher les 6 commentaires

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.