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

 Delphi Discussion :

probléme avec les maskedit


Sujet :

Delphi

  1. #1
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut probléme avec les maskedit
    bonjour tout le monde,
    voila j'ai un de mes champs qui doit contenir exatement 12caractéres j'ai fait un masque (maskedit) bon ca marche avec ca sauf que j'aimerais grace a un maskedit ou avec le edit directement je ne c'est pas que l'utilisateur tape le renseignement que quand il passe au suivant je calcul la taille et si ce n'est pas égale a 12 je lui affiche un message(showmessage) et que je ne lui donne pas la main pour écrire sur le champ suivant juska ce qu'il corrige l'erreur

    merci énormément

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Tu peux essayer une chose :
    Fixe la propriété MaxLength du TMaskEdit à 12, puis, dans l'événement OnExit du TMaskEdit en question, tu peux mettre ceci (j'ai pas Delphi sous la main, donc ça peut comporter des erreurs...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(Length(MaskEdit1.Text) < MaskEdit1.MaxLength)then
    begin
      ShowMessage('Vous devez impérativement mettre 12 caractères');
      MaskEdit.SetFocus();
      MaskEdit.SelStart = Length(MaskEdit1.Text);
    end;
    En espérant t'avoir aidé
    A+

  3. #3
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    Utilise l'événement onExit de ton TEdit.
    Sur cet événement, tu mets ton compteur (if length(monEdit.text) <> 12) blablablabla....

    ----

    Ah ben voila, j'ai repondu en meme temps que ero
    Tu as les 2 solutions, soit avec le maskEdit, soit avec un OnExit.

    a+
    Amine

  4. #4
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    j'ai essayé comme ceci ca marche pas avec que le edit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var long:integer;
    begin
    long:=edit12.GetTextLen;
    if (long=12) then maskedit4.Text // c'est le champs suivan a remplir
    else
    ShowMessage('Vous devez impérativement mettre 12 caractères');
    edit12.SetFocus();
    end;

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Le code que je t'ai donné ne fonctionne pas ?
    As-tu mis MaxLength à 12 ? Si non, il vaudrait mieux le faire car sinon, tu pourrais rentrer plus de 12 caractères, et là, ça ne colle pas à ta demande (à moins que ce soit 12 caractères minimum)...

    Je préfère tout de même ma solution dans le sens où l'on contrôle la longueur maximale du TEdit, et qu'en plus, si jamais tu veux modifier la longueur (par exemple de 12 à 16), tu n'as juste à changer la propriété MaxLength.

    Par contre, je ne comprends pas le test ... Si ça vaut 12, tu veux mettre le focus au champs suivant ? De plus tu avais oublier d'encadrer ton instruction (le else) par un begin end
    Si oui, fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var 
      long:integer;
    begin
      long:=edit12.GetTextLen;
      if (long=12) then 
        maskedit4.SetFocus()// c'est le champs suivan a remplir
      else
      begin
        ShowMessage('Vous devez impérativement mettre 12 caractères');
        edit12.SetFocus();
      end;
    end;
    En espérant t'avoir aidé

  6. #6
    Aos
    Aos est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Points : 187
    Points
    187
    Par défaut
    oui ero, je préfére aussi ta solution
    Mais en faite, on a répondu en même temps, moi avec l'une, toi avec
    l'autre

    M'enfin, normalement, les 2 fonctionnent sans problème

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par Aos Voir le message
    oui ero, je préfére aussi ta solution
    Mais en faite, on a répondu en même temps, moi avec l'une, toi avec
    l'autre

    M'enfin, normalement, les 2 fonctionnent sans problème

    En fait, ta solution reprends la mienne car je combine le OnExit avec le MaxLength, et le Length du TEdit (voir mon tout premier post).
    Sinon, la remarque était plus pour notre camarade lila23

    Après, ce n'est qu'une façon de faire parmi tant d'autres ... Attendons la réponse de lila23

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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