Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme avec settimer et tread [ Windows / System ] (logant83)

lundi 30 octobre 2006 à 20:08:16 | Probleme avec settimer et tread

logant83

Bonsoir , pourriez-vous me donner un exemple detaillé de l'utilisation de la commande
settimer sur les timers avec et sans fenetre et pourriez-vous aussi me donner la façon de
faire un tread ansi que de comment les créers pour partager le cpu de mon programme  et quel headers (librairie) utiliser et comment s'en servire pour les timers , j'utilise dev c++ 

Je vous remerci d'avance


lundi 30 octobre 2006 à 22:45:40 | Re : Probleme avec settimer et tread

SAKingdom

Membre Club
Pour SetTimer, normalement, on utilise la procédure de la fenêtre. Sinon, le dernier paramètre permet de pointer vers une fonction qui sera executé après le temps écoulé.
Exemple sans fenêtre:

SetTimer(0, 0, 100, (TIMERPROC)fonction); // 100 millisecondes

Avec une fenêtre, il faut le hWnd de la procédure que tu entre dans le premier paramètre

SetTimer(hWnd, 0, 100, 0); // 100 millisecondes

Puis tu intercepte le message dans la procédure avec WM_TIMER. Si tu as plus qu'un timer, wParam peut te renseigner sur l'id du timer:

case WM_TIMER:
if(wParam == 0) // Timer id 0
{
    ....
}
break;

MSDN pour plus d'info.

On utilise CreateThread pour créé des threads. C'est simple à utiliser. Exemple simple:

HANDLE hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)fonction, 0, 0, 0);

Ne pas oublier de fermer le HANDLE avec CloseHandle:

CloseHandle(hThread);

MSDN encore une fois pour plus d'info

Pour les headers, suffit d'inclure windows.h. La lib devrait être incluse par défaut.

C++ (@++)


lundi 30 octobre 2006 à 23:02:39 | Re : Probleme avec settimer et tread

SAKingdom

Membre Club
J'ai oublié de dire. fonction en paramètre de CreateThread est tout simplement une fonction déclaré comme suit:

DWORD fonction (void *param)
{
    ....
}

......

CreateThread(......, (LPTHREAD_START_ROUTINE)fonction, ......);

C'est elle qui sera executé sur un autre thread.

C++ (@++)


lundi 30 octobre 2006 à 23:07:59 | Re : Probleme avec settimer et tread

BruNews

Administrateur CodeS-SourceS
Ne pas mettre de cast devant les noms de fonction, ça permet d'avoir une alerte compilo au cas où les fonctions sont mal prototypées;

ciao...
BruNews, MVP VC++

lundi 30 octobre 2006 à 23:27:20 | Re : Probleme avec settimer et tread

SAKingdom

Membre Club
C'est l'habitude.

Dans ce cas, déclare la fonction pour le thread comme ça:

DWORD __stdcall fonction (void *param)

et celle pour le timer comme ça:

void __stdcall fonction (HWND hWnd, UINT message, UINT_PTR idEvent, DWORD time)

et oublie les cast dans CreateThread et SetTimer.

J'espère que j'ai pas fais erreur.

C++ (@++)


lundi 30 octobre 2006 à 23:37:43 | Re : Probleme avec settimer et tread

logant83

Merci a tous les deux  :)



Cette discussion est classé dans : probleme, donner, settimer, timers, tread


Répondre à ce message

Sujets en rapport avec ce message

probleme Exercice sur Types et declaration svp [ par djedu59 ] bonjour tout le monde ,je tient dabord a me presenter car je suis tout nouveau sur le site et dans le domaine de la programmation, voila il y a quelqu Probleme de debug avec dev-cpp [ par xcxl ] Bonjour, hier jai voulu debuger mon prg (premiere fois) mais apres avoir cliker sur debug, il me propose de generer les info de debuggage, jaccepte , cosinus d'un tableau en c++ [ par keno83 ] Bonjour, je rencontre un probleme en ce moment: j'essaie de faire un cosinus d'un tableau comme ci dessous: cos(V[i+size/2]*(past/Eo)) Et a la compila probleme declaration de tableau [ par toitoinebzh ] je me lance dans la programmation en c++et je suis ce moment confrontee a un problemeje n arrive pas a declarer un tableau deux dimensions en parametr Probleme avec un code [ par Kromen ] Bonsoir donc voila j'ai un peu fouiller sur le siteet j'ai trouver cela qui pourait m'interresser mais 'ai un probleme lors de la compilation de l'exe Destructeurs et pointeurs [ par Sk8yo ] Bonsoir ami(e)s devellopeur(se),je rencontre quelques petit probleme quand a la destruction de mes objets.j'ai trois classes A, B et C decritent ci de probleme de " alu.h" dans lib openal et LlamaWorks2d [ par xbabilone ] Salut a tous Bonjour j'essaye d'utiliser le moteur de jeu LlamaWorks2d .La compilation plante par ce que il manque le fichier "alu.h" de la lib openal Probleme avec Visual C++ 6 [ par UltimAKnighT ] Bonjour, j'ai changer de compilateur pour Visual C++ 6, celui-ci me pose un probleme.En effet, lorsque je build mon projet, il crée un executable en m probleme d'iframe [ par nauard39 ] Bonjour à tous,voilà mon probleme: Je suis en train de créer un site, avec un kit graphique et une iframe. Je souhaite intégrer une authenti probleme tableaux [ par infodaoudi ] Bonjour codeur,j'ai le probleme suivant: etant donnée un classe Noeud de donnée éterogene,je veux creer un tableau de type Noeud sachant que je ne con


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.