Timer

cs_nazca Messages postés 45 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 19 juin 2003 - 22 mai 2003 à 10:47
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005 - 4 juin 2003 à 09:21
Le Zero de la programmation

Nazca

Salut a tous

Je veux pouvoir faire des relevés de
>données à des intervalles 'dt' et pouvoir préciser l'heure de début et l'heure de fin.il faut créer plusieurs timer:
>- un pour le début du relevé
ki est ici :
void CProjet2003Dlg::OnTimer(UINT nIDEvent)
{
time_t t;
char * hsys;
char heures[3];
char minutes[3];
char secondes[3];
CString message;

time(&t); //récupération de la date et de l'heure système.
hsys = ctime(&t); //conversion en chaîne de caractères.

heures[0] = hsys[11]; //extraction des heures
heures[1] = hsys[12];
heures[2] = '\0';

minutes[0] = hsys[14]; //extraction des minutes
minutes[1] = hsys[15];
minutes[2] = '\0';

secondes[0] =hsys[17];
secondes[1] =hsys[18];
secondes[2] = '\0';

message.Format("%s h %s m %s s ", heures, minutes,secondes);

SetDlgItemText(IDC_HEUREACTUELLES, message); //affichage

CDialog::OnTimer(nIDEvent);
m_nTimer = SetTimer(1, 1000, 0);
}
>- un autre, qu'il faudra réinitialiser pour les intervalles 'dt'

comment fai on pour faire un 2eme timer et le reinitialiser?
merci de votre aide.

6 réponses

highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
22 mai 2003 à 12:02
Pour creer un 2ème timer tu fait un SetTimer avec un id différent (c'est le 2ème paramètre) pour le réinitialiser tu fait un SetTimer sur un timer qui existe deja, ça le réinitialise avec les nouveaux paramètres...

High_Cobra ;)
0
cs_nazca Messages postés 45 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 19 juin 2003
22 mai 2003 à 14:33
Le Zero de la programmation

Nazca

je ne comprend pas tres bien se ke tu ve dire.kel id different?ou je doit l'inserer? pour le reinitialiser comment tu fait pour faire un settimer sur un autre timer ki existe deja?pourrai tu m'explique + en detail par rapport a mon programme si possible sa serai cool .merci
0
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
22 mai 2003 à 15:03
Quand tu fait SetTimer(1, 1000, 0) ;
1000 c'est l'id de ton timer.

Si tu fais SetTimer(1, 1001, 250);
tu crée un nouveau timer qui va se déclencher toutes les 250 ms. Maintenant si tu refait SetTimer(1, 1001, 500); Ton timer 1001 se déclenchera que toutes les 500 ms...

High_Cobra ;)
0
cs_nazca Messages postés 45 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 19 juin 2003
22 mai 2003 à 15:06
Le Zero de la programmation

Nazca

ok merci highcobra de ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_nazca Messages postés 45 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 19 juin 2003
23 mai 2003 à 09:26
Le Zero de la programmation

Nazca

Salut

comment fait tu pour definir une 2eme variable pour le 2eme timer? et pourkoi quand je ve definir mon timer SetTimer(1,1001,1000) et ke mon 1er Timer est SetTimer(1,1000,0) il me fait une erreur me disant:"cannot convert parameter 3 from 'const int' to 'void (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,unsigned long)' " alors ke si je vire mes 1000 et ke je met zero il n'y as pas d'erreur.mais j'aimerai ke mon 2eme timer se declanche toutes les secondes pourrai tu m'aider highcobra .

merci
0
highcobra Messages postés 122 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 20 avril 2005
4 juin 2003 à 09:21
SetTimer(1,1000,0) ne peut pas marcher parce que tu dois mettre un temps en 3ème paramètre si tu veux que ton timer se déclenche toute les 1min, tu met 1000 en 3ème param (le temps est en millisec)

High_Cobra ;)
0
Rejoignez-nous