Effectuer une pause dans le code

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 769 fois - Téléchargée 69 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

Messages postés
97
Date d'inscription
jeudi 28 juin 2007
Statut
Membre
Dernière intervention
7 mars 2011

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
Messages postés
7
Date d'inscription
mercredi 13 février 2002
Statut
Membre
Dernière intervention
28 avril 2009

Bonjour,
voici juste une ligne pour réponder à votre besion:

System.Threading.Thread.Sleep(5000)

Have fun;)
Messages postés
10
Date d'inscription
vendredi 11 octobre 2002
Statut
Membre
Dernière intervention
18 septembre 2003

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
Messages postés
4
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
25 juillet 2003

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.