goto ZIP;
Télécharger le zip
je vais passer pour un lamer mais c quoi les mfc ?????
MFC == Microsoft Fondation Class;Si tu veux avoir la vie facile alors utilise ceci, tu doit avoir Visual C++.
tes sources sont tjrs aussi pratique ;)
Salut tt le monde je debute et j'aimerais compiler le timer mais sans project file je ne vois pas comment faire (si j'ai dit une trop grosse connerie dites le moi)@++
Salut, très très bon code ... en tous cas pour un débutant c'est génial ça évite d'avoir à décortiquer une machine à gaz sans commentaires....Chapeau bas et continue comme ça NitRic !Par contre, j'arrive à récupérer la classe Timer mais je n'arrive à la compiler que dans un projet Win32 type HelloWorld. Si je prends un projet vide j'ai une erreur "error C2061: syntax error : identifier 'Timer'".Si quelqu'un peut me guider, ça m'éviteras des heures perdus à rechercher la cause. Merci !
un projet vide? c normal ... tu dois te créer un projet Win32 Application, ce code(class) à besoin d'un handle et d'une proc pour fonctionner. Win32 Only, désolé ... Bref, pour que mon code fonctionne bien il faut:ton fichier main.cpp par exemple ou ce trouve la proc d'entrer de ton programmele fichier timer.h et timer.cppdans le fichier 'main.cpp' tu inclus timer.h#include "timer.h"et ensuite pour l'utiliserTimer tmr;tmr.InitTimer(handle, proc, id);tmr.Interval(interval_en_milli);tmr.StartTimer(); pour démarrertmr.StopTimer(); pour stopper ...Voilà ...Beubye && @++;~(.:: NitRic ::.)~
Bonjour!je sais bien que maintenant ça fait un petit moment que tu as écris ce code, mais j'aimerai bien te poser quelques questions.C'est que je n'ai pas tout compris au niveau des messages et tout et tout. Par exemple, je voudrais, à d'autres moment du code, afficher des messages comme "coucou". De plus, penses - tu que sur la base de ton code, on peut ne pas faire que écrire un message mais toujours à une fréquence donnée ? par exemple, incrémenter une variable tout simplement ou faire des choses un peu plus compliquer ?merci d'avance!et en tout cas, je te remercie d'avoir écrit ce code, et surtout aussi propre et aussi bien commenté.nanou
Génial,ta source est tres claire, et bien commenté!! j'ai compri les timer (enfin je crois)et pour nanoubis: oui tu peu fair ce que tu veux avec son code, si tu veu incrémenter une varialbe, tu regarce le fichier winmain.c et sous "case WM_TIMER:" ti met ta variable a incrémenté (jexagere un peu) mai c ca.Mai j'aurai une ptite question tres tres bete:je me suis créé une classe "classtimer" qui lance un timer (jusque la, ca resemble a ta source et d'ailleur je men suis inspiré), mai pluto que d'avoir le timer qui lance la fonction "WindowProcedure", je voudrai que ca lance "mafonction":SetTimer(hWnd, 123, 3000, (TIMERPROC)(mafonction2));j'arrive a le faire, et ca marche nikel, mais (j'aime pa quan ya des mais ...), mais, ca marche si "mafonction" est une fonction global, c'est a dir qu'elle ne fait pa parti de ma classe. Si j'essaye de lancé "classtimer::mafonction2" avec le timer:SetTimer(hWnd, 123, 3000, (TIMERPROC)(classtimer::mafonction2));ou SetTimer(hWnd, 123, 3000, (TIMERPROC)(mafonction2));bein la ca ne veu plus me compilé :'(l'erreur est la suivante (au passage je suis sous VC++):error C2440: 'type cast' : cannot convert from '' to 'void (__cdecl *)(struct HWND__ *,unsigned int,unsigned int,unsigned long)'si quelqu'un a déja eu le pb....
Très bon code, merci, tu m'as fait gagner plusieurs heures ;)@CLETER : J'ai le meme probleme. En fait, le paramètre doit être un pointeur sur une fonction (TIMERPROC = VOID CALLBACK*), et j'arrive pas à en créer un dans une classe. (j'ai un message du genre 'cannot modify data'). Par contre, ca marche si je pointe vers une fonction constante (globale quoi).J'ai contourné le problème en me faisant une fonction globale qui renvoie la fonction que je veux en fonction de l'ID du timer (wParam), mais c'est pas très propre.ULONG CALLBACK Timer_Event(HWND hwnd, UINT msg, UINT wParam, UINT lParam){ if(wParam == FIRST_TIMER) return App.FirstTimer_Event(hwnd, msg, wParam, lParam); if(wParam == SECOND_TIMER) return App.SecondTimer_Event(hwnd, msg, wParam, lParam); return 0; // si ne correspond à aucun ID_TIMER}Si quelqu'un sait comment faire (créer une variable dans la classe qui pointe vers la fonction au moment de l'initialisation ? j'ai pas le temps d'essayer), ca m'interesse...
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte