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 :

Probl�me avec l'utilisation de la fonction clock


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut Probl�me avec l'utilisation de la fonction clock
    Bonjour tout le monde

    J'explique brievement mon probleme.
    Je suis en stage et je dois calculer des temps de collage et de d�collage de certains relais.
    Pour cela je pensais laiss� le relais ouvert tout en envoyant un signal � son entr�e puis le ferm� et ainsi calculer le temps qu'il aura fallu pour qu'il se ferme. Tout ce la se ferait entre le moment ou j'aurai lanc� la commande de fermeture et le moment ou j'aurai r�ceptionn� le signal.

    Mon probl�me est que je n'arrive pas du tout � savoir comment faire � part en utilisant la fonction clock.
    Mais je n'arrive pas du tout � m'en servir.

    Si quelqu'un pouvait m'aider

  2. #2
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Je ne connais pas la fonction clock ?
    Tu la trouv� o� ?

    Tu peut utiliser la fonction GetTickCount (Api win32) pour mesurer des temps.
    ou QueryPerformanceCounter si tu veux plus de pr�cision.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut
    je l'ai trouv� dans l'aide de borland c++ builder

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut
    GetTickCount et QueryPerformanceCounter ne sont pas dans l'aide de borland alors comment m'en servir?

  5. #5
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Mea-culpa pour clock elle existe bien !

    pour tester sur une form tu mets un bouton et un label puis dans le ckick
    du bouton :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <time.h>
     
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
          int t1 = clock();
          Sleep(100); // on mes 100ms pour le test
          int t2 = clock();
          Label1->Caption = t2-t1;
    }
    elle te retoune le temps en ms entre les deux appels
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  6. #6
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    GetTickCount s'utilise de la m�me fa�on.


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    void __fastcall TForm1::Button1Click(TObject *Sender) 
    { 
          int t1 = GetTickCount(); 
          Sleep(100); // on mes 100ms pour le test 
          int t2 = GetTickCount(); 
          Label1->Caption = t2-t1; 
    }
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut
    Merci beaucoup, je l'ai essaye et g l'impression que c'est exactement ce dont j'avais besoin.

    une derni�re question, QueryPerformanceCounter marche comment?
    parce ce que j'ai lu que cette fonction est tr�s performante et j'en aurai peut etre besoin pour am�liorer pour projet
    Merci d'avance

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut
    cela se confirme, je viens de tester en remplacant par 1 dans le sleep et la fonction me sort toujour 15 ms.
    Il me faut absolument une fonction qui puisse me donner des temps de l'ordre du dixi�me de la milliseconde.
    Est-ce possible? Si oui comment?

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par d�faut
    Pour QueryPerformanceCounter j'ai eu l'occasion de faire �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    LARGE_INTEGER Start, End;
     
    QueryPerformanceCounter(&Start);
      //le truc à mesurer
    QueryPerformanceCounter(&End);
     
    double temps = End.LowPart-Start.LowPart;
    Par contre je ne me rappelle pas de la pr�cision.

  10. #10
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par d�faut
    merci ca a l'air bien mais quel est l'unit� de la variable temps?

  11. #11
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    En fait c'est QueryPerformanceFrequency qui retourne la fr�quence.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  12. #12
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par d�faut
    J'ai pos� la question de l'unit� de temps dans un autre sujet mais �a n'a pas inspir� beaucoup de monde et je n'ai pa trouv� le renseignement ailleur, du coup je peux seulement te faire part de mon avis : je dirai que ce sont des microsecondes.

  13. #13
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    je dirai que ce sont des microsecondes.
    Non
    L'unit� de temps c'est 1 divis� par la fr�quence
    La fr�quence �tant differente d'un PC � l'autre. Elle est retourn�e
    par la fonction QueryPerformanceFrequency
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  14. #14
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par d�faut
    Merci pour la pr�cision; chez moi �a donne une valeur de l'ordre de 2,8 �s (si tant est que la QueryPerformanceFrequency renvoie une valeur en Hz).

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me avec l'utilisation de la fonction dataset
    Par sohoney dans le forum MATLAB
    R�ponses: 1
    Dernier message: 11/01/2013, 16h21
  2. R�ponses: 3
    Dernier message: 19/12/2009, 11h49
  3. Utilisation de fonction JavaScript
    Par Kirite dans le forum XMLRAD
    R�ponses: 5
    Dernier message: 22/06/2009, 17h39
  4. R�ponses: 3
    Dernier message: 07/05/2008, 13h30
  5. probl�me avec l'utilisation d'une fonction
    Par mcspawn dans le forum Langage
    R�ponses: 6
    Dernier message: 06/06/2007, 15h39

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