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

Apple Discussion :

[Objectice-c][Cocoa] formatage-textField


Sujet :

Apple

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 17
    Points
    17
    Par défaut [Objectice-c][Cocoa] formatage-textField
    Bonjour
    je travaille sur un projet en cocoa sur interface builder...Dans se programme il faut que l'utilisateur rentre l'ip et après je vais la traiter. Mais je voudrai que lorsque il tappe l'ip il ne puisse noté que des chiffire et pas de lettre (quand il tappe une lettre sa écrit dans le vide ) ..
    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par guyzmot
    Bonjour
    je travaille sur un projet en cocoa sur interface builder...Dans se programme il faut que l'utilisateur rentre l'ip et après je vais la traiter. Mais je voudrai que lorsque il tappe l'ip il ne puisse noté que des chiffire et pas de lettre (quand il tappe une lettre sa écrit dans le vide ) ..
    merci
    soit vous avez un seul champ texte, et l'utilisateur doit donc entrer les points de séparation -> il faut faut écrire un NSFormater pour la circonstance
    (dans ce cas vous pourriez tolérer l'entrée en hexa… à vous de voir…)

    soit vous avez 4 (IPv4) ou 6 (IPv6) champs (éventuellement dans une NSMatrix…) et vous associez à chacun d'eux un NSNumberFormater (dans Interface Builder, l'icone d'un champ texte avec un $ en vert…) avec min 0 et max 255.

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Salut

    Je suis avec guizmot, on bosse sur le même projet...

    J'ai fait mes 4 champs pour mon ip, j'ai fait rajouté un NSNumberFormattter en le glissant dans chacun des 4 champs, et j'ai réglé celui ci sur 0min 255max...
    Quand je compile mon appli et que je la lance, je peux quand même rentrer des chiffres ou des lettres, et des groupes de plus de 3 chiffres par champs... J'ai du louper un épisode...

    Ca fait pas mal de temps que je cherche, mais la documentation d'XCode est assez obscure parfois...

    J'ai aucun problème pour sortir une ip avec mes 4 champs, mais il faudrait absolument que l'utilisateur ne puisse rentrer que des nombres entre 0 et 255...

    Merci !

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par .mok.
    Salut

    J'ai fait mes 4 champs pour mon ip, j'ai fait rajouté un NSNumberFormattter en le glissant dans chacun des 4 champs, et j'ai réglé celui ci sur 0min 255max...
    Quand je compile mon appli et que je la lance, je peux quand même rentrer des chiffres ou des lettres, et des groupes de plus de 3 chiffres par champs... J'ai du louper un épisode...

    la validation du champ se fait lorsque l'utilisateur "quitte" le champ (par tabulation, clic souris, etc…)
    jusque là il peut en effet rentrer tout ce qu'il veut : mais le champ ne sera pas validé, et lorsqu'il quitte le champ il y aura un "beep" et le champ non validé sera sélectionné à nouveau…

    si vous voulez que le filtrage ait lieu caractère par caractère vous devez écrire votre propre NSNumberFormatter en sous-classant celui par défaut et implémentant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    –isPartialStringValid:proposedSelectedRange:originalString: originalSelectedRange: errorDescription:  
    
    This method should be implemented in subclasses that want to validate user changes to a string in a field, where the user changes are not necessarily at the end of the string, and preserve the selection (or set a different one, such as selecting the erroneous part of the string the user has typed).

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Effectivement, cela marche très bien avec NSNumberFormatter finalement, il y a bien un beep lorsque l'on rentre de mauvaises informations.

    Je vais regarder comment créer mon propre NSNumberFormatter !

    Merci de ton aide JeitEmgie!

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    salut on a continué un peu a bosser là dessus, on a réussi a écrit notre classe Ip address (sous classe de NSNumberFormatter), avec notre isPartialStringValid qui fonctionne bien. Le truc c'est que quand on écrit quelquechose dans le champ ça nous rajoute toujours .00 à la fin.

    Je suppose que ça vient du fait que c'est une sous classe de NSNumberFormatter, mais je vois pas trop comment bloquer ça...

  7. #7
    Membre éprouvé

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par .mok.
    salut on a continué un peu a bosser là dessus, on a réussi a écrit notre classe Ip address (sous classe de NSNumberFormatter), avec notre isPartialStringValid qui fonctionne bien. Le truc c'est que quand on écrit quelquechose dans le champ ça nous rajoute toujours .00 à la fin.

    Je suppose que ça vient du fait que c'est une sous classe de NSNumberFormatter, mais je vois pas trop comment bloquer ça...
    pour avoir rajouter un NSNumberFormatter sur mon projet GiCalDesktop, je sais que ce dernier est par défaut en XXX XXX.XX et -XXX XXX.XX . Avez vous redéfinit le constructeur?

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    ben non justement, je sais pas vraiment quel methode je dois redéfinir :'(

  9. #9
    Membre éprouvé

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par .mok.
    ben non justement, je sais pas vraiment quel methode je dois redéfinir :'(
    j'ai trouver ça sur la doc officielle :

    création d'un custom nsnumberformatter : http://developer.apple.com/documenta.../uid/10000029i

    la classe par originale : http://developer.apple.com/documenta...Reference.html

  10. #10
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    salut

    merci pour les liens, j'avais déjà regardé mais honnétement je crois que ya beaucoup de choses que j'ai pas du comprendre...

    je ne trouve pas quelles sont les méthodes pour bloquer les .00 qui se mettent tout seul, j'ai beau tester, rien

  11. #11
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bon j'ai réussi a trouver comment virer les deux zéros :

    StringForObjectValue

    maintenant quelqu'un saurait il comment bloquer le champs à 3 caractères maximum ?

Discussions similaires

  1. Pb de formatage de champs de type float
    Par FrankyNormand dans le forum XMLRAD
    Réponses: 9
    Dernier message: 05/05/2005, 12h37
  2. [Flash MX] Pb d'affichage dans un textfield
    Par dens63 dans le forum Flash
    Réponses: 2
    Dernier message: 04/11/2003, 10h49
  3. problème de formatage à l'écran
    Par bidson dans le forum XMLRAD
    Réponses: 13
    Dernier message: 11/07/2003, 18h02
  4. [7RC3] Formatage de champs float
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/05/2003, 09h38
  5. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53

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