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 :

attendre 1 seconde entre deux fonctions [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut attendre 1 seconde entre deux fonctions
    bonjour,

    comment puis je attendre 1 seconde entre deux fonctions
    j'ai bien vu ici et la l'utilisation de timer mais je ne sais pas comment l'utiliser dans mon cas car c'est l'appel de la fonction 1 qui doit declencher le timer.
    merci de votre aide

    cordialement,

    ulrich

  2. #2
    Membre averti
    Avatar de Superstivix
    Inscrit en
    Décembre 2003
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 250
    Points : 405
    Points
    405
    Par défaut
    Regarde la fonction Sleep()
    Modérateur Taverne et C++Builder
    Règles du Club - Règles de la Taverne
    FAQ BCB - sources
    Et je mords

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Sleep(1000) car c'est en millisecondes ( = 1 sec)

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Et n'oublie pas de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application->ProcessMessages();
    avant !
    Neilos

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    merci pour vos reponses
    simple curiosité a quoi sert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application->ProcessMessages();

  6. #6
    Membre expérimenté
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Points : 1 427
    Points
    1 427
    Par défaut
    Citation Envoyé par urousseau
    merci pour vos reponses
    simple curiosité a quoi sert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application->ProcessMessages();
    Vive l'aide:
    Interrompt l'exécution d'une application pour que Windows puisse traiter la file d'attente des messages.
    + + +

  7. #7
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    bonjour,
    il est déconseillé d'utiliser dans le Thread VCL Pincipal d'une application
    un Sleep
    Sleep est une fonction Bloquante durant toute la durée de l'opération
    ce qui peut simplement bloquer le traitement des messages
    une appel a ProcessMessage ne changeras pas cette Situation

    il est préférable d'utiliser une fonction de Timer
    par exemple

    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
     
     
    dans le .h
    private:
       TTimer * mTimer; 
       void __fastcall ExecFunction();
       void __fastcall TimeOccurs(TObject* Sender);
     
     
    dans le .cpp
     
    // dans le Constructeur de Ta form
    mTimer = new TTimer(NULL);// Création du Timer avec une Temps de 1 Seconde
    mTimer->Enabled =false;// désactive le Timer
    mTimer->OnTimer=Form1->TimeOccurs;
     
     // dans le derstructeur de ta Form
    void __fastcall Form1::FormDestroy(TObject *Sender)
    {
      delete mTimer ;// libération de la mémoire
     
    }
     
    //par exemple
    void __fastcall Form1::ExecFunction()
    {
       mTimer->Enabled=true; // mise en activité de ton Timer
       fct1();// Appel de la fonction
    }
     
    //dans la méthode TimeOccurs
    void __fastcall Form1::TimeOccurs(TObject* Sender)
    {
      Appel de ta deuxième fonction
      mTimer->Enabled =false;// on désactive le Timer
    }
    Cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  8. #8
    Invité
    Invité(e)
    Par défaut Equivalent API Windows ?
    Citation Envoyé par urousseau Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application->ProcessMessages();
    Quel est l'équivalent de cette fonction dans l'API Windows ?
    (Histoire de ne pas rester dépendant de la VCL)

    A vue de nez, je ne le trouve pas tout de suite dans msdn...

    Merci.

  9. #9
    Invité
    Invité(e)
    Par défaut
    L'équivalent, c'est PeekMessage(...), non ?

    http://msdn.microsoft.com/en-us/library/ms644943.aspx

Discussions similaires

  1. Différence entre deux fonctions
    Par camboui dans le forum C++
    Réponses: 13
    Dernier message: 17/06/2008, 14h12
  2. Conflit entre deux fonctions
    Par csseur22 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2007, 14h07
  3. sauver une variable entre deux fonctions ?
    Par shloka dans le forum Langage
    Réponses: 10
    Dernier message: 03/04/2007, 14h38
  4. [MySQL] conflit entre deux fonction while
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/12/2006, 12h56
  5. [MySQL] Conflit entre deux fonction WHILE
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2006, 18h15

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