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++Builder Discussion :

Opération sur les LARGE_INTEGER


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Par défaut Opération sur les LARGE_INTEGER
    Je cherche à faire des opérations sur les LARGE_INTEGER comme '-' et '/' mais le compilateur me dit que ces opérateurs ne sont pas implémentés (E2093).
    Je n'arrive pas à trouver ou sont ces opérateurs.
    Merci de votre aide.

    P.S : j'utilise les LARGE_INTERGER car c'est le type géré par lafonction QueryPerformanceCounter.

    NOTA : en Delphi6, je n'ai pas eu ce problème.

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut
    Apparement ton LARGE_INT serait une structure pour coder un nombre sur 64bit. J'ai trouvé ce code :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include <stdio.h>
    ...
    ...
      LARGE_INTEGER ticksPerSecond;
      LARGE_INTEGER tick;   // A point in time
      LARGE_INTEGER time;   // For converting tick into real time
     
      // get the high resolution counter's accuracy
      QueryPerformanceFrequency(&ticksPerSecond);
     
      // what time is it?
      QueryPerformanceCounter(&tick);
     
      // convert the tick number into the number of seconds
      // since the system was started...
      time.QuadPart = tick.QuadPart/ticksPerSecond.QuadPart;
     
      //get the number of hours
      int hours = time.QuadPart/3600;
     
      //get the number of minutes
      time.QuadPart = time.QuadPart - (hours * 3600);
      int minutes = time.QuadPart/60;
     
      //get the number of seconds
      int seconds = time.QuadPart - (minutes * 60);
     
      AnsiString result = "The system was started ";
      result += IntToStr(hours) + " hours ";
      result += IntToStr(minutes) + " minutes ";
      result += IntToStr(seconds) + " and ";
      result += AnsiString(tick.QuadPart % ticksPerSecond.QuadPart);
      result += AnsiString("/") + ticksPerSecond.QuadPart;
      result += " seconds ago.";
     
      printf("%s", result.c_str());
    Il fonctionne bien chez moi et apparement, il fait des opérations sur des types LARGE_INT et utilise ta fonction QueryPerformanceCounter. N'oublie pas d'inclue la bibliothèque stdio.h.

Discussions similaires

  1. Opération sur les dossier...
    Par bdaboah dans le forum Langage
    Réponses: 5
    Dernier message: 01/11/2005, 17h28
  2. [OpenGL/C++] Opérations sur les Textures
    Par Bob.Killer dans le forum OpenGL
    Réponses: 6
    Dernier message: 10/08/2005, 10h27
  3. Opérations sur les matrices...
    Par aokiseiichiro dans le forum C
    Réponses: 32
    Dernier message: 28/07/2005, 17h10
  4. opérations sur les bits d'un byte
    Par petitours dans le forum C++Builder
    Réponses: 4
    Dernier message: 10/02/2004, 20h42
  5. opérations sur les dates
    Par coucoucmoi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2003, 11h45

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