Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

EFFECTUER UNE PAUSE DANS LE CODE


Information sur la source

Catégorie :Date & Heure Classé sous : pause Niveau : Débutant Date de création : 05/01/2001 Vu : 3 933

Note :
4,25 / 10 - par 4 personnes
4,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

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

Source

  • 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
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

 

Commentaires et avis

signaler à un administrateur
Commentaire de elgoomff le 17/01/2003 12:41:20

Avant, de dire que c'est naze ! j'aimerai bien voir comment certain le font en deux lignes...
;-)

signaler à un administrateur
Commentaire de Mystcreater le 29/08/2003 17:10:31

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

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

VBA - WORD [ par Blanche ] Je désire faire une pause lors de l'exécution de la macro afin de permettre à l'utilisation de faire des corrections dans le document. Donc, une paus Ah ! les services NT ! [ par RVTT ] Salut, Voila, je devellope une petite application qui permet a bernard de 'couper' ce qui risque de faire planter une gravure en cour. Il click sur un comment mettre en pause? [ par mike ] Existe-t-il une procédure qui permet de mettre en pause le programme pendant un temps donné?Par exemple si je clique sur un bouton, une image s'affich urgent pause système [ par Cyberdevil ] Hello,Je fais comment pour faire une pause dans le système,c'est à dire que tout le programme en chargement ou en exécution soit "pauser" En faite je Recherche le nom d'une fonction [ par eltaris ] Existe t-il une fonction qui mette le programmeen "pause" pendant un temps que l'on choisit ?ex : si je tape Pause(5), le programme s'arrête pendant5 Faire une pause dans un programme [ par nino208 ] Bonjour,je recherche l'écriture d'une fonction Delay (de pause dans un programme) sans faire de boucle (ça consomme de la CPU) mais en utilisant un ti Faire une pause dans un programme [ par nino208 ] Bonjour,je recherche l'écriture d'une fonction Delay (de pause dans un programme) sans faire de boucle (ça consomme de la CPU) mais en utilisant un ti faire une pause (pas en durée) [ par FleX ] ben voila c surement un trc tout con mais n'empeche ke je me prend la tete....Voila mon souci : g un prog qui fait une traitement (avec la form1)et qu


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.