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 :

Separation automatique d'un num de tel


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 24
    Par défaut Separation automatique d'un num de tel
    Bonjour,

    Je cherche à séparer un numéro de téléphone lorsque ce dernier est en cours de saisi.
    Une fois le numéro de tel est saisi, au lieu d'afficher 0606060606, il afficherait : 06 06 06 06 06

    La saisi se fait dans un TEdit, j'ai essayé de faire l'ajout de l'espace sur l'évènement sur l'évènement KeyPress, avec plusieurs méthode différentes, mais ca marche pas correctement ou pas du tout

    Voila ce que j'ai testé :
    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
    19
    20
    21
    22
    23
    24
      bool test;        
      test=true;
    //Désactive toutes les touches sauf les touches numériques, backspace et supprime
      if ((Key==8) || (Key==127) || ((Key>='0') && (Key<='9'))) test=false;
      if (test) Key=0;
     
     
     
      if((Key>='0') && (Key<='9'))
      {
        if((EditTel1->Text.Length()==2) || (EditTel1->Text.Length()==5) || (EditTel1->Text.Length()==8) || (EditTel1->Text.Length()==11))
        {
          //1ere méthode : Coller a la chaine existante un espace, mais ca met le curseur du clavier au début, et le caractére taper se met au début de l'ansi (faudrai délacer le curseur a la fin du TEdit)
          EditTel1->Text=EditTel1->Text+" ";
     
          //2eme méthode : Insérer un espace à la fin de l'ansistring, mais ca n'ajoute rien du tout
              EditTel1->Text.Insert(" ",EditTel1->Text.Length());
    /*ou*/ EditTel1->Text=EditTel1->Text.Insert(" ",EditTel1->Text.Length());
     
          //3eme méthode : ajouter le caractére espace après le dernier caractére, avant que le caractére taper se s'affiche 
                EditTel1->Text[EditTel1->Text.Length()+1]=' ';  //ca plante (normal)
    /*ou*/    EditTel1->Text[EditTel1->Text.Length()]=' ';   //le derniere caractère n'est pas remplacer par un espace
        }
      }
    Un autre défaut avec ce que j'ai fait (dans le cas ou ca fonctionnerais correctement), c'est que si l'utilisateur modifie un numero en plein milieu du telephone, ca créera des problemes

    J'ai aussi chercher au niveau du TEdit, s'il avait un mask tout pres, mais j'ai rien trouvé à se niveau la.

    Si vous avez une solution, ou une méthode pour séparer le num, je suis preneur ^^

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut
    Bonjour Maitre Dragon,

    Pourquoi ne pas utiliser un TMaskEdit.
    Va dans Propriétés du TMaskEdit et sélectionne EditMask, rentre ces paramètres :

    !00\ 00\ 00\ 00\ 00;1;_

    et le tour est joué...
    Tu peux aussi lui donner le focus et le positionner sur le premier chiffre à saisir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
      MaskEdit1 -> SetFocus();
      MaskEdit1 -> SelStart = 0;
    }
    Bon courage...

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 24
    Par défaut
    Pourquoi je ne l'avais pas utilisé ?? Bah... parce que je ne connaissais pas XD

    En tout cas, ca marche nikel

    Merci ^^

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

Discussions similaires

  1. [XL-2007] ajouter une ligne automatiquement si tel cellule est remplie
    Par croky23 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 23/01/2011, 23h19
  2. Requete SELECT avec Num automatique
    Par fonkwe dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 08/11/2009, 11h20
  3. Requête pour Oter les points dans les Num de tel
    Par isabelle b dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/07/2008, 01h27
  4. Conversion automatisée des num tel sur mobile ?
    Par kimz dans le forum Mobiles
    Réponses: 2
    Dernier message: 25/02/2008, 14h38
  5. [WD11 Mobile] récupérer le num de tel (smartphone)
    Par Harry dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 02/08/2007, 22h24

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