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

Langage Delphi Discussion :

Gettickcount longue durée


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 50
    Points
    50
    Par défaut Gettickcount longue durée
    Voila, je compte utiliser un Getticcount sur une application (développée avec Delphi 2005) qui tournera en permanence pour avoir une bonne précision car ce Gettickcount servira par différence à définir la position (d'une vanne ) qui s'ouvre et se ferme. La précision est nécessaire pour éviter d'empiler les erreurs
    Or, j'ai vu sur Developpez.com que le système remet à 0 cette valeur de Gettickcount tous les 39 jours
    Que ce passera-t-il lorsque le gettickcount repart à zéro entre de 2 appels de Gettickcount ? mes valeurs de variables seront dans les choux !
    Merci d'avance

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    je suppose que GetTickCount() renvoie un Cardinal : au bout de 49 jours et des brouettes, il s'est écoulé (2^32)-1 millisecondes, le compteur vaut donc 111111111.....1111111 en binaire et la milliseconde suivante : 0 !

    si tes appels sont relativement fréquents, stocke dans un Int64, et si l'appel suivant est plus petit, ajoute (2^32)-1 pour obtenir le bon delta, puis repars de la valeur obtenue
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu peux aussi passer par des datetimes, la tu as plus le problème des x jours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure Wait (ms : Integer);
    var
      dTimeDebut : TDateTime;
      iMsBetween : Integer;
    begin
      dTimeDebut := Now;
      iMsBetWeen := MilliSecondsBetween(Now,Now);
      while  iMsBetWeen <= ms do
      begin
        Application.ProcessMessages;
        iMsBetween := MilliSecondsBetween(dTimeDebut,Now);
      end;
    end;
    C'est une procédure que j'ai réalisé pour remplacer le sleep et pour eviter le problème de remise a zéro du GetTickCount.
    Je ne sais pas si c'est tres précis (je ne suis pas a quelques ms près), faut tester
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Impeccable, merci à tous pour ces réponces

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

Discussions similaires

  1. stage de longue durée
    Par Henry9 dans le forum Stages
    Réponses: 3
    Dernier message: 18/06/2008, 15h18
  2. DBA - Prestation longue durée
    Par Erwan1978 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/02/2008, 11h17
  3. [Sérieux] location de véhicule longue durée
    Par cladsam dans le forum La taverne du Club : Humour et divers
    Réponses: 6
    Dernier message: 22/11/2007, 16h57
  4. [timer] un timer "très" longue durée?
    Par bakonu dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/06/2007, 16h42

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