Attendre entre 2 actions [Résolu]

kiboumz 120 Messages postés mercredi 17 septembre 2003Date d'inscription 18 mai 2007 Dernière intervention - 6 juin 2006 à 19:39 - Dernière réponse : cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention
- 7 juin 2006 à 11:57
Bonjour,

J'aimerais savoir comment faire pour attendre un certain lap de temps entre 2 actions. J'avais pensé utilisé la méthode sleep (de thread), mais cette méthode ne fait que "geler" complétement le programme et ce n'est pas ce que je veux. Je veux que je puisse déplacer ma fenêtre comme si rien n'était, mais que la prochaine action programmée n'est pas lieu tout suite...

En espérant avoir été clair...

Merci
a+
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 7 juin 2006 à 11:57
3
Merci
Salut

je te propose une petite fonction :

Dans ta form ou dans un module (mais dans ce cas-là fonctions publiques) il faut déclarer les 2 fonctions suivantes :

    Private Declare Function GetTickCount Lib "kernel32" () As Long   ' c'est un API windows

    Private Function Pause(ByVal lnbmilliseconds As Long)   'fonction pause avec en paramètre le nombre de millisecondes à attendre
        Dim wait As Long

        wait = GetTickCount + lnbmilliseconds
        Do Until GetTickCount >= wait
            Application.DoEvents()   'DoEvents pour ne pas geler l'application
        Loop
    End Function

Puis ensuite appeler ta fonction pause dans ton code comme ceci :

Pause(100) 'pour 100 millisecondes



++

Deluka.

Merci cs_franckydeluka 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_franckydeluka
cs_hassen 338 Messages postés mardi 28 janvier 2003Date d'inscription 4 novembre 2008 Dernière intervention - 6 juin 2006 à 19:44
0
Merci
salut
tu travaille avec .Net?

Hassen TUNISIE
Commenter la réponse de cs_hassen
kiboumz 120 Messages postés mercredi 17 septembre 2003Date d'inscription 18 mai 2007 Dernière intervention - 6 juin 2006 à 19:57
0
Merci
Bonjour,

Oui, .Net avec le framework 2.0

a+
Commenter la réponse de kiboumz
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 6 juin 2006 à 22:40
0
Merci
Un composant Timer devrait te permettre de faire cela. En VB6, çà donne ceci, mais en VB.NET, çà doit être très similaire.

[...]
action1
Timer1.Enabled = True

[...]

Sub Timer1_Timer()
If Timer.Value = 2000 Then 'délai de 2 secondes
    action2
    Timer1.Enabled = False
End If
End Sub

Manu

--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Commenter la réponse de econs
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 6 juin 2006 à 22:47
0
Merci
Finalement, avec un p'tit SharpDevelop, j'ai pu coder ceci rapidement :

        Public compteur As Long
       
       
        Public Sub New()
            [...]
            compteur=0
            Timer1.Interval=1000
            [...]
        End Sub
       

       
        Private Sub Timer1Tick(sender As System.Object, e As System.EventArgs)
            compteur = compteur+1
            If compteur = 3 Then
                // action2 déclenchée au bout de 3 secondes à mettre ici
                Timer1.Stop()
            End If
           
        End Sub
       
        Private Sub Button1Click(sender As System.Object, e As System.EventArgs)
            // action1 a mettre ici
            Timer1.Start()
        End Sub

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Commenter la réponse de econs

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.