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

C# Discussion :

Temps passé entre deux KeyPress


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Temps passé entre deux KeyPress
    Bonjour

    Dans un contexte asser particulier, j'essaye de mesurer le temps passé entre deux keyPress

    La raison
    J'ai fait une petite application de saisie sur un terminal mobile.
    L'utilisateur dispose de deux textbox
    Le premier doit obligatoirement etre rempli a l'aide du scanner de code barre intégré
    le deuxieme peut etre rempli manuelement
    Malheureusement le scanner agit comme un clavier et il n'est pas possible de distinguer l'input

    La seule méthode que j'ai trouvée a ce moment c'est d'évaluer le temps de saisie qui sera evidemment beucoup lus rapide avec le scan que manuellement

    Malheuresement il semble que la resolution du Tick ne soit pas sufisante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long mil=(DateTime.Now -FirstKey).Ticks;
    Me donne comme resolution minimum +/- 10000000 (a mon avis plus ou moins 300 ms)
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Utilise un Stopwatch, c'est beaucoup plus précis...

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Tomlev

    Tu as raison
    Mais a la reflexion si je dois aller dans cette direction, autant utiliser un Timer qui me donne en plus la possibilité de déclancher un event dans un intervalle donné

    Ca me permetra de verifier si le buffer d'attente du textbox ne contient pas du garbage

    Sachant qu'une valeur correcte du textbox doit contenir 5 digit mon idée est d'intercepter chaque touche et de n'afficher que si l'input contient 5 caracteres entrés via le scan

    Petit détail je constate que le Timer sur le CF n'a pas les methodes Stat, Stop mais seulement Enable ??
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par olibara Voir le message
    Petit détail je constate que le Timer sur le CF n'a pas les methodes Stat, Stop mais seulement Enable ??
    Pas grave, Start et Stop se contentent de jouer sur la propriété Enabled...

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci

    Oui c'est effectivement avec enable que je joue
    Par contre a moins d'utiliser des ruses de sioux je crains bien etre forcé d'utiliser AUSSI un Stopwatch car le Timer ne donne pas le temps reel écoulé

    Du coup j'ai un peu peur de bouffer beaucoup de ressource en faisant intervenir a la fois un stopwatch et un Timer
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    On devrait s'en sortir ainsi :
    • un interval de timer de l'ordre de 200 ms,
    • le textbox du scan est Read-only,
    • on déclenche le timer si il n'est pas enabled et si un caractère est reçu, tout en sauvegardant le contenu du textbox de saisie.
    • quand l'event timer se déclenche, on stoppe le timer et on envisage les 2 cas possibles :
    1. 5 caractères ajoutés dans le textbox de saisie : on copie les 5 char dans le textbox du scan et on les supprime du textbox de saisie.
    2. moins de 5 caractères ajoutés : on ne fait rien.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Tout a fait Graffito

    A quelques détail pres tu a bien résumé le process
    Neanmoins le timer seul ne suffit pas j'utilise aussi le Stopwatch, ca permet un controle plus fin
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

Discussions similaires

  1. Calculer temps restant entre deux date
    Par jarod6827 dans le forum Langage
    Réponses: 25
    Dernier message: 12/02/2010, 16h07
  2. [Débutant] Calculer le temps écoulé entre deux heures
    Par amine_angel80 dans le forum Assembleur
    Réponses: 2
    Dernier message: 28/05/2008, 16h23
  3. Calcul temps ecoulé entre deux dates
    Par biazoc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2008, 15h21
  4. [TIMER] Temps restant entre deux événements
    Par Rayek dans le forum Delphi
    Réponses: 8
    Dernier message: 17/11/2006, 15h37
  5. calculer la temps moyen entre deux dates
    Par zainabsourid dans le forum BIRT
    Réponses: 1
    Dernier message: 24/07/2006, 12h06

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