begin process at 2008 08 30 13:16:17
1 234 024 membres
59 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ralentissements dus à la fonction split(); [ Archives / Flash et les base de données ] (matthos)

ralentissements dus à la fonction split(); le 04/04/2006 10:30:06

matthos
salut je travail en ce moment sur un projet où je dois importer un fichier .txt. Jusque la, pas de problèmes(quoique l'importation est un peu spéciale avec des logiciels autres que flash MX ou autres dérivés de Macromédia... Je travail personnellement sur Glanda) Je veux ensuite effectuer un split le texte importé pour pouvoir traiter les données à l'intérieur... Mais ce texte est assez (pour pas dire très) long, donc cela engendre un freeze du pc pendant la fonction... Je vous met le code, au cas où : //LoadVarsText est la variable dans laquelle j'ai chargé mon .txt LoadVarsText.onLoad = function (succes) { if (succes) { Mavar = loadVarText+""; // le +"" permet à flash d'interpréter le texte importé comme une chaine de caractère, sans quoi il ne le coprend pas comme tel impor = Mavar.split(""); compteur(); // la fonction compteur permet juste d'afficher le texte importé... mais ce n'est pas ça qui ralentit l'application } }; voila... si quelqu'un a une solution, merci de la faire partagée ;) a+

Re : ralentissements dus à la fonction split(); le 04/04/2006 12:34:25

pegase31
Membre Club
1° Toute variable importée dans un .TXT est considérée comme un texte de base.
2° Il existe une fonction qui change une variable quelconque en texte : mavariable.toString();
3° Slipt("") te crée un tableau dans lequel chaque élément contiendras un caractère de ton texte;
4° Sachant qu'au bout de 20.000 instructions exécutées dans une même frame, Flash considère qu'il y a boucle infinie, et que ton texte est trés long, il est normal que Flash plante ...

Ma question : pourquoi placer chaque caractère de ton texte dans une case de tableau ?

Peg'

Re : ralentissements dus à la fonction split(); le 04/04/2006 13:36:03

matthos
je ne connaissais pas cette fonction toString (oui... j'suis pas vraiment ce qu'on pourrait appeler un expert en flash) donc je vais l'appliquer, mais cela ne changera pas mon problème... je m'explique : Ce ne sont pas des variables que j'importes dans mon swf, mais des lignes de textes de type "colone1;colone2;colone3;....;colone n" Ce dossier txt est en fait issu d'un xls (inexploitable sous cette forme avec glanta), convertit en csv (les colones sont converties en ;), puis en txt. Donc je veux utiliser le split pour faire une boucle sur ce texte, afin que flash restitue mon tableau (retour à la ligne apres des guillemets, avec modulo pour le faire qu'une fois sur 2, et ajout d'une nouvelle colone quand il y a un ;) De plus, Glanta est un logiciel assez... particulier, qui ne comprend pas du tout les accents des .txt, ni les virgules et tous les caractères spéciaux. Du coup ma boucle sur mon tableau me permet également de refaire correctement tous ces caractères spéciaux (quand il voit %2D -> un tiret, %20 -> un espace; %0D un retour à la ligne, etc...) J'ai cru que le split était la meilleur méthode pour faire ce travail, mais si tu en connais une autre, je serais ravi de la connaitre aussi ;) PS: j'effectue ce travail dans le cadre proffessionel, il m'est donc impossible de changer de logiciel (macromédia coute trop cher...) ou d'importer un document sous une autre forme (un .xml m'aurait plus aidé... mais je n'ai pas le temps de former les gens de l'entreprise à utiliser ce type de fichier) a+

Re : ralentissements dus à la fonction split(); le 04/04/2006 13:39:40

matthos
a oui et pour info, glanta ne considère pas les variables importées de mon txt comme des chaines de caractères... il ne parvenait pas à faire un split sur la variable loadVarText avant que je ne rajoute le +"" (un conseil... ceux qui le peuvent... restez sur les produits macromédia...)

Re : ralentissements dus à la fonction split(); le 04/04/2006 14:03:26

pegase31
Membre Club
ben ne connaissant pas glanta, je crois malheureusement que je ne peux pas grand choses pour toi .... Seul Flash fait du Flash et trés sèrieusement il ne faut pas s'étonner qu'avec les autres "herzatz" de ce logiciel, rien ne fonctionne comme il faut.

Et pour finir, je ne sais pas si tu es au courant, mais il y a une source ici qui permet de récupérer les données d'un txt non formatée genre "&variable1=...&".. cherche un peu tu devrais trouver ;)

Peg'

Re : ralentissements dus à la fonction split(); le 04/04/2006 14:14:04

matthos
Ouaip j'ai déja trouuvé cette source... J'ai cherché partout, sur pas mal d'autres sites avant de venir poster ici... 4 jours de recherche, mais rien. Tout ce qui marcherait avec flash est changé avec Glanta (j'ai essayé la fonction toString, mais malheureusement, elle ne marche pas non plus) Bon ba c'est pas grave, merci quand même d'avoir essayé de m'aider ;)

Re : ralentissements dus à la fonction split(); le 05/04/2006 10:05:58

matthos
Réponse acceptée !
bon, pour boucler ce sujet... j'ai finit par faire acheter le logiciel flash, et je récupère les données de mon fichier txt avec la fonction substr()... donc comme conclusion : utilisez flash.... pas glanta ni d'autres substitus de flash...


Classé sous : fonction, texte, split, importé, ralentissements

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS