Accueil > Forum > > > > Si j'appuye sur tel touche alors tel action
Si j'appuye sur tel touche alors tel action
mardi 14 septembre 2004 à 18:33:02 |
Si j'appuye sur tel touche alors tel action

XorCo
|
Salut ! QQun pourrais me dire comment je pourrais faire pour par example quand j'appuye sur F1 à l'écran il m'affiche "vous avez appuyez sur F1" et quand j'appuye sur F2 il m'affiche "vous avez appuyer sur F2" Donc cela devrait ressembler à: if ( touche(F1) ) { printf("vous avez appuyer sur F1"); } if ( touche(F2) ) { printf("vous avez appuyer sur F1"); } Merci ! PS: essayer d'être quand-même assé précis .. ça fait deux semaine que je cherche sur le net et toujours sans succès... vs êtes mon dernier éspoir  Tout ce que j'ai trouvé c'était des trucs genre kbhit() mais ça marche pas trop ... sinon j'ai encore trouvé sur WM_KEYDOWN ... mais ça j'y capte rien ! faut un truc simple quoi
|
|
mardi 14 septembre 2004 à 18:59:00 |
Re : Si j'appuye sur tel touche alors tel action

patatalo
|
salut,
pour le mode console, il faut utiliser kbhit().
mais si tu fonctionne en mode window, tu dois utiliser WM_KEYDOWN.
trouve toi un ide qui te genere le code de base et tu verra que la gestion WM_KEYDOWN ensuite sera tres simple:
if(uMsg==WM_KEYDOWN) { if(lParam==VK_F1) printf(...) if(lParam==VK_F2) printf(...) }
tu peux aussi utiliser une ressource et CreateDialogParam(), il ne te restera plus qu'a faire la WndProc, rien de bien mechant, en même pas 20 lignes de code, c'est réglé.
tu dois comprendre comment est crée une boite de dialogue ou une fenetre et la gestion des messages qui en découle.
tout ça, c'est vraiment la base, trouve toi des exemples Hello World, et autres tuts qui fourmillent sur le net ...
@++
|
|
mardi 14 septembre 2004 à 19:18:23 |
Re : Si j'appuye sur tel touche alors tel action

XorCo
|
Ouais oki. Mais si je suis bêtement en mode console...Que dois-je faire avec mon kbhit() ? Comment dois-je associé mon kbhit avec les touches ? Genre je dois avoir une fonction qui retourne leur valeur ASCII et puis ? Voilà le début que j'avais ...
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <windows.h> #include <conio_mingw.h> // Pour kbhit()
int main() { char touche; touche = getch(); if ( kbhit() ) { switch(touche) { case: valeur_F1; // Comment est-ce que j'arrive à cet valeur ? printf("%d",touche); break; case: valeur_F2; // Comment est-ce que j'arrive à cet valeur ? printf("%d",touche); break; } } system("PAUSE"); return 0; }
Mais bon comment dois-je continuer ? Merci!
PS: J'arrive même plus à retrouver la fonction kbhit dans mes headers.. ça marche plus. J'utilise Dev-C++. Que dois-je faire pour retrouver cet fonction ?
|
|
mardi 14 septembre 2004 à 19:52:49 |
Re : Si j'appuye sur tel touche alors tel action

eRoZion
|
Alors pour retrouver cette fonction faut inclure <conio.c> au lieu de <conio.h> dans devcpp.
Autrement, si tu veux faire de la jolie console, rien de mieux que les outils borland (c'est d'ailleurs ce qu'il faudra que tu utilises si tu veux te servir de conio.h). C'est d'ailleurs la solution la plus simple.
Quant à ton problème, c'est pas kbhit() qu'il te faut utiliser, en tous cas c'est pas exactement ce que tu cherche meme si ça se couple très bien avec ce genre de problème. Toi ce qu'il te faut c'est la fonction "getch()" toujours dans conio.h
unsigned char key; key=getch(); if(key=='a') { ... } // etc
Regarde aussi à quoi serts "kbhit()" concernant le clavier parce que tu vas vite en avoir besoin.
NB: Attention, les touches genre F1 renvoie deux char au lieu d'un seul, pour les traiter il suffit de faire un cas spécial lorsque la valeur de key==0 alors key==getch() et tu traite cette seconde valeur en tenant compte du fait qu'il s'agisse d'un touche spéciale.
NB2: Regarde aussi du coté de "bioskey()".
eRoZion
|
|
mardi 14 septembre 2004 à 20:59:22 |
Re : Si j'appuye sur tel touche alors tel action

XorCo
|
Oki parfait je vais essaye Borland C++ Builder. Par contre il y a encore 2 points pas très claire...
1) J'ai pas très bien compris ton explication pour les touches F1,... donc je fais:
unsigned char key; key=getch();
if ( key == 0 ) { if ( key==getch() ) { // et puis ? } }
--------
2) La fonction bioskey() m'allaire très intéressante! mais ou puis-je trouver le bios.h pour cette fonction ? Y a pas moyen que tu me l'envoie ou un truc du style ?
Merci !
|
|
mardi 14 septembre 2004 à 21:33:29 |
Re : Si j'appuye sur tel touche alors tel action

eRoZion
|
Donne moi ton mail ce sera plus simple.
eRoZion
|
|
mercredi 15 septembre 2004 à 01:23:35 |
Re : Si j'appuye sur tel touche alors tel action

racpp
|
Salut, Voici la solution de ton problème : http://www.cppfrance.com/forum.v2.aspx?ID=284213 Le petit exemple que tu y trouveras, montre comment récupérer le code ascii d'une touche alphanumérique ou le code SCAN de n'importe quelle autre touche comme F1-F12. Pour récupérer le code SCAN , comme l'a dit eRozion, il faut appeler getch deux fois. A toi d'utiliser le code obtenu comme tru veux dans ton application. Ca marche avec tous les compilateurs.
|
|
mercredi 15 septembre 2004 à 04:24:07 |
Re : Si j'appuye sur tel touche alors tel action

racpp
|
Réponse acceptée !
Je viens de poster un petit source qui montre comment utiliser les touches F1-F12, touches fléchées, INSER, SUPPR, DEBUT, FIN, PAGE UP, et PAGE DOWN, dans un projet console: http://www.cppfrance.com/code.aspx?ID=26179
|
|
mercredi 15 septembre 2004 à 09:53:01 |
Re : Si j'appuye sur tel touche alors tel action

eRoZion
|
racpp > "Ca marche avec tous les compilateurs." Pas sur, comme dit au début du post, conio n'est pas très répendu.
Je regarde ta source ce soir en rentrant.
XorCo > Je te contacte ce soir.
eRoZion
|
|
mercredi 15 septembre 2004 à 15:39:52 |
Re : Si j'appuye sur tel touche alors tel action

XorCo
|
Merci à tous, j'apprécie votre aide et votre patience pour ceux qui ne s'y connaissent pas autant que vous.
|
|
Cette discussion est classée dans : touche, appuye, f2, f1, appuyer
Répondre à ce message
Sujets en rapport avec ce message
comment fait on pour appuyer sur une touche [ par Krox68 ]
j'aimerai savoir si on peut faire "appuyer" sur une touche a un programme C++, c a dire comme si l'utilisateur tapai une touche, mais c automatiquemer
Gestion calvier [ par T_Mehdi ]
bon je travail sous vc++6 et j''ai besoni de controler le calvier j'ai reussi a utiliser les touche F1..F12 et enter par VK_F1 mais j'ai pas trovué po
langage C : Scanf() et touche F1-F12 [ par fartman2001 ]
Bnojour,voila j'ai un probleme, je n'arrive pas à controler dans mon scanf() les touche F1 jusque F12, ququn pourrait-il me venir en aide car cela m'e
Touches automatiques [ par TiotBour ]
Bonjour,J'ai chercher dans l'aide et sur le site, je pense que c'est les mots que je tape qui ne vont pas, peut etre que quelqu'un pourra m'aider.J'ex
écrire dans un fichier sans réécraser [ par yepla75 ]
Salut,Pour mettre à jour un fichier F1 (modification d'un caractère en plein milieu par exemple), existe-t-il une manière de procéder "simple" en inte
prise en compte des espaces [ par cytosyn2 ]
Bonjour à tous. J'ai un petit programme qui scanne un fichier texte et crée un nouveau fichier identique au premier sauf certains caractères remplacé
error C2106: '=' : l'opérande gauche doit être une l-value [ par sarahim ]
svp aide moi,je travail avec le visual studio c++ windows forms,depuis hier jarrive pas aresolu cette erreur (error C2106: '=' : l'opérande gauche doi
Fonction appuyer sur une touche pour continuer sous linux ???? [ par Crushlefou ]
Voila salut j'ai un big probleme et je voulais savoir si kelk'un ki pouvais m'aider Alors je dois rendre un projet en C ki tourne sous Linux et dans c
algorithme génétique [ par kamiloo2009 ]
salut a tous j'ai une table, et je veux le fragmenter verticalement mais avec un algorithme génétique. voila un exemple: soit la table: T1={a,b,c,d}
fragmentation verticale avec algo génétique [ par kamiloo2009 ]
salut a tous j'ai une table, et je veux le fragmenter verticalement mais avec un algorithme génétique. voila un exemple: soit la table: T1={a,b,c,d}
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante 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
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
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
|