[résolu] : Ordonner numériquement une liste de "String"
#1
Posté 07 août 2011 - 05:18
Petite intro sans rapport au post:
Mon passage de Director 8.5 à 11.5 est maintenant terminé.
La conversion de mes animations a été relativement longue
dans la mesure que la plupart de celles-ci sont basées sur des MIAWs.
Pour le reste, ça n'a pas été "douloureux" malgré que le
copier/coller dans l'éditeur de script est périlleux : (méfiez-vous des parenthèses et crochets)
Mais bon, j'aime l'interface et je supporte l'Unicode... Bravo!
OK,
On a une liste générée par BuddyApi Xtra (baFileList):
put l
--["10test.jpg", "11test.jpg", "12test.jpg", "1test.jpg", "2test.jpg", "3test.jpg", "4test.jpg", "5test.jpg", "6test.jpg", "7test.jpg", "8test.jpg", "9test.jpg"]
L'objectif est que la liste soit ordonnée de la même manière que Windows Explorer affiche les noms de fichiers, soit:
["1test.jpg","2test.jpg","3test.jpg","4test.jpg","5test.jpg","6test.jpg","7test.jpg","8test.jpg","9test.jpg","10test.jpg","11test.jpg","12test.jpg"]
Après quelques recherches sur le Net, j'en arrive à la conclusion que, bien que ça peu sembler un petit problème au premier abord,
c'est plutôt une petite "bête noire " et ce, quelque soit le langage de programmation...
Qui prend le défi...
Merci!
#2
Posté 07 août 2011 - 05:26
Comme ça, sans trop réfléchir, une première liste à partir des valeurs qui ont 1 seul chiffre en début de nom, puis les autres ?
1) j'extrais de la liste les valeurs qui ont x caractères, j'en fais une liste, j'ordonne, je mets dans une liste, puis j'extrais de la liste les valeurs qui ont x caractères + 1, j'en fais une liste, j'ordonne, je rajoute (add) à la fin de ma liste, et etc.?
amitiés directoresques
#3
Posté 07 août 2011 - 06:06
Wow!
C'est peut-être une solution à investiguer...en dernier recours...
Pour être franc, j'espérait une solution plus simple et surtout...comfirmer...
Un Xtra par exemple.
Dans la mesure que que l'on à pas le contrôle sur les "String" qui va avoir
dans la liste de départ et que Windows encode en unicode 16 bits.
Je genre de script prendrait énormément de temps à vérifier dans différents cas de figures.
Sans compter le nombre important de repeat loop nécessaires....
Merci tout de même pour cete réponse de style "Brainstorm"
PS: Première règle du "Brainstorm":
Ne jamais critiquer les dix première minutes...
#4
Posté 07 août 2011 - 08:41
depuis 2009 je n'ai pas ouvert Director mais
i.sort(); devrait faire l'affaire
sachant que i est une liste
#5
Posté 07 août 2011 - 09:06
Soit assurré que si
l.sort()
aurais fonctionner,
ce post n'aurait jamais existé.
C'est beaucoup plus complexe que ça en è l'air...
http://www.director-....php?title=Sort
Merci de la bonne intention
#6
Posté 07 août 2011 - 09:25
#7
Posté 07 août 2011 - 09:47
Ça semble très intéressant.
J'ai besoin d'un peu de temps pour analyser le tout.
Je te revient avec une opignon éclairée la-dessus.
Je doit avouer que je voulais éviter de me mettre les main dans le cambouis à ce point.
La créativité n'est pas vraiment là.
Un Xtra pour trier les listes à notre convenance serait pleinement justifier...
et je serais le premier acheteur...
Merci, c'est pertinent...
#8
Posté 07 août 2011 - 10:18
j'ai inspecté les fichiers, je doit avouer que n'ai pas envie d'aller plus loin dans cette direction.
Je n'aime pas mélanger ActionScript(Flash) et Lingo.
Pas que je n'aime pas AS3, je fais tout mon site web dans ce langage.
Mais ca m'oblige à ajouter des Xtras qui gonfle le poid final des mes animations...
et surtout on peut faire sans...
Merci
#9
Posté 07 août 2011 - 11:26
tu a réussis à piqué ma curiosité....
j'ai approfondis les possibiltés d'ActionScript dans ce dommaine.
(C'est une simple liste linéaire...on peut foncer...)
j'ai commencer par trouver ceci:
http://www.flashacti...ctie=Array.sort
j'ai télécharger les fichiers, que j'ai modifiés légèrement.
j'en arrive à la conclusion, qu'a première vu, ActionScript frappe un mur également
à Suivre...
#10
Posté 08 août 2011 - 02:32
Son nom est PRegEx Xtra
La version 2.0 est compatible Director 11.x et supporte l'Unicode.
(Grand Bravos au concepteur(s) qui ne ce sont pas dégonfler comme bien d'autres...)
C'est un Xtra dont le fonctionnement est basé sur les Expressions Régulières
Vous trouverez le script que j'ai tester et écrit par Sean Wilson à:
http://director-onli...ead.php?2,42156
Ça fonctionne bien et d'une rapididité étonnante.
Malheureusement,
C'est ok pour les strings commeçant par des nombres,
mais ce n'est pas encore identique à l'ordre de Windows Explorer.
PRegEx: Les Strings commeçant par des nombre sont avant les autres.
Windows Explorer: contraire...
Par manque de temps et avec regret je n'ai pas encore creuser le principle des Expressions Régulières.
C'est dans ma list "ToDo"
Y'a t'il un grand manitoo des Expressions Régulières dans la salle ?
L'objectif ultime est que l'utilisateur de l'animation retrouve dans celle-ci exactement la même liste de fichiers
que dans Windows Explorer. C'est le genre de détails que je trouve important lorsque je conçoit...
Merci !
Modifié par LingoSag, 08 août 2011 - 02:36 .
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)









