[C++ Builder] Comment arrêter un Timer
Fermé
diablo69
Messages postés
15
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
25 juin 2007
-
22 déc. 2006 à 08:50
tony - 5 juin 2009 à 09:36
tony - 5 juin 2009 à 09:36
Bonjour les amis !
J'ai une question avec C++ Builder...
C'est a dire que j'ai crée un Timer dans mon projet pour une animation et je voulais qu'il s'arrête après 15 secondes... Genre quand je le declenche je veux qu'après 15 secondes il s'arrête !
Coment faire ca ?
Bonne journée !
J'ai une question avec C++ Builder...
C'est a dire que j'ai crée un Timer dans mon projet pour une animation et je voulais qu'il s'arrête après 15 secondes... Genre quand je le declenche je veux qu'après 15 secondes il s'arrête !
Coment faire ca ?
Bonne journée !
A voir également:
- Timer c++ builder
- Pdftk builder - Télécharger - PDF
- Tiny11 builder - Accueil - Windows
- Shutdown timer - Télécharger - Personnalisation
- Family tree builder en français - Télécharger - Généalogie
- Multi timer - Télécharger - Bureautique
5 réponses
Correctif de ma part j'ai oublié l'incrémentation compteur .
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
const int N = 15000 / Timer1->Interval ; /* 15 secondes*/
/* En static la valeur de cpt est gardée à chaque passage */
static int cpt = 0 ;
/* Test pour réaliser l'arret du timer. */
if (cpt == N) {
Timer1->Enabled = false ;
} else {
/* Incrémentation compteur si on est pas arrivé au 15 secondes*/
cpt++ ;
}
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
const int N = 15000 / Timer1->Interval ; /* 15 secondes*/
/* En static la valeur de cpt est gardée à chaque passage */
static int cpt = 0 ;
/* Test pour réaliser l'arret du timer. */
if (cpt == N) {
Timer1->Enabled = false ;
} else {
/* Incrémentation compteur si on est pas arrivé au 15 secondes*/
cpt++ ;
}
}
diablo69
Messages postés
15
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
25 juin 2007
22 déc. 2006 à 14:54
22 déc. 2006 à 14:54
Up c'est vraiment urgent !!
<nom_de-Ttimer> ->Enabled=false;
exemple:
mytime->Enabled=false ;
exemple:
mytime->Enabled=false ;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Une solution est de créer une variable static à l'intérieur du compteur, de l'initialiser avec 0 et de l'incrémenter a chaque passage dans la méthode OnTimer.
Comme tu connais grace à la propriété Interval l'écart entre deux "top" du timer, il est facile de faire une condition pour l'arret du timer.
Exemple avec Interval = 100ms
Pour arréter le compteur au bout de 15 secondes ( 15000 ms)
il faut donc : N = 1500 / 100 = 150 top timer.
La fonction onTimer ressemblera à ceci :
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
const int N = 15000 / Timer1->Interval ; /* 15 secondes*/
/* En static la valeur de cpt est gardée à chaque passage */
static int cpt = 0 ;
/* Test pour réaliser l'arret du timer. */
if (cpt == N) {
Timer1->Enabled = false ;
}
}
Une solution est de créer une variable static à l'intérieur du compteur, de l'initialiser avec 0 et de l'incrémenter a chaque passage dans la méthode OnTimer.
Comme tu connais grace à la propriété Interval l'écart entre deux "top" du timer, il est facile de faire une condition pour l'arret du timer.
Exemple avec Interval = 100ms
Pour arréter le compteur au bout de 15 secondes ( 15000 ms)
il faut donc : N = 1500 / 100 = 150 top timer.
La fonction onTimer ressemblera à ceci :
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
const int N = 15000 / Timer1->Interval ; /* 15 secondes*/
/* En static la valeur de cpt est gardée à chaque passage */
static int cpt = 0 ;
/* Test pour réaliser l'arret du timer. */
if (cpt == N) {
Timer1->Enabled = false ;
}
}