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

Flash/Flex Discussion :

Détecter deux commandes dans une zone de texte


Sujet :

Flash/Flex

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Détecter deux commandes dans une zone de texte
    Bonjours je voudrais avoir plus de précision sur le réponse de ce sujet :
    http://www.developpez.net/forums/d14...ut-zone-texte/
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (zoneTexte2.text.indexOf("/tp ")==0)
    {
         var tp:String = zoneTexte2.text.substr(4);
         camera.movePersoToMap(tp, {"METHODE":4});
         camera.teleportToRespawn();
         camera.userInterface.addLocalMessage("<span class=\'user\'>Teleportation a la map : <b>" + tp + "</b></span>");
    }
    Mais maintenant j'aimerais pouvoir y mettre deux variables, une qui comprendrez le text entre 4 et 7 et l'autre entre 7 et 9.
    Pourquoi ? pour pouvoir aussi y modifier la methode a ma guise. Voici le code que j'ai essayé (qui n'a pas fonctionné) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (zoneTexte2.text.indexOf("/tp ")==0)
    {
         var tp:String = zoneTexte2.text.substr(4);
         var me:String = zoneTexte2.text.substr(7);
         camera.movePersoToMap(tp, {"METHODE":me});
         camera.teleportToRespawn();
         camera.userInterface.addLocalMessage("<span class=\'user\'>Teleportation a la map : <b>" + tp + "</b></span>");
    }
    Merci d'avance pour votre aide. =)

  2. #2
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Et bien,il faut savoir que substr(...) possède deux paramètres ... et elle renvoie une sous-chaîne dont le premier caractère correspond à la position indiquée par le premier paramètre et dont la longueur de cette sous-chaîne est spécifiée par le second paramètre.

    exemple substr(4,3) sous -chaîne de trois caractères dont le premier est à l'indice 4 en partant de 0.

    a+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci de votre aide, mais par exemple si sa longueur n'est pas définis ?
    Exemple :

    ?1 = Message à
    ?2 = le message

    "Bonjours ?1 + ?2"

    Bonjours est mis par default maintenant je veux rajouter deux variable mis en commande dans cette texte box :

    /mp ?1 ?2

    sans pour autant savoir le nombre de caractère de chacun. Une idée ?

  4. #4
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       var tp:String = zoneTexte2.text.substr(4,3);
       var me:String = zoneTexte2.text.substr(7);
    Je voulais dire que pour toi, il fallait que tu limites la portée de tp...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oui merci pour la réponse du "/tp " cela fonctionne mais si les 3 caractère ne sont pas définis par 3 mais par un nombre qui lui est définis jusqu’à un espace
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (zoneTexte2.text.indexOf("/mp ")==0)
    {
         var mp:String = zoneTexte2.text.substr(?1);
         var to:String = zoneTexte2.text.substr(?2);
         camera.userInterface.addLocalMessage("<span class=\'user\'>Message envoyé à " + mp + ": " + to</b></span>");
    }
    Existe-t-il une autre option pour régler ce problème ?
    ?1 et ?2 peuvent-ils être remplacer par autre chose ?
    en oubliant surtout pas que je veut rester dans la même textbox.
    Sinon encore merci pour la réponse du "/tp "

  6. #6
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    En fait, tu veux détecter à quel indice tu as un espace dans la chaîne ?
    Une boucle de 0 à length-1 et une condition if (charCible==" ") trouver l'indice...

    un lien sur toutes les méthodes sur String :http://help.adobe.com/fr_FR/FlashPla.../3/String.html

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Veut-tu bien me montrer un exemple ? car je suis débutant

  8. #8
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Ben, vite fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     for (var i:int = 0; i < mytext.text.length; i++) if (mytext.text.charAt(i) == charcible) index = i;
    index position de l'espace en partant de 0

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var charcible:String=" ";

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je suis censé mettre ce code dans une ENTER FRAME ? parce que là je suis perdu

    Je veux que quand je clique sur mon Bouton, il détecte le "/mp " + PSEUDO + UN ESPACE + du texte.

  10. #10
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Citation Envoyé par TysKiiZ Voir le message
    Je suis censé mettre ce code dans une ENTER FRAME ? parce que là je suis perdu

    Je veux que quand je clique sur mon Bouton, il détecte le "/mp " + PSEUDO + UN ESPACE + du texte.
    Bien quand tu cliques sur ton bouton, tu cherches d'abord la position de ton espace que tu récupères dans index (avec la boucle et condition citée précédemment) et ensuite, tu te sers de substr() pour récupérer pseudo et texte... index te permet de définir la longueur de la sous-chaîne Pseudo...

  11. #11
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    ci-joint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		    for (var i:int = 0; i < zoneTexte2.text.length; i++) if (zoneTexte2.text.charAt(i) == " ") index = i;
    			if (zoneTexte2.text.indexOf("/mp ") == 0)
    			{
    				pseudo = zoneTexte2.text.substr(4, index - 4);
    				texte =  zoneTexte2.text.substr(index + 1);
    			    ................
    			}
    ajoute un break; pour sortir de la boucle quand la condition est vérifiée, ce sera plus propre...

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Debutant AS3
    Inscrit en
    Juillet 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Debutant AS3

    Informations forums :
    Inscription : Juillet 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse ! mon problème est resolu
    PS : quand je rajoute le break; il y a une erreur:
    La cible de l'instruction break est introuvable.
    que je le mette dans ou a la sortie de la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for (var i:int = 0; i < zoneTexte2.text.length; i++) if (zoneTexte2.text.charAt(i) == " ") index = i;
    if (zoneTexte2.text.indexOf("/mp ") == 0)
    {
    	pseudo = zoneTexte2.text.substr(4, index - 4);
    	texte =  zoneTexte2.text.substr(index + 1);
    	camera.userInterface.addLocalMessage("<span class=\'user\'>MP à " + pseudo + " : " + texte + "</b></span>");
    	break;
    }

  13. #13
    Membre chevronné
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Points : 1 975
    Points
    1 975
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for (var i:int = 0; i < zoneTexte2.text.length; i++)
    if (zoneTexte2.text.charAt(i) == " ") 
    {
       index = i;
       break;
    }
     
    if (zoneTexte2.text.indexOf("/mp ") == 0)
    {
    	pseudo = zoneTexte2.text.substr(4, index - 4);
    	texte =  zoneTexte2.text.substr(index + 1);
    	camera.userInterface.addLocalMessage("<span class=\'user\'>MP à " + pseudo + " : " + texte + "</b></span>");
    }
    Dans la boucle évidemment...une fois que l'espace est trouvé, inutile de continuer à parcourir la chaîne...

    Après d'ailleurs, tu peux optimiser puisque index ne sert à rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for (var i:int = 0; i < zoneTexte2.text.length; i++)
    				if (zoneTexte2.text.charAt(i) == " ")
    				{
    					if (zoneTexte2.text.indexOf("/mp ") == 0)
    					{
    						pseudo = zoneTexte2.text.substr(4, i - 4);
    						texte = zoneTexte2.text.substr(i + 1);
                                                   	camera.userInterface.addLocalMessage("<span class=\'user\'>MP à " + pseudo + " : " + texte + "</b></span>");	
    					}
    					break;
    				}

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/06/2014, 23h52
  2. Mettre du gras dans une zone de texte
    Par gontrand16 dans le forum IHM
    Réponses: 6
    Dernier message: 11/12/2012, 13h38
  3. Détecter les modifications faites dans une zone de texte avec la souris
    Par nosferapti dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 24/09/2009, 10h48
  4. Code de séléctionnement dans une zone de texte
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/10/2005, 14h46
  5. Exclusion de caractere dans une zone de texte
    Par martsigo dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2005, 21h03

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