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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    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 à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 11
    Points : 13
    Points
    13
    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 expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

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

  4. #4
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    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
    Points : 3 766
    Points
    3 766
    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 expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 887
    Points : 1 531
    Points
    1 531
    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 chevronné
    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
    Points : 2 189
    Points
    2 189
    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

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 61
    Points
    61
    Par défaut
    version 6.0

  9. #9
    Membre chevronné
    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
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par toutounesan Voir le message
    version 6.0
    Avec cette information, maintenant je peut dire que la meilleure solution est celle de blondelle.

    N'oublie pas de cliquer sur le bouton

+ 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