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 Discussion :

[FLASH 8] Comment faire des str_replace en flash?


Sujet :

Flash

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut [FLASH 8] Comment faire des str_replace en flash?
    Bonjour
    j'aimerais faire deux array et remplacer les cellules du premier tableau par celles du deuxième
    un truc du genre en php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $sm = array("1","2","3","4","5");
    $im = array("a","b","c","d","e");
    $code = str_replace($sm,$im, $code);
    comment peut-on faire l'exact équivalent en flash?

  2. #2
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    ce que tu dis la c'est une copie non ??? Sinon un simple boucle va très bien

    @++
    Libzippp (C++)
    Lost in AStorm

  3. #3
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    thecaptain pensait a cela si je ne m'abuse : (les formes en moins...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sm = new Array ("1","2","3","4","5");
    im = new Array ("a","b","c","d","e");
    // code est un tableau predefini auparavant
    for(i=0; i<6; i++){
    	if(code[i]==sm[i]){
    		code[i]=im[i];
    	}
    }
    j'esperes que cela te convient...
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Excusez-moi, je suis vraiment nul mais je comprends pas comment ça marche les arrays
    tu me dis, je dois mettre var code dans un tableau alors je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    code = 12345;
    var code:Array = new Array();
    sm = new Array ("1","2","3","4","5");
    im = new Array ("a","b","c","d","e");
    for(i=0; i<6; i++){
    	if(code[i]==sm[i]){
    		code[i]=im[i];
    	}
    }
    Mais il me dit
    Type mismatch in assignment statement: found Number where Array is required.
    J'ai mal défini mon tableau code au départ?

    Et ensuite si je veux trace code, je dois reconcatener les cellules du tableau code?

  5. #5
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    Qu'on soit d'accord pr ton str_replace : ca compare chaque element de $sm et de $code, et si il y en a un pareil, il donne a cet element de $code la valeur de $im ?
    si c'est ca, ca veut dire que code est un tableau qui existe deja, qui a deja des valeurs, afin de pouvoir les comparer avec le tableau sm...

    J'ai di des betises ?

    le pb dans ce que tu as ecri est que le tableau code n'a rien de defini dedans, donc y'a pas de code[i], donc ca bug...
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Tu as tout à faire raison, c'est ça que je veux faire.
    Donc c'est mon tableau qui est pas bien fait. Comment peut-on mettre qqch de défini dans le tableau?

  7. #7
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    bah, de la meme facon que tu defini sm et im :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sm = new Array ("1","2","3","4","5");
    array = tableau
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Donc si je mets ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    code = 12345;
    var code:Array = new Array("1","2","3","4","5");
    sm = new Array ("1","2","3","4","5");
    im = new Array ("a","b","c","d","e");
    for(i=0; i<6; i++){
    	if(code[i]==sm[i]){
    		code[i]=im[i];
    	}
    }
    trace (code);
    Ca devrait marcher? parce que il me met
    Type mismatch in assignment statement: found Number where Array is required.
    argh désolé de te déranger

  9. #9
    Membre actif Avatar de Gnomothir
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 234
    Points : 297
    Points
    297
    Par défaut
    tu defini code comme un Number et comme Array c'est ca ton erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    code = 12345;
    var code:Array = new Array("1","2","3","4","5");
    Développez c'est bon pour la santé !!!
    langages: AS2/3, php, c++, java, ruby.
    os: windows, débutant linux (debian).

  10. #10
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    tkt, tu me derange pas ^^
    la, faut pas que tu mette d'abord car tu defini code en valeur numerique, et apres en tableau...ca devrait mieux marcher apres
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Bah quand je l'enlève
    ça me met
    a,b,c,d,e
    Mais je ne comprends pas, avant de faire un tableau avec code, il faut quand même savoir ce que c'est, je veux dire si j'ai la valeur code =123; à transformer dans le script, il faut quand même lui indiquer que code vaut 123 sinon il met rien dans le tableau. Peut être que je dois faire un changement de variable
    du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto = 12345;
    var code:Array = new Array(toto);
    enfin je sais pas, parce que si je définis pas la valeur à transformer, c'est bizarre.

  12. #12
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    je suis pas dispo, je te rpd demain matin...mais la tu confond un truc avec les tableaux...je t'expliquerais si personne ne le fait...
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Ok merci
    je te réexplique quand même ce que j'ai compris et mon objectif.
    J'ai un nombre que j'appelle code, disons qu'il vaut 12345
    je veux le transformer grâce au script mais cela n'est possible que si j'ai un tableau (enfin c'est ce que j'ai compris) avec des valeurs code[0] code[1] etc
    donc il faut forcément qu'à partir de mon code =12345; je fasse qqch pour le transformer en tableau (pour ensuite avoir code[1]=1 code[2]=2 etc code[5]=5

  14. #14
    Membre actif Avatar de Gnomothir
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 234
    Points : 297
    Points
    297
    Par défaut
    Ce que tu peux faire c'est de faire une boucle qui va lire un par un les elements de ta chaine et qui va remplir le tableau.
    1/ Tu recuperes la taille de ta chaine avec lenght.
    2/ tu recuperes le caractere a chaque position avec charAt.
    3/ enfin tu remplis ton tableau suivant le caractere recupere.
    Développez c'est bon pour la santé !!!
    langages: AS2/3, php, c++, java, ruby.
    os: windows, débutant linux (debian).

  15. #15
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    Gnomothir t'as donne la bonne demarche, je vais tenter de t'en dire un peu plus...
    alors, comme tu l'as di, ce que je n'avais pas saisi, c'est que tu pars d'un nombre, que tu transforme en tableau...
    alors, la manipulation a faire est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    code="12345";
    codetable=new Array();
    for(i=0; i<code.length; i++){ // boucle allant de 0 a la longueur de code -1 (ici egale a 4)
    	codetable[i]=code.charAt(i); // codetable[0]=premier terme de code = 1
    }
    trace(codetable);
    voila, tu as transforme code en tableau, que l'on nomme codetable...
    apres, si tu veux faire une comparaison comme ton str_replace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sm = new Array ("1","2","3","4","5");
    im = new Array ("a","b","c","d","e");
    for(i=0; i<codetable.length; i++){
    	if(codetable[i]==sm[i]){
    		codetable[i]=im[i];
    	}
    }
    trace(codetable);
    codetable a la fin : a,b,c,d,e
    ce qui normal, car codetable avant de le passer dans la fonction str_replace est egal au tableau sm, donc toutes ses valeurs prennent celles du tableau im...
    c'est clair ou pas ?
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    C'est très très clair, merci beaucoup à tous c'est exactement ce que je voulais
    j'ai par contre rajouté un truc
    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
     
    code="54321";
    codetable=new Array();
    for(i=0; i<code.length; i++){ 
    codetable[i]=code.charAt(i);}
    sm = new Array ("1","2","3","4","5");
    im = new Array ("a","b","c","d","e");
    for(i=0; i<codetable.length; i++){
    	for (j=0; j<codetable.length; j++) {
                           if(codetable[i]==sm[j]){
                            codetable[i]=im[j];
    }
    }
    }
    trace(codetable);
    Comme ça avec code= 54321; j'ai bien e,d,c,b,a.

    J'ai une dernière question, comment je fais pour transformer e,d,c,b,a en
    edcba, il faut concatener? je ne connais pas trop la fonction car là codetable est en array à la fin non? il faudrait que je le retransforme
    merci d'avance

  17. #17
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    essaye en mettant dans une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    newcode+=codetable[i]; // equivalent a newcode= newcode + codetable[i];
    faut que tu initialise ta nouvelle variable : newcode="";
    ca devrait fonctionner...
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

  18. #18
    Membre actif Avatar de Gnomothir
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 234
    Points : 297
    Points
    297
    Par défaut
    Exactement, pour faire une concatenation de chaine de caractere il te suffit d'employer le +
    Développez c'est bon pour la santé !!!
    langages: AS2/3, php, c++, java, ruby.
    os: windows, débutant linux (debian).

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Euh il faut le mettre où parce que j'ai essayé de mettre newcode+=codetable[i]; à la fin ou sinon dans la boucle mais à chaque fois il m'écrit NaN
    ça veut dire quoi?

  20. #20
    Membre confirmé Avatar de BrItneY
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    488
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 488
    Points : 501
    Points
    501
    Par défaut
    tu peux refaire une tite boucle sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    newcode="";
    for(i=0; i<codetable.length; i++){ 
    	newcode+=codetable[i]; // equivalent a newcode= newcode + codetable[i];
    }
    Blog de BrItneY. Avis et tests de jeux vidéos PC.

    "Un geek, ça n’est avant tout qu’un Homme Assisté par Ordinateur (H.A.O)" (www.copinedegeek.com)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [FLASH 8] Comment faire des boutons radio ?
    Par jbidou88 dans le forum Flash
    Réponses: 8
    Dernier message: 08/06/2006, 15h08
  2. Réponses: 1
    Dernier message: 21/02/2006, 10h52
  3. Réponses: 1
    Dernier message: 10/02/2006, 16h59
  4. Réponses: 2
    Dernier message: 05/07/2005, 17h40
  5. [FLASH MX] Comment faire un rollover de 2 images ?
    Par clicman dans le forum Flash
    Réponses: 5
    Dernier message: 29/06/2005, 14h00

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