Comunidad de diseño web y desarrollo en internet online

botones y componente list

Citar            
MensajeEscrito el 27 Ene 2010 06:13 pm
ok una duda, en un bloc de notas tengo las rutas de carpetas de mi compu, en cada carpeta hay videos, lo que hago es que cada ruta lo agrego a un boton que se crea dinamicamente es decir si en mi bloc de notas tengo tres rutas, en flash me crea los tres botones que guarda la ruta para que al darle clcik me lleve a esa ruta guardada y al darle click al boton me lo enseña en un list el nombre de los archivos que se encuentran en esa carpeta, todo perfecto, el problema es que cuando le doy clcik a esos botones que se crean dianmicamente, no me borra el anterior listado, si no que me lo agrega al list el nuevo contenido de la nueva carpeta y yo lo que quiero es que al darle click a otra carpeta me borre lso nombres del list que estaban anteriormente y me ponga los nuevos, ademas el cada nombre que de archivo que aparecen en el componente list, son videos, cada vez que le doy click abre el video, pero si abro otro video, me encima el nuevo video, en lugar de quitar el anterior y agregar el nuevo. este es solo una porcion de mi codigo, no lo pongo todo pq es muy extenso, gracias

Código ActionScript :

var folder:String = mdm.Application.path; 

var miCadena = folder   
texto1.text=miCadena
var miArray:Array = miCadena.split("\\") 
miArray.pop()
miArray.pop()
//texto2.text=folder
rutita=miArray.join("\\")+"\\";
completa=rutita+"archivos\\paint\\"

_root.contenido.mi_mc._visible=0


var miLV:LoadVars = new LoadVars(); //declaro mi objeto loadvars;
var miarray: Array = new Array(); //mi array;
miLV.load(rutita+"admin\\scape\\seguridad\\rutas\\videos.txt");
//ojo luego de mi metodo load o sendAndLoad de un objeto LoadVars
// se ejecutara un  evento onLoad, por supuesto si esta definido
miLV.onLoad = function (success:Boolean){
  if (success){
         for (i=1;(this["videos"+i]!=undefined);i++){
            miarray= this["videos"+i];
          var targets:MovieClip =_root.contenido.mi_mc.duplicateMovieClip("mc"+i,i)  
   targets._y = (_root.contenido.mi_mc._height+5)*i + _root.contenido.mi_mc._y; 
   targets.results_txt.text=i
   targets.mi_mc.loadMovie(completa+cantidadIconos[i])
   targets.miarray= miarray
     
 targets.onRelease = function(){  
   _global.pasar=this.miarray 
   //texto.text=pasar
   

lista._alpha=30
f_player._alpha=30

mdm.Application.bringToFront();




carga_musica= pasar;

// almacenar en la variable, la ruta de la carpeta
var myFolder:String = carga_musica

texto.text=myFolder
// almacenar en la variable, el archivo de la carpeta seleccionada y se guarda en un array
var myFiles:Array = mdm.FileSystem.getFileList( myFolder, "*.wmv");
// al seleccionar el archivo del componente list
var filePath = myFolder+lista.selectedItem;
// cantidad de elementos que hay en el array
var cantidad = myFiles.length;

//ciclo for para recorrer los elemnetos en el componente list
for(var i=0; i<cantidad; i++){

lista.addItem({label:myFiles[i] , data:myFolder+myFiles[i]});

}


//seleccionar al principio
_root.lista.selectedIndex = 0 

if(lista.selectedIndex == 0){

_root.f_player.setMedia(lista.getItemAt(0).data, "wmv");
_root.f_player.play();
texto.text=lista.getItemAt(0).label
texto2.text="cierto"
}else{
texto2.text="falso"
}




var listListener:Object = new Object();
listListener.change = function(evt_obj:Object) {
    indexLista= evt_obj.target.selectedIndex;
texto.text=lista.getItemAt(indexLista).label


   
   

   texto5.text=lista.getItemAt(lista.selectedIndex ).data
     var myMP = new mdm.MediaPlayer(180, 148, 438, 318, "mini", false, true, lista.getItemAt(lista.selectedIndex ).data);
myMP.play();

 

    
}
lista.addEventListener("change", listListener);



f_player.complete = function() {
lista.selectedIndex +=1 
_root.f_player.setMedia(lista.getItemAt(lista.selectedIndex ).data, "wmv")
   _root.f_player.play();
  texto.text=lista.getItemAt(lista.selectedIndex).label
}
      
   
   }
   
   
   
        }
 }
 else {
       trace("error en el archivo externo");
  }
}




   

Por palmeros

46 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 27 Ene 2010 08:25 pm
Antes del ciclo que añade los items a la lista elimina los que ya están añadidos:

Código ActionScript :

lista.removeAll();

for(var i=0; i<cantidad; i++){  
    lista.addItem({label:myFiles[i] , data:myFolder+myFiles[i]});  
} 

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 28 Ene 2010 07:27 pm
muchas gracias resulto asi, simple :) gracias

Por palmeros

46 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 28 Ene 2010 08:47 pm
Para lo segundo que preguntabas, declara la variable "myMP" fuera de la función al principio del código:

Código ActionScript :

var myMP;
var folder:String = mdm.Application.path; 


Después en el código si esta variable no es undefined cierras el MediaPlayer.

Código ActionScript :

if(myMP != undefined) myMP.close();
myMP = new mdm.MediaPlayer(180, 148, 438, 318, "mini", false, true, lista.getItemAt(lista.selectedIndex ).data); 
myMP.play(); 

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.