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 :

remplacement d'un timer .. ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut remplacement d'un timer .. ?
    Salut,

    J'ai deposé un post mais personne ne me reponds, j'en suppose que persoone n'a la soluce, cependant je me demandais si quelqu'un avait une idée sur la chose suivante et donc je me permets de poster ici car c'est une question d'ordre générale .. !

    Comment remplacer un timer .. . ? c.a.d ne pas rester bloqué dans une boucle, (mon soft est un multi threads ) et verifier qu'un durée variable de 0 à 60 secondes par exemple se soit ecoulée ...

    Mon post du depart : http://www.developpez.net/forums/sho...d.php?t=295345

    Si vous avez une idée ..

  2. #2
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Tu n'as qu'à mettre un Sleep() dans ta boucle.

    Valable uniquement sur Win32.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    le Sleep() n'est pas bloquant ... ?

    J'essaye ..

  4. #4
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Normalement c'est pas bloquant, j'ai fait ça de nombreuses fois
    et ça marche bien.

    Tiens moi au courant une fois que tu auras essayé pour me dire si ça marche.

    PS : par contre fais attention le Sleep() Win32 n'est pas portable.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    Re,

    Ca marche pas, mais c'est bizarre j'ai mis 20 secondes et rien j'ai mis 20.000 en pensant qu'il s'agissait de ms .. rien ..

    ce que je veux faire c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    for(i=0;i<nbr;i++){
     tab[i]=...;
     fprintf(tab[i] ... );
     Sleep(2000);
    }
    en fait que le programme ecrive dans le ficheir ttes les n secondes ..


    a mais attends je crois savoir, (je l'ai pas déclaré .. )
    ca suffit d'inclure Windows.h .. ? Tu l'a declare bien quelquepart non .. ?


    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
     
    #ifndef DP_CONSIGN_H
    #define DP_CONSIGN_H
    #include "DpConsign.h"
    #include <QSpinBox.h>
    #include <Qthread.h>
    #include <windows.h>
    //! Class DpConsignImpl
    /*! This class inherits of DpConsign class.
    */
    /////////////////////////////////////////////////////////////////////////////////////
    class DpConsignImpl : public DpConsign {
    /////////////////////////////////////////////////////////////////////////////////////
    Q_OBJECT
    public:
    DpConsignImpl(QString str, bool b, QWidget* parent = 0, const char* name = 0, WFlags f = 0
    );
    ~DpConsignImpl();
    FILE * stream;
    //QTimer* monTimer;
    //int cpt;
    protected :
    private slots :
    void ButtonGoRelatif();
    void ButtonGoAbsolu();
    void ButtonGisDist();
    // void Done(void);
    public slots :
    signals :
    AutoPosRelativeAction(float,float,float) ;
    AutoPosAbsoluteAction(float,float,float) ;
    AutoPosGisDistAction(float,float,float) ;
    };
    #endif // CALCULATOR_H
    1

  6. #6
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Effectivement ca peut bloquer au niveau de la boucle si tu n'as pas déclaré ton Sleep().

    De mémoire, la fonction est déclarée dans "Windows.h".

    D'ailleurs ca n'aurait même pas dut compiler du tout ... mais tu est sur quelle plateforme de développement et quel compilateur ?

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38
  3. [] [Réseau] Anti-timer, anti-idle
    Par clonevince dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 15/01/2003, 22h19
  4. Timer de précision
    Par guigui dans le forum MFC
    Réponses: 1
    Dernier message: 04/12/2002, 15h21
  5. Timer en µsecondes
    Par Dagobert dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 25/11/2002, 00h59

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