Accueil > Forum > > > > euhhh ... :-) desolé, c'est compliqué a expliquer...
euhhh ... :-) desolé, c'est compliqué a expliquer...
mardi 2 août 2005 à 23:53:21 |
euhhh ... :-) desolé, c'est compliqué a expliquer...

BertaNd
|
salut c'est assez compliqué a expliquer donc je met une source, ca parle mieux ! (API win32) tout le tralala de la creation de la fenetre etc... TranslateMessage(&msg); DispatchMessage(&msg); // un des deux appelle le module d'en dessous (si j'ai bien compris...) LRESULT CALLBACK WinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { int i; switch (msg) { case WM_TIMER: // ce n'est pas le message qui est important switch (i) { case 1: // instructions i++; break; case 2: // instructions i++; break; // etc... } } return 0; } voila, mon probleme c'est que ... en fait je n'arrive pas a garder la bonne valeur de i...  a chaque fois que le programme arrive a WinProc, i se reinitialise (normal ! enfin il me semble, vu que c'est une variable d'un module) il retourne 0, et lorsqu'il revient, i a une valeur differente de celle d'avant... je sais pas si vous comprenez... (j'explique tres mal je le sais, désolé...) je voudrais pouvoir garder la valeur de i apres avoir retourné 0 (tout simplement !  ) merci et bravo a ceux qui m'ont compris ! 
|
|
mercredi 3 août 2005 à 00:01:55 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

Joky
|
Tu lances ton Timer au moins ??? lol Balance tout le code si c'est petit parce que c'est vrai que t'explique mal lol :p void Aurevoir( void ); //Bonne journée
|
|
mercredi 3 août 2005 à 00:02:40 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

Joky
|
Ah j'viens de voir que le message n'est pas important :) Désolé j'lis toujours tout en 2 fois void Aurevoir( void ); //Bonne journée
|
|
mercredi 3 août 2005 à 00:07:38 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

BruNews
|
ben non, i est dans la wndproc donc initialisé "nouveau" à chaque appel de cette wndproc. Mets i en variable globale, il conservera sa valeur.
ciao... BruNews, MVP VC++
|
|
mercredi 3 août 2005 à 00:09:51 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

meech
|
Réponse acceptée !
Salut, En effet, pas tout compris... En fait, il me semble que la fonction WinProc est chargée de traiter les évènements (quand on clique quelque part, qu'on déplace la fenêtre, qu'on appuie sur une touche, etc.). Si tu souhaites conserver la valeur de i, il faudrait mieux que cette variable soit déclarée de manière globale (en dehors de la fonction) et non localement (dans la fonction). En fait, essaie de placer ta déclaration int i dans un fichier d'en-têtes (ou au-dessus de toutes tes fonctions), en précisant éventuellement le mot-clef static... L'incrément de ton i devrait alors se réaliser correctement lors de chaque appel d'un évènement Win32. #include <windows.h> // déclaration variabale globale i. int i = 0; // fonction WinMain... // fonction WinProc... LRESULT CALLBACK WinProc(...) { // (!) ne pas déclarer de nouveau la variable i switch(msg) { case WM_TIMER: switch(i) { case 2: i++; case 3: i++; // (...) } } } J'espère avoir compris le but et t'avoir un peu aidé. NB. Profites-en pour initialiser une bonne fois pour toutes cette variable à zéro (par exemple, au démarrage de l'application).
|
|
mercredi 3 août 2005 à 00:09:58 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

Joky
|
et si on fait static int i; et une initialisation dans WM_CREATE, ou WM_INITDIALOG ? void Aurevoir( void ); //Bonne journée
|
|
mercredi 3 août 2005 à 00:23:48 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

BruNews
|
vi vi c'est bon Joky ainsi mais ce n'est qu'une variante de syntaxe pour éviter qu'on y retouche ailleurs dans le code (hors de la wndproc) sinon le compilo génèrera le même code que si on met i en var globale.
ciao... BruNews, MVP VC++
|
|
mercredi 3 août 2005 à 01:04:37 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

BertaNd
|
"// déclaration variabale globale i. int i = 0;" ok merci !  c'est tout simple !!! c'est juste parce que je pensais que les variables globales ne pouvait pas etre changées... j'ai confondu avec les constantes... enfin bon ! il est quand meme 1h du matin, je suis plus tres frais !  
|
|
mercredi 3 août 2005 à 09:02:50 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

meech
|
BertaNd, Ca serait sympa d'accepter ma réponse  Peace.
|
|
mercredi 3 août 2005 à 10:03:07 |
Re : euhhh ... :-) desolé, c'est compliqué a expliquer...

BruNews
|
ok meech, je te l'ai validée.
ciao... BruNews, MVP VC++
|
|
Cette discussion est classée dans : valeur, case, msg, expliquer, compliqué
Répondre à ce message
Sujets en rapport avec ce message
switch case et valeur bouléen [ par hop ]
Salut,Je souhaiterai utliser la fonction switch casemais en testant plusieurs valeur bouléen:Du style si j'appel les valeur booleenvaleur1 valeur2 val
disparition de valeur !!!!!!!!!!!!!!! [ par toto000 ]
Bonjour,Alors voila j'ai une fonction menufonc (menu de la souris) avec en case 1: taille de l'image (du fichier que comporte la variable fichier_imag
Juste expliquer...? [ par Zekez ]
Bonjour,Voici une structure que j'ai dans une application mais que je ne comprend pas trop: template struct noeud{ type valeur; noeud* suiv; noeud(
conversion string (binaire) to string (hexa) [ par janiaut ]
Bonjour, voila je susi toujours dans mon big programme, j'ai un petit problème sur une conversion d'un string (de mot binaire) en conversion de string
faire progresser....une progress bar !! [ par Xs ]
c tout bete, mais je sais pas comment faire. ou plutot lui dire a quoi comparer sa progression par rapport au chargement de quelque chose.mon code : #
objet non initialisé (API Win32) [ par Xs ]
salut !voici mon code, d'abord :#include #include #include "resource.h"LRESULT CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){cha
positions [ par Xs ]
salut ! je cherche et je trouve pas, ou alors je sais pas m'en servir, comment on recupere la position actuelle du fenetre(dialogbox).j'ai essayé des
touches [ par Xs ]
voila, j'ai essayé de tester des touches afin que, par exemple, lorsque l'on appuie sur Y, une message box apparaisse.j'ai recupérer ce code venat de
erreur memoire [ par Xs ]
alors voila, j'ai jamais vu ca.je lance mon programme. normal. puis je clique sur le bouton generer et là, pouf !un message d'erreur. alors, celui la,
pu#!@'{&=!:; de memoire !!! [ par Xs ]
salut.voila, presque chacun de mes prog, j'obtiens une erreur memoire du type "l'adresse "0x0001834F" ne peut etre "read"/"written"........."c 'est t
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|