IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

saisie de nombres uniquement


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut saisie de nombres uniquement
    Bonjour,

    J'aimerais connaitre la méthode pour que l'utilisateur puisse saisir uniquement des chiffres.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Par défaut
    Bonjour,

    Tu mets un test sur les caractères saisis dans ta fonction de l'évènement onChange

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void __fastcall Form1::Edit1Change(TObject *Sender)
    {
       if (Edit1->Text.ToIntDef(999) == 999)
       {
          // La valeur saisi n'est pas un chiffre
       }
       else
       { 
          // La valeur saisi est un chiffre 
       }
    }
    C'est comme cela que je fais pour ma part (si quelqu'un a mieux, je suis preneur )

    Cordialement
    Thorgal100

  3. #3
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Citation Envoyé par Thorgal100 Voir le message
    si quelqu'un a mieux, je suis preneur
    Utiliser un TMaskEdit

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Pourquoi ne mets-tu pas la propriété NumbersOnly de ton Tedit a True?

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut toutounesan
    C'est sur le site dans trucs et astuces pour c++ Builder
    Le lien
    Le texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Saisir que des chiffres dans un TEdit :
    Sur l'événement OnCreate de la Form (Form1) pour Edit1 : 
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
         SetWindowLong(Edit1->Handle,GWL_STYLE,
                    GetWindowLong(Edit1->Handle,GWL_STYLE)
                                                | ES_NUMBER );
    }
    2eme Solution: Saisir que des chiffres et au plus une virgule dans un TEdit
    Sur l'événement OnKeyPress du TEdit (Edit1):
    void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
    {
      if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
                            ((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0))
                                                                Key = NULL;
    }
    En utilisant "((TEdit *)Sender)" au lieu de "Edit1" dans la méthode. Elle devient valable pour n'importe quel TEdit.

  6. #6
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Citation Envoyé par Crayon Voir le message
    Pourquoi ne mets-tu pas la propriété NumbersOnly de ton Tedit a True?
    Peut-être parce que NumbersOnly n'existe que depuis Delphi 2009:
    http://nono40.developpez.com/tutorie...uveautes-2009/

  7. #7
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par 10_GOTO_10 Voir le message
    Peut-être parce que NumbersOnly n'existe que depuis Delphi 2009:
    http://nono40.developpez.com/tutorie...uveautes-2009/
    Oui mais toutounesan n'a jamais précisé la version de C++Builder qu'il utilise

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Controle de saisie pour chiffres uniquement
    Par sab_etudianteBTS dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/04/2007, 08h21
  2. Générer un nombre unique
    Par femtosa dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 12/04/2007, 16h59
  3. [VB6] Génération nombre unique
    Par Overflow64 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 12/10/2005, 15h05
  4. Génération de nombres uniques
    Par developper dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 12/09/2005, 14h42
  5. [JFormattedTextField] Saisie des nombres
    Par n00bi dans le forum Composants
    Réponses: 2
    Dernier message: 20/06/2005, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo