2012-09-07 5 views
1

Je me demandais s'il était possible de déplacer un élément de bibliothèque en fonction de ses extensions.jsfl déplacer .jpg .png vers différents dossiers

Je sais que bitmaps peuvent être déplacés à l'aide de ce code:

if(myItemType == "bitmap"){ 
mylibrary.moveToFolder("Bitmaps", myItemName, true); 

Source: http://www.flashperfection.com/tutorials/Organizing-Library-using-JSFL-36522.html


Cependant: ma question est temps, il est possible de déplacer des éléments contenant, par exemple, " .jpg "et" .png ", et déplacez les éléments vers deux dossiers différents nommés" JPG "et" PNG ".

Pour ce travail, le client exige que les fichiers PNG et JPG soient dans des dossiers séparés dans la bibliothèque Flash.

Merci d'avance pour toute l'aide!

-Pat

+1

ne s'agit-il pas de vérifier l'extension plutôt que le type d'élément? 'var ext = monItemName.substr (myItemName.lastIndexOf (". ")); mylibrary.moveToFolder (ext == ".jpg"? "JPG": "PNG", myItemName, true); 'ou quelque chose dans ce sens? –

+0

C'est génial! Je suis capable de déplacer des extensions jpg avec ça. Mais à quoi cela ressemblerait-il dans une autre déclaration? – Patrick

+0

Je suis totalement nouveau à ce sujet, alors ours avec moi. Je suppose que je ne comprends pas comment le code cherche des extensions. Par exemple: If (myItemName == ".jpg") {mylibrary.moveToFolder ("JPGs")} else {If (monNomItem == ".png") {mylibrary.moveToFolder ("PNGs")} – Patrick

Répondre

0

En fonction de votre code ci-dessus, il devrait une question d'extraire l'extension par une sous-chaîne à partir du dernier caractère . trouvé dans la chaîne jusqu'à la fin de la chaîne en utilisant quelque chose comme substr():

var extension = myItemName.substr(myItemName.lastIndexOf("."));//grab the extension from the name 
if(extension.toLowerCase() == ".jpg") mylibrary.moveToFolder("JPGs", myItemName, true);//move to folder based on extension 
if(extension.toLowerCase() == ".png") mylibrary.moveToFolder("PNGs", myItemName, true); 
//...etc. 

si vous le souhaitez, vous pouvez utiliser une instruction switch au lieu du if conditionnel:

switch(extension) 
{ 
    case ".jpg": 
    case ".JPG": 
     mylibrary.moveToFolder("JPGs", myItemName, true); 
     break; 
    case ".png": 
    case ".PNG": 
     mylibrary.moveToFolder("PNGs", myItemName, true); 
     break; 
    //...etc. 
}