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 6 et antérieur Discussion :

Valeur d'un timer qui se réinitialise


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Par défaut Valeur d'un timer qui se réinitialise
    Bonjour à tous,

    Je travaille avec VB6 et j'ai du faire un programme qui scann un port com de mon pc toute les "X" secondes sur une durée de "Y" heures, minutes, secondes.

    Le programme fonctionne à merveille mais lorsque l'on passe le cap de 23h59 59" mon timer se réinitialise à la valeur "0" et ma procédure "Delay" tourne en boucle.

    Voici la procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Sub proDelay(nSecond As Single)
        Dim t0 As Single
        'temps de référence
        t0 = Timer
        Do While Timer - t0 < nSecond
            DoEvents
            If nSecond - (Timer - t0) > 0.5 Then
                Sleep (400) 'milliseconde
            ElseIf nSecond - (Timer - t0) > 0.1 Then
                Sleep (90)
            End If
        Loop
    End Sub
    (je crois même que cette procédure vient de la FAQ si je ne me trompe pas)

    Comment puis-je faire pour que mon timer ne se réinitialise pas à "0" lorsque l'on change de date (automatiquement) ? ...

    Merci d'avance pour vos réponses.

    Si vous avez besoin de plus d'information / code, merci de me le dire ...

    Bonne journée à vous tous ... ;-)

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Je n'ai pas essayé le code suivant mais ça devrait faire l'affaire je pense :

    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
     
    Public Sub proDelay(nSecond As Single)
    Dim t0 As Single
    'temps de référence
    t0 = Timer 
    Do While Timer - t0 < nSecond
      DoEvents
      If nSecond - (Timer - t0) > 0.5 Then
        Sleep (400) 'milliseconde
      ElseIf nSecond - (Timer - t0) > 0.1 Then
        Sleep (90)
      End If
      If Timer < t0 then t0 = t0 - 86400
    Loop
    End Sub

  3. #3
    Membre éclairé Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Par défaut


    Ouahhh ... super ...

    Cela fonctionne super bien ... ;-) ...

    Merci pour ce code ...

    C'est vraiment génial ...

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

Discussions similaires

  1. Valeur date qui se réinitialise
    Par Jahprend dans le forum Langage
    Réponses: 3
    Dernier message: 02/07/2008, 14h16
  2. Réponses: 6
    Dernier message: 18/01/2007, 10h24
  3. Retourner la valeur d'une liste qui se retrouve le plus souvent
    Par Difool dans le forum Général Python
    Réponses: 6
    Dernier message: 02/07/2006, 13h18
  4. Réponses: 7
    Dernier message: 16/06/2006, 16h31
  5. Numéro Auto qui se réinitialise à 1 tous les jours!
    Par R0cKW|LDeR dans le forum Access
    Réponses: 11
    Dernier message: 02/02/2006, 22h05

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