Lire des caracteres ou entier sans appuier sur entree

zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014 - 25 avril 2006 à 00:49
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014 - 2 mai 2006 à 00:21
bonjour,
est ce que quelqu'un possede une fonction qui peut lire des entiers ou des caracteres sans appuier sur la touche entree.


Ellouze Zied

14 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 avril 2006 à 00:52
getchar je crois.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
25 avril 2006 à 12:07
autre méthode, si API, tu peux le faire a partir de l'évenement clavier.



@+;
satellite34

http://wxcod.free.fr/forum/
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
25 avril 2006 à 12:29
Si tu es en mode console :
char c = getch();

Si tu es en mode fenêtré (API Win32), rajoute dans ta fonction de traitement des messages :
case VK_UP:
c = (char)lParam; //(ou wParam je ne sais plus)
break;
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
25 avril 2006 à 21:05
je ne sais pas la difference entre le mode console et le mode fenetre(API win32).
pour vous expliquer j'utilise Microsoft Visual 6.0.


Ellouze Zied
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 avril 2006 à 21:12
Une console c'est un petit ecran noir. C'est l'interface MS-DOS. Une fenetre c'est une fenetre que dire de plus. C'est une interface plus avancer qui peut inclure des zones de textes, des bouttons etc. Le simple fais d'utiliser ton naviguateur te montre ce qu'est un fenetre.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
29 avril 2006 à 01:36
pour getchar() elle accepte un seul caractere mais je veux une fonction pour plusieurs caractere a lire

Ellouze Zied
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
29 avril 2006 à 02:22
ben une boucle...
tant que j'ai pas lu assez de caractère
je continue à appeler getchar sinon j'arrête

if(!Meilleur("Joky")) return ERREUR;<
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
29 avril 2006 à 04:37
Ouais ou tan que le caractère tapé n'est pas le bon, on continue la boucle. Petit exeple

int c = 0;

while(c != 'q')
   c = getchar();

Alors tant que q n'est pas tapez, la boucle continue.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
30 avril 2006 à 01:29
salut ....
if
(!Meilleur("Joky"

)) return ERREUR;<


je n'est pas compris cette methode est ce que tu peux m'aider et me donner une solution dans un exemple.
et merci d'avance.

Ellouze Zied
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
30 avril 2006 à 15:24
Ça dépend quesqu'tu veut faire avec. Si tu veut les mettre dans une chaine de caractère essais ceci:

char texte[256];
int pos = 0;

while(pos != 15) /*Nombre max de caractère que tu veut que l'utilisateur puisse entré*/
{
   texte[pos] = getchar();
   pos++;
}

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
1 mai 2006 à 15:37
bonjour mon objectif est de lire plusieurs fois des entiers sans appuier sur entree
par exemple si j'appuie sur 159 il m'affiche "merci"
                     si j'appuie sur 222 il m'affiche "de rien".
et merci d'avance.
Ellouze Zied
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
1 mai 2006 à 18:07
Oula c'est un peu plus compliqué là car voit tu, 1, 5, 9 compte tous pour des caractère bien différent. Il faudrait presque créé une boucle qui compare les chiffres comme ceci:

char texte[4];
ìnt pos = 0;

while(1)
{
   texte[pos] = getchar();

   texte[pos+1] = '\0'; /* ici je sais pas si c'est la bonne solution */
   
   if(strncmp(texte, "159", 3) == NULL)
   {
      printf("Merci");
      return 0;
   }

pos++;
}

Ya surement un autre moyen mais je le connais pas :P
___________________________________________
Les plus grands esprits trouvent toujours une solution
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
2 mai 2006 à 00:18
desole mon exemple est faux car les caracteres que je vais utiliser ne sont pas different

par exemple si j'appuie sur 11 il m'affiche "merci"
                     si j'appuie sur 222 il m'affiche "de rien".

et je vais essaier avec ton exemple et s'il vous plait si tu as une solution plus facile que la precedante envoie le.
et merci d'avance.
Ellouze Zied
0
zied86 Messages postés 85 Date d'inscription dimanche 5 mars 2006 Statut Membre Dernière intervention 4 août 2014
2 mai 2006 à 00:21
desole mon exemple est faux car les caracteres que je vais utiliser ne sont pas different

par exemple si j'appuie sur 11 il m'affiche "merci"
                     si j'appuie sur 111 il m'affiche "thank you"
                     si j'appuie sur 222 il m'affiche "de rien".

et je vais essaier avec ton exemple et s'il vous plait si tu as une solution plus facile que la precedante envoie le.
et merci d'avance.

Ellouze Zied
0
Rejoignez-nous