begin process at 2012 02 11 10:16:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

C++ - Autoriser que la saisie d'un chiffre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

C++ - Autoriser que la saisie d'un chiffre

dimanche 28 juin 2009 à 15:01:17 | C++ - Autoriser que la saisie d'un chiffre

Diminux

Bonjour à tous,

Comme le titre du topic l'indique, je cherche à n'autoriser que la saisie d'un chiffre (et donc interdire les lettres).

Merci d'avance pour votre aide !
dimanche 28 juin 2009 à 21:10:43 | Re : C++ - Autoriser que la saisie d'un chiffre

BruNews

Administrateur CodeS-SourceS
La saisie OK, mais où s'effectue cette saisie ???

Réponse Windows:
Sur un EDIT, tu sousclasses et tu traites WM_CHAR.

ciao...
BruNews, MVP VC++
mardi 30 juin 2009 à 14:33:22 | Re : C++ - Autoriser que la saisie d'un chiffre

sollen9

pas besoin de sous-classer, la saisie masquée est incluse dans les api shell non documentées (appel par numéro ordinal, tout est géré avec tooltip et tout)
mardi 30 juin 2009 à 17:45:40 | Re : C++ - Autoriser que la saisie d'un chiffre

rt15

Membre Club Administrateur CodeS-SourceS
Bienvenue,

Effectivement, faudrait préciser le contexte (GUI ou console ? Quel système d'exploitation ? Si GUI quelle bibliothèque ?).

Une solution pour du C++/console. N'est pas standard car utilise conio.h pas toujours disponible. Il n'y a pas de solution standard pour lire un caractère sans que "Entrée" soit pressée. Donc la vérification ne peut se faire qu'après coup... Dommage.
Les flèches ne fonctionnent pas, et le rendu du backspace est pas top mais bon.

#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

#define CTRL_C_CHAR 3
#define ENTER_CHAR 13
#define BACKSPACE_CHAR 8

int main()
{
  char c;
  string result;

  cout << "Tapez un nombre :" << endl;
  c = getche();

  while ((c != ENTER_CHAR) && (c != CTRL_C_CHAR))
  {
    if (((c >= '0') && (c <= '9')) || (c == BACKSPACE_CHAR))
      result.append(1, c);
    c = getche();
  }

  if (c == ENTER_CHAR)
    cout << endl << "Vous avez tapez : \"" << result << "\"" << endl;
  return 0;
}

mardi 30 juin 2009 à 18:09:08 | Re : C++ - Autoriser que la saisie d'un chiffre

rt15

Membre Club Administrateur CodeS-SourceS
[private joke pour sollen9]
"appel par numéro ordinal"
Rooooooh... Pour quelqu'un qui prône le professionnalisme, je te trouve bien taquin.
[/private joke pour sollen9]

mardi 30 juin 2009 à 20:41:13 | Re : C++ - Autoriser que la saisie d'un chiffre

BruNews

Administrateur CodeS-SourceS
On y gagnerait quoi à appeler des fonctions non documentées ???
Le sous classement n'est rien d'autre qu'un changement d'adresse de la procédure réceptrice des events system et c'est parfaitement documenté et donc gage de pérennité, faire dans l'exotique n'apportera aucune plus value.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : chiffre, saisie, autoriser


Répondre à ce message

Sujets en rapport avec ce message

verifier saisie chiffre et opération en C. [ par dealer2kinder ] Salut,voila je programme en C sous devC++ et j'aimerais savoir quel fonction me permettrait de savoir si l'utilisateur a bien saisie un chiffre entier Vérifier la saisie d'un utilisateur [ par Madaraa ] Bonsoir, j'ai un exercice ou je dois tester la saisie de l'utilisateur, si c'est un chiffre entre 1 et 100 j'affiche le chiffre en question, mais il Comment connaître l'état du curseur de la souris ? [ par thenaoh ] Bonjour ! Je souhaiterais simplement savoir quand le curseur de ma souris prend la forme du curseur de saisie (I-beam), comme quand on est au-dessus inverser les chiffre d'un entier [ par whitehat21 ] salut, je voudrait réaliser un programme qui affiche l'inverse des chiffres d'un nombre.par exemple si l'utilisateur entre 1234 le programme renvoie 4 Comment retrancher toujours le tout dernier chiffre et garder le reste du nombre original [ par Lunasoft ] Salut! J'ai une question liée à ceci. Je vous demande de m'aider. Car j'ai écrit les codes ci-dessous et me reste quelques lacunes. J'ai trois edits Dialogex [ par galax98 ] Bonjour Surement une question tres basique , mais ca fait pas mal de temps que je cherche sans succes. J'ouvre une boite de dialogue definie avec DIAL Saisie intuitive [ par chriscudy ] Bonjour à tous Je voulais savoir s'il était possible de faire une saisie semi-automatique à partir d'une base de données , (un peu comme on le fait e Programme Moyenne [ par kable78 ] Bonjour, Je cherche à faire un programme qui permet le calcul d'une moyenne à partir d'un fichier. Dans ce fichier doit figurer le nom de l'élève sui


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,744 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales