begin process at 2008 07 06 18:16:26
1 205 682 membres
247 nouveaux aujourd'hui
14 119 membres club

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 !

ATTENDRE UN CERTAINS NOMBRE DE SECONDES/MILLISECONDES SANS "PERDRE LA MAIN"


Information sur la source

Catégorie :API Classé sous : pause, sleep, attendre, wait Niveau : Débutant Date de création : 25/10/2002 Date de mise à jour : 12/06/2007 00:59:05 Vu : 5 837

Note :
9,4 / 10 - par 5 personnes
9,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Je n'ai pas trouver d'equivalent ici, je la poste donc en esperant ne pas creer de doublons.
La fonction sleep fait pareil, mais elle fige le programme, et vous ne pouvez plus faire aucunes actions dessus...contrairement à cette fonction :

Source

  • 'dans un module ou dans votre feuille :
  • Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  • Private Declare Function GetTickCount Lib "kernel32" () As Long
  • Public Sub hbwait(millisecondes As Long)
  • Dim attente As Long
  • attente = GetTickCount + millisecondes
  • Do Until GetTickCount >= attente
  • DoEvents
  • Sleep 1
  • Loop
  • End Sub
  • 'et au moment ou vous voulez la pause :
  • hbwait 5000
'dans un module ou dans votre feuille :

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetTickCount Lib "kernel32" () As Long


Public Sub hbwait(millisecondes As Long)
Dim attente As Long
attente = GetTickCount + millisecondes
Do Until GetTickCount >= attente
DoEvents
Sleep 1
Loop
End Sub




'et au moment ou vous voulez la pause :
hbwait 5000

Conclusion

HB  
12 juin 2007 00:59:05 :
5 ans plus tard, dechargement du processeur par un sleep de 1sc ^^
  • signaler à un administrateur
    Commentaire de AntiSlash le 25/10/2002 21:45:43

    ya une api qui fait la meme chose:
    private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

    et donc tu fais
    sleep 500 et ca attend 500 ms

    mais contrairement à ton code, tout ton prog est arreté (tu ne peux pas déplacer ta fenetre ou cliquer...)
    @+

  • signaler à un administrateur
    Commentaire de hvb le 26/10/2002 11:34:10

    Bah justement c'est ca l'interet, immagine tu fais une pause de 120secondes, ca la fout mal si l'user perd la main... d'ou l'interet de la boucle de doevents par rapport à sleep . et j'ai preciser dans l'entete que je connaissais sleep, mais merci quand meme ;)

  • signaler à un administrateur
    Commentaire de Tidus le 14/11/2002 21:49:06

    C'est intéressant. La fonction SLEEP a cet avantage que le système fige l'application pour la durée fixée : Aucune ressource système utilisée. La fonction qui est proposée ici fige le programme sans le figer, en fait, il se contente de regarder sa montre jusqu'à ce qu'il soit l'heure de continuer, ce qui bouffe des ressources systèmes, et en Graaaaaaande quantité sur un PC des plus antiques ... Mais qui en utilise encore ? (Nota pour ceux qui sont tentés de dire "Moiiiii !", je sais, moi aussi ...)

  • signaler à un administrateur
    Commentaire de DNBPROCESS le 31/08/2003 15:15:22

    sa s'appelle les événements !

    c'est le placement de doevents qui fait tout !

  • signaler à un administrateur
    Commentaire de DnasT le 03/01/2005 04:38:54

    merci excellent ca ma rendu bien service ;)

  • signaler à un administrateur
    Commentaire de Toune45 le 21/06/2005 11:06:47

    En effet, tres interessant!
    Il faut tout de meme se mefier que le contexte ne change pas!

  • signaler à un administrateur
    Commentaire de Ryunosuke le 08/06/2006 09:30:54

    simple et efficace!
    je travaille sur un synchronisateur de contacts bdd oracle/outlook, et ta fonction permet de garder un controle sur l'application qui pourrait tourner longtemps si le nombre de contacts est important...
    merci beaucoup!

    Ryu

  • signaler à un administrateur
    Commentaire de antho2005 le 08/04/2008 15:05:10

    Je sais que cette source date mais c'est juste pour info:
    Le sleep 1 n'est pas nécessaire ...

  • signaler à un administrateur
    Commentaire de antho2005 le 08/04/2008 15:24:26

    Annulé, j'avais pas vu l'historique de mise a jour ;)

Ajouter un commentaire

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS