IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Timer de 3 secondes, puis stop !


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut Timer de 3 secondes, puis stop !
    Amis du matin bonjour,

    j'ai un petit soucis dans mon programme que je souhaiterais vous exposé, j'ai une méthode intitulé qui ouvre un relais sur une carte relié en au port série, voici le contenu de cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Sub Ouvrir_porte_sortie() 'ouvrir la porte de sortie des secours
            Address_Byte = 0
            Command_Byte = 8
            Data_byte = 1
            Send_cmd(Address_Byte, Command_Byte, Data_byte)
        End Sub
    Elle contient les paramétré à envoyé a la carte (et à la méthode Send_cmd) pour l'ouverture du relais correspondant.

    Et j'ai un bouton qui lorsque je clique dessus, appel la méthode "Ouvrir_porte_sortie()"

    Jusque la aucun probléme tous fonctionne, mais le probléme arrive maintenant : en faite je souhaite ouvrir le relais, (lancer la méthode "Ouvrir_porte_sortie()" lorsque je clique sur le bouton toujours, mais seulement pendant 3 secondes, et après ces 3 secondes appelé une dernière fois la méthode "Ouvrir_porte_sortie()" pour refermer le relais.

    Donc j'ai fait ceci :

    Lorsque je clique sur mon bouton je lance timer4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Timer4.Start()
                Timer4.Interval = 3000
    et dans mon timer j'appelle ma méthode :
    Le gros soucis est que une fois que je clique sur le bouton concerné le relais est éteint 3 secondes puis ce rallume 3 secondes puis est éteint 3 secondes puis ce rallume.....etc jusqu'à ce que je ferme le port série !

    pourriez vous m'aider ???

  2. #2
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Bonjour

    Un petit bout de code pouvant peut être t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Public Class Form1
          Dim compteSec As Integer
     
          Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
               Timer1.Start()
               Timer1.Interval = 1000
          End Sub
     
          Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
               If compteSec < 3 Then
                   compteSec = compteSec + 1
                   TextBox1.Text = compteSec
               Else
                  Timer1.Stop()
               End If
          End Sub
    End Class

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 151
    Par défaut
    Salut,

    dans ton Timer4.Tick
    tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Timer4.Stop() 'Arrete ton Timer (ne se relance donc pas automatiquement)
    Timer4.Enable = False '(désactive ton timer)
    Ouvrir_porte_sortie()
    Citation Envoyé par AcidLines Voir le message
    Bonjour

    Un petit bout de code pouvant peut être t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Public Class Form1
          Dim compteSec As Integer
     
          Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
               Timer1.Start()
               Timer1.Interval = 1000
          End Sub
     
          Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
               If compteSec < 3 Then
                   compteSec = compteSec + 1
                   TextBox1.Text = compteSec
               Else
                  Timer1.Stop()
               End If
          End Sub
    End Class
    Pas besoin d'exécuter trois fois un timer d'une seconde . Mieux vaut en utiliser un de trois secondes.


    Bon Dev, @+
    Mat

  4. #4
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Citation Envoyé par matll Voir le message
    Salut,
    Pas besoin d'exécuter trois fois un timer d'une seconde . Mieux vaut en utiliser un de trois secondes.
    Mat
    Je sais c'était juste un exemple à adapter au besoin

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    Merci j'ai essayé les deux solutions et elle fonctionne toutes très bien, j'ai quand même opté pour la deuxième plus petite et simple en code, mais merci a vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [80c535] Timer de 3 secondes et gestion d'un afficheur HD44780U
    Par malabar969 dans le forum Autres architectures
    Réponses: 7
    Dernier message: 02/12/2010, 23h50
  2. onmouseover avec un délai d'une seconde puis 1 click
    Par pelluche dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/03/2009, 14h29
  3. [tempo sous linux] comment stop timer ?
    Par untipy dans le forum Linux
    Réponses: 1
    Dernier message: 09/08/2007, 11h03
  4. Comment lancer un programme au démarrage puis un second?
    Par lovelyseb dans le forum Windows XP
    Réponses: 7
    Dernier message: 30/03/2007, 17h13
  5. Timer en µsecondes
    Par Dagobert dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 25/11/2002, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo