RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 event.key.keysym.unicode et int ?

Forum : C & C++
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ C & C++

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C & C++

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
juismoi
Nouveau membre
Inscrit : 27/04/2008
Messages : 8
Message
#153348
Posté le 22/05/08 à 19:37
Oye

Un p'tit problème.
Je fais un programme en utilisant la SDL pour afficher.
Le "joueur", on va dire, doit taper un nombre et qui oh miracle s'affiche à l'écran. Cela je sais faire.
En gros c'est ça
tc_du_nombre [i] = event.key.keysym.unicode ;
Avec ça je récupère dans un char la touche frappée mais je veux aussi la valeur de la touche pour la mettre dans un int.
Tout bêtement je me suis dit , je vais faire
int numero = event.key.keysym.unicode; et hop en tapant la touche 1, numeo faudra 1 et hop c'est totalement faux, numero vaut 49.
Et hop je me suis dit t'es pas un peu idiot mon garçon...ce qui m'a vexé.

La question comment faire que numero est la valeur de la touche avec event.key.keysym.unicode

Je suis sur que c'est tout con comme truc.

Comme je vous ai sous la main j'ai une autre question du même genre.

Pour que le joueur ne puisse utiliser que les lettres de a à z; j'ai fais ceci

if ( event.key.keysym.unicode > a && z < event.key.keysym.unicode)
{...code....}

et cela marche...Et je comprends pas pourquoi... Le principe je comprends (c'est moi qui l'ai fait) mais pourquoi même la touche a fonctionne car c'est > et non pas >= ?

Dans le même ordre d'idée j'ai voulu que le joueur ne puisse utilisé que les chiffres donc j'ai fait

if ( event.key.keysym.unicode > 0 && 9 < event.key.keysym.unicode)

Et là j'ai tout le clavier qui fonctionne !

donc si vous pouvez améliorer le chose je suis preneur.

Pourquoi je me suis lancé dans l'apprentissage du c++ ? piouuuu

A+

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 483
Message
#153533
Posté le 27/05/08 à 18:25
En fait, le numero que event.key.keysym.unicode te renvoit est la valeur ASCII de la touche presser. Puisqu'il y a un peu plus de 100 touche sur un clavier, un peut facilement assigner un chiffre entre 32 et 127 pour chaque charactere de cette facon(les nombres en bas de 32 sont réserver pour les touches special comme Enter et Backspace ect...). Regarde ce tableau, et tu comprendera.

Pour ce qui est de recuperer ton nombre, 0 = 48, 1 = 49 ect donc tu fait simplement:

tc_du_nombre [i] = event.key.keysym.unicode - 48;

Pour ce qui est des lettres, suffit de faire ceci(remarque les '):

if ( event.key.keysym.unicode > 'a' && event.key.keysym.unicode <= 'z')

ou

(minuscules)
if ( event.key.keysym.unicode >= 97 && event.key.keysym.unicode <= 127 )

(majuscule)
if ( event.key.keysym.unicode >= 65 && event.key.keysym.unicode <= 90 )



Voila, si tu veut ne pas te casser la tete avec les minuscules/majuscule, tu peut faire ceci:

//Enregistre la touche presser dans i
int i = event.key.keysym.unicode;

//Si on a appuyer sur une minuscule, la transformer en majuscule
if ( i >= 'a' && i <= 'z' )
i -= 32;


Si tu a des questions, je suis la!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

juismoi
Nouveau membre
Inscrit : 27/04/2008
Messages : 8
Message
#153608
Posté le 29/05/08 à 15:06
Oye

Honte sur moi. J'avais essayer les ' mais cela n'avait pas marcher et je sais pourquoi (la honte) mais je tiendrais cette information pour moi pour éviter d'être ridicule une deuxième fois.
Merci pour ton aide, je vais pouvoir passer à autre chose

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

vortex666
Modérateur :
- C & C++
- OpenGL
- Delphi
Chef de projet(s) :
- Vortez3DEngine

Avatar de vortex666
Inscrit : 20/09/2004
Messages : 483
Message
#153615
Posté le 29/05/08 à 18:34
Yo Smiley

Il n'y a vraiment pas de quoi avoir honte, lol. Ne dit t'on pas que l'on apprend de nos erreurs?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C & C++



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.