Soyez le premier à donner votre avis sur cette source.
Vue 9 293 fois - Téléchargée 293 fois
Voici un fonction qui décode les (mots) de votre choix en lui passant en paramètre le nom du champ texte sur lesquel procéder. Champ texte en effet, puisqu'en AS2 nous n'avons à disposition que l'instruction "ReplaceText". - Concernant la recherche d'occurences et son remplacement en AS3, je vous renvoie ici : http://livedocs.adobe.com/flash/9.0_fr/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_bak&file=00000084.html this.createTextField("my_txt2", this.getNextHighestDepth(), 8, 150, 320, 22); my_txt2.autoSize = true; my_txt2.text = "'|à|'|â|'|?|,<b>machin</b>,|%|&|"; Decode_carrets(my_txt2); my_txt.text = "'|à|'|â|'|?|,<b>machin</b>,|%|&|"; Decode_carrets(my_txt); //------------------------------------------------------------------------------------ function Decode_carrets(chaine){ //Tableau contenant le code à rechercher et celui qui sera son remplaçant. var Tab_code = new Array ( ["'", "'"], ["&" , "&"], [",<" , "<"], [">," , ">"] ); for(i=0; i<Tab_code.length; i++){//recherche avec tous les codes un par un var masq : String = new String(Tab_code[i][0]); var replace : String = new String(Tab_code[i][1]); var len_masq : Number = Tab_code[i][0].length; var pos_deb : Number = chaine.text.indexOf(masq); while (pos_deb >-1){ //recherche du même code sur la ligne entière chaine.replaceText(pos_deb, pos_deb+len_masq, replace); var pos_deb : Number = chaine.text.indexOf(masq); }//while }//for } //------------------------------------------------------------------------------------
- Si ce n'est pas un défaut, c'est "chiant" dit-on ... je le concède volontier ;((
Je vais tester cette formule pour voir si elle peut s'appliquer à mon dev en cours.
En effet, parfois dans certaines conditions on a des bugs alors qu'un bout de code semble bien fonctionner en isolé.
Pour l'instant je ne lui trouve rien à redire en toute bonne fois.
la prochaine fois je ne le ferais pas de tête.
Peg'
j'utilise assez souvent ce principe de split / join c'est très pratique :o)
Ton code fonctionne parfaitement (enfin le code de pegase31 ;-))
la fonction traite bien toutes les occurences similaires dans la phrase et ce pour l'ensemble des mots à décoder !
je cherche pas a savoir qui a raison, qui a tord...
Mais au probleme posé ci-dessus, a savoir :
Que cette fonction soit bourrine ou hyper hype lol mais qu'elle me donne : a2ty3lm4112ty1
la solution la plus simple et la plus rapide est la suivante :
my_text.text = "aazerty,<lm>,''azerty'";
var Tab_code = new Array ( ["'", "1"],["azer" , "2"],[",<" , "3"],[">," , "4"]);
for (var i=0; i<Tab_code.length; i++) {
my_text.text=my_text.text.split(Tab_code[i][0]).join(Tab_code[i][1]);
}
Le contenu du champs de texte au final est bien égale à :
a2ty3lm4112ty1
taa daaaaaaaaaaaaaaaaaaaaaaaaa
Qu'est ce que j'ai gagné ????
@+
Girou
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.