begin process at 2012 02 13 13:28:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme de source pour un timer!!! Help!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de source pour un timer!!! Help!!!

vendredi 17 janvier 2003 à 14:44:36 | Probleme de source pour un timer!!! Help!!!

superteta2003

Salut!
J'ai créer un timer en C++ dans une application windows (MFC), et en le verrifiant manuellement, il doit marcher... Cependant, il y a une couille! En fait, je lui demande par exemple d'afficher qqchose toutes les seconde et en tout 3 fois, et le compilateur n'affiche le résultat qu'a la fin de la boucle au lieu de l'afficher une fois par seconde!
Est ce que quelqu'un peut m'aider! Je suis en galère depuis 1 semaine!!!
Je vous join le programme que j'ai fais!
Merci d'avance...
----------------------------------------------------------------------
void CTimer::OnOK()
{
CString chaine;
unsigned int inter,temps,boucle ;
UpdateData(true);
inter = m_duree;
temps = inter;
UpdateData(true);
chaine = m_texte;
UpdateData(true);
boucle = m_boucle;
time_t actuel;
actuel = time (NULL);
time_t heure_depart;
heure_depart = time (NULL);

while (boucle != 0)
{
while (difftime(actuel, heure_depart) < temps)
{
Sleep(1000);
actuel = time(NULL);
}

UpdateData(true);
m_edit += chaine;
UpdateData(false);
Beep(200,1000);
boucle --;
heure_depart = time (NULL);
}
}
----------------------------------------------------------------------
vendredi 17 janvier 2003 à 14:46:24 | Re : Probleme de source pour un timer!!! Help!!!

superteta2003





-------------------------------
Réponse au message :
-------------------------------

> Salut!
> J'ai créer un timer en C++ dans une application windows (MFC), et en le verrifiant manuellement, il doit marcher... Cependant, il y a une couille! En fait, je lui demande par exemple d'afficher qqchose toutes les seconde et en tout 3 fois, et le compilateur n'affiche le résultat qu'a la fin de la boucle au lieu de l'afficher une fois par seconde!
> Est ce que quelqu'un peut m'aider! Je suis en galère depuis 1 semaine!!!
> Je vous join le programme que j'ai fais!
> Merci d'avance...
> ----------------------------------------------------------------------
> void CTimer::OnOK()
> {
> CString chaine;
> unsigned int inter,temps,boucle ;
> UpdateData(true);
> inter = m_duree;
> temps = inter;
> UpdateData(true);
> chaine = m_texte;
> UpdateData(true);
> boucle = m_boucle;
> time_t actuel;
> actuel = time (NULL);
> time_t heure_depart;
> heure_depart = time (NULL);
>
> while (boucle != 0)
> {
> while (difftime(actuel, heure_depart) < temps)
> {
> Sleep(1000);
> actuel = time(NULL);
> }
>
> UpdateData(true);
> m_edit += chaine;
> UpdateData(false);
> Beep(200,1000);
> boucle --;
> heure_depart = time (NULL);
> }
> }
> ----------------------------------------------------------------------
dimanche 19 janvier 2003 à 22:49:24 | Re : Probleme de source pour un timer!!! Help!!!

vieuxLion

une remarque préliminaire :
Pourquoi essayer de faire un timer à partir de rien
Pourquoi ne t'appuies tu pas sur SetTimer
UINT_PTR SetTimer(
HWND hWnd, // handle to window
UINT_PTR nIDEvent, // timer identifier
UINT uElapse, // time-out value
TIMERPROC lpTimerFunc // timer procedure
);

Créer un timer est relativement complexe car nécessite des connaissances en multi-thread

Sais tu que lorsque tu emploies Sleep(1000), ton thread (unique) est endormi et donc que ton application ne traites plus ses messages

D'aytre part, il y a beaucoup trop de UpdateData dans ton code



-------------------------------
Réponse au message :
-------------------------------

>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut!
> > J'ai créer un timer en C++ dans une application windows (MFC), et en le verrifiant manuellement, il doit marcher... Cependant, il y a une couille! En fait, je lui demande par exemple d'afficher qqchose toutes les seconde et en tout 3 fois, et le compilateur n'affiche le résultat qu'a la fin de la boucle au lieu de l'afficher une fois par seconde!
> > Est ce que quelqu'un peut m'aider! Je suis en galère depuis 1 semaine!!!
> > Je vous join le programme que j'ai fais!
> > Merci d'avance...
> > ----------------------------------------------------------------------
> > void CTimer::OnOK()
> > {
> > CString chaine;
> > unsigned int inter,temps,boucle ;
> > UpdateData(true);
> > inter = m_duree;
> > temps = inter;
> > UpdateData(true);
> > chaine = m_texte;
> > UpdateData(true);
> > boucle = m_boucle;
> > time_t actuel;
> > actuel = time (NULL);
> > time_t heure_depart;
> > heure_depart = time (NULL);
> >
> > while (boucle != 0)
> > {
> > while (difftime(actuel, heure_depart) < temps)
> > {
> > Sleep(1000);
> > actuel = time(NULL);
> > }
> >
> > UpdateData(true);
> > m_edit += chaine;
> > UpdateData(false);
> > Beep(200,1000);
> > boucle --;
> > heure_depart = time (NULL);
> > }
> > }
> > ----------------------------------------------------------------------
>


Cette discussion est classée dans : boucle, true, time, updatedata, actuel


Répondre à ce message

Sujets en rapport avec ce message

Visual C++ 6.0 [ par acsx ] Salut,Comment déterminer quel type de use run-time library il faut utiliser dans un projet visual C++? (Project/Settings/C/C++/Code Generation/Use run La boucle FOR [ par C++ ] Ou est l erreur svp :for (int i=0;i MessageBox (i); Optimisation... :) [ par CodeNeo ] Hello tout le monde !!Question ! Est ce que quelqu'un saurait comment raccourcir le code suivant ?bool __fastcall TForm1::InitBouton ( void ) { Spe Intercepter la touche ESC [ par mindark ] BonjourVoila, j'ai un programme qui execute une boucle d'environ 5 mins. Et je voudrais que cette boucle soit executee plusieurs fois, jusqu'a ce que [VC++]Gestion du tps en C++ [ par Asarnil ] Voila , je cherche comment gerer le temps de maniere efficace en C++ .La j'ai fait un test qui fait avancer un 0 sur une ligne le pron c'est que meme Problème avec une boucle while [ par arconius ] voilà j'ai fait un prog où l'on tire des dés mais j'ai un problème avec ma boucle while car au lieu de me donner un chiffre aléatoire à chaque fois il pourquoi aprés avoir fait une boucle mon textbackground prend tout l'écran ? [ par arconius ] Voila mon prog et après avoir fait une boucle mon text background prend tout l'écran si quelqu'un à une solution se serait sympa merci d'avance#includ Copie directe d'un tableau vers un autre (sans boucle) [ par NiFF ] Existe-t-il une fonction C qui me permettrait de copier un tableau vers un autre de même dimension,et ce sans avoir à traiter tous les items de ce tab boucle infinie,enfin presque... [ par booth ] bonjour, je suis semi newbie en C++, et je viens de faire un prog avec des sockets...le truc c'est que je suis obligé d'utiliser une boucle ainfinie p Ca veut pas s'afficher !!! [ par Nini ] Bon alors voilà le probleme : je doit faire afficher une phrase aléatoirement avec un switch et un rand mais elle veut pas s'afficher. Voilà ma source


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales