Accueil > Forum > > > > Fonction En Paramètre
Fonction En Paramètre
lundi 29 août 2005 à 10:15:09 |
Fonction En Paramètre

Joky
|
Hep Hello les gens :)
J'ai une question qui me tarrode l'esprit voyez vous
Exemple explicite
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM ); //Prototype
DialogBox( ..., ..., ..., (DLGPROC)WndProc);
Comment qu'elle fait la fonction DialogBox pour ne pas spécifier les paramètres ?
Fin bref, si vous aurez un exemple simple et explicite pour m'aider à comprendre ces machins lol :)
Merci bien
if(!Meilleur("Joky")) return ERREUR;
|
|
lundi 29 août 2005 à 10:17:37 |
Re : Fonction En Paramètre

Joky
|
J'viens de lire et ça veut rien dire lol
Donc je reprend
J'ai compris que ça devait certainement être dû au pointeur de
fonction, mais j'comprend pas comment on fait pour ne pas spécifier les
paramètres de la fonction WndProc :^) if(!Meilleur("Joky")) return ERREUR;<
|
|
lundi 29 août 2005 à 10:41:03 |
Re : Fonction En Paramètre

JCDjcd
|
Réponse acceptée !
moi je peux de donner un exemple d'utilisation de pointeur sur fonction : pour implementer mes routines d'arbres; l'appelant doit passer en paremetre un pointeur sur une fonction de comparaison (comme cela le code est générique). Voici comment on declare la fonction, et comment on l'appelle avec des paramtres :
// definition du type pointeur sur fonction de comparaison typedef int (*CMP_FUNC)(void *key1,void *key2,void *param); // exemple de fonction de comparaison d'entier int cmpInt(void *key1,void *key2,void *param) { int a,b;
UNUSED_PARAMETER(param);
a = (int)key1; b = (int)key2;
if(a > b) return CMP_MORE; else if(a < b) return CMP_LESS; else return CMP_EQUAL; } // cmpInt()
// defintion d'un arbre AVEC la fonction de comparaison typedef struct tagTREE { int nElem; // nombre d'elements CMP_FUNC cmpFunc; // fonction de comparaison void *param; // parametre pour la fonction de comparaison P_NODE_TREE root; // racine de l'arbre }TREE,*P_TREE,**PP_TREE;
// exemple d'appel de la fonction pour la recherche d'un element r = tree->cmpFunc(key,cur->key,tree->param); // ce sont les routines d'arbres qui passe les parametres a la fonction // la puissance des pointeur sur fonction, c'est qu'avec elle on peut faire enormemant de chose, juste en changeant la fonction passée, cela est tres utile pour le code générique.
Pourquoi faire simple quand on peut faire compliqué ?
|
|
lundi 29 août 2005 à 10:48:10 |
Re : Fonction En Paramètre

Joky
|
Ouai okay mais tu utilises les paramètres quand même :)
Tandis que la fonction DialogBox n'utilise pas les paramètres de la fonction WndProc
Peut être qu'il sont obsolètes parce qu'une WNDPROC est toujours du même type je sais pas mais c'est bizarre lol if(!Meilleur("Joky")) return ERREUR;
|
|
lundi 29 août 2005 à 10:54:28 |
Re : Fonction En Paramètre

BruNews
|
Réponse acceptée !
DialogBoxParam demande l'adresse d'une fonction, tu lui donnes donc tout est ok, je ne comprends pas ton problème Joky.
En plus, si tu as besoin du cast (DLGPROC) c'est que ta dialogProc est mal prototypée.
ciao... BruNews, MVP VC++
|
|
lundi 29 août 2005 à 10:55:08 |
Re : Fonction En Paramètre

cosmobob
|
Réponse acceptée !
salut,
DialogBox prend en parametre un pointeur vers la fonction callback, apres elle appelle cette fonction comme elle veut.
C'est DialogBox qui choisit les parametres avec lesquels elle va
appeler la fonction callback, qui choisit notamment quand elle va
appeler cette fonction (elle va le faire plusieurs fois d'ailleurs...),
et pas celui qui appelle la fonction DialogBox.
c'est confus dans ta tete
|
|
lundi 29 août 2005 à 11:30:06 |
Re : Fonction En Paramètre

Joky
|
Pfiuuu ouai quand même C'est très confu
J'vais reprendre des vacances moi lol :)
Merci quand même :p
Et au passage j'vois pas l'intérer d'utiliser des pointeurs de fonction plutot que les fonctions elle même if(!Meilleur("Joky")) return ERREUR;<
|
|
lundi 29 août 2005 à 12:04:06 |
Re : Fonction En Paramètre

JCDjcd
|
La reponse est simple : la fonction est un parametre, on ne la connait pas dans la routine, si tu te poses cette question, poses toi celle la aussi (elle est plus generale) : A quoi servent les arguments ?
Pourquoi faire simple quand on peut faire compliqué ?
|
|
Cette discussion est classée dans : fonction, exemple, paramètre, wndproc, explicite
Répondre à ce message
Sujets en rapport avec ce message
Exemple de EnumPrinters (qui fonctionne) en C++ [ par nico ]
Je voudrais que mon programme puisse détecter l'imprimante par défaut utilisée par mon PC. Pour ce faire j'ai trouvé la fonction "EnumPrinters". Le pr
Fonction atoi [ par LordBob ]
Salut, en fait je voudrai savoir si la fonction atoi permet bien de transformé une chaine de caractere entré par un utilisateur par exemple en son eq
thread sur WndProc [ par kidpigeyre ]
G une fonction WndProc chargé de réaliser tout mon programme (application GUI) (avec fenetre windows) et jmerai pouvoir faire un thread de cette fonct
Saisir une touche clavier (besoin d aide :) ) [ par vychnou ]
Bonjour..je débute en C++, et j'aimerais trouver un moyen(par exemple une fonction)permettant ,sans passer par un cin ,d attendre la saisie d une touc
question sur wndproc [ par leprov ]
salut a tous.je debute en prog win32, alors je galere un peu. j'aimerais comprendre quelques details sur cette fonctionbon dites moi si je me trompe,
Fonction ln [ par vecchio56 ]
J'aimerais faire une fonction pour calculer un valeur approchée d'un logarithme (népérien par exemple). Je sais qu'entre -1 et 1 je peux utiliser un d
appel a une fonction [ par cyb_dev ]
Bonjour je debute en c et je souhaiterais savoir comment faire pour appeler une fonction.J'aimerais qu'un evenement dans mon programme (une variable à
SetTimer,KillTimer [ par samki ]
j essayes d utiliser la fonction SEtTimer mais j ai une erreur comme koi la fonction prend 3 paramètre,alors qu en MSDN j ai troub=vé qu il y a 4 para
Langage C: Problème de retour de Pointeur dans une fonction [ par loic911 ]
SalutJ'aimerais bien renvoyer l'endroit d'un pointeur sur un tableau a deux dimension à une autre fonction exemple:
Problème de paramètre [ par jeromedu94 ]
bonjour,je voudrais faire une fonction mais le nombre de paramètre à transmettre n'est pas fixe, et je voudrais savoir comment il faut faire.C'est le
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|