ExplorerList_variable??

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
buenass
amigos vengo con una nueva duda :) :)
hay alguna manera de que este script:
    result = ExplorerTree.GetPath("Plugin1");
        Path = String.AbbreviateFilePath(result, 45);
        Input.SetText("Input1", Path);
    file = File.Find(result, "*.mp3", true, false, nil, nil);    
    if (file == nil) then
            Dialog.Message("Error", "No hay archivos Mp3");                        
          else   
              for j,file_path in pairs (file) do
                   
                     tbFilePath = String.SplitPath(file_path);
                     sFile = tbFilePath.Filename;
                     ListBox.AddItem("ListBox1", sFile, file_path);
                     files = ListBox.GetCount("ListBox1");
                     Label.SetText("Label2",files.. "  elementos");
Page.StartTimer(1000, 10);
end
		
Selected = ListBox.GetSelected("ListBox1");
if Selected ~= nil then
	Song = Selected[1];
	Data = ListBox.GetItemData("ListBox1", Selected[1]);
	Audio.Load(CHANNEL_BACKGROUND, Data, true);
	Page.StartTimer(1000, 10);
end
end
agregue a la lista archivo por achivo y no todos los que encuentre al dar doble click
me explico:
que solamente dando doble click sobre el archivo este se agregue y no todos los archivos que se encuentran dentro de la carpeta...

apz please! y una explicacion mas extensa , que no se entiende lo que quieres bien , donde esta el evento de doble click? es este script? es el ondoblecklick del objeto ex.tree?

ok lo siento rafax si es en el evento on doble click del ExplorerList.

lo que sucede es que al dar doble click en una carpeta del explorerlist este busca archivos .mp3 dentro de esa misma carpeta y los agrega a la lista, pero en realidad lo que yo quiero es que al dar doble click en la carpeta esta solamente se abra normalmente y me muestre los archivos que alli se encuentra para lusgo yo mismo poder escoger cuales quiero que se agregen ala lista y no todos a la vez, si no archivo por archivo
espero me entiendas
aqui esta la apz.
HIDE: ON
Hidebb Message Hidden Description


puse alli los scripts para que por favor los revises....

SEROOOOTTT! :lol: sigues con las discografias? YA PARALE MANITO! :) :) :)

Aunque ya casi no ando en el ams deja le echo un ojo ahora que lo reinstale y a ver que tal.

Slaudos ;)

thanks

ok gracias metafunken estare esperando

He revisado un poco tu proyecto y estas muy mal serot...

En primera estas usando una funcion propia del ExplorerTree en el ExplorerList.

Por lo que lei o mas o menos entendi y a groso modo, te dejo un ejemplillo que hice de a rapido, usando ExplorerTree, ListBox y ListBoxEx:

HIDE: ON
Hidebb Message Hidden Description


Lo que hace basicamente es permitir solamente ficheros .mp3 dentro del ExplorerTree y pasarlos a las ListBox cuando das doble click en el Explorer.

Deberas hacerlo crecer tanto como quieras o segun tus necesidades ya que, repito, es demasiado basico pues tuve que instalar el ams, lo desinstale porque luego me quita el tiempo, como ahora voy por C# y suele pasar pues este jodido ams luego es un vicio :) .

Saludos ;)

ooooooooo :friends:
gracias META gracias funciona 100%
:num1: :yeah:

No serot, no funciona al 100%... No te diste cuenta del error?

En el boton "Stop Both" debes cambiar la variable sSel por sSongPath para lograr un vaciado correcto, osea:
Audio.Stop(CHANNEL_ALL);-- Stop all channels
if (ListBox.GetSelected("ListBox1") ~= nil) then-- If the ListBox "normal" is currently selected then will be deselected
	ListBox.DeselectItem("ListBox1", LB_ALLITEMS);-- Deselect all items
	sSongPath = nil;-- Set nil to avoid undesired "replay" if the button is pressed again
end
if (ListBoxEx.GetSelectedItem("ListBoxEx") ~= nil) then-- If the ListBoxEx is currently selected then will be deselected
	ListBoxEx.SelectNone("ListBoxEx");-- Deselect all items
	sSongPathEx = nil;-- Set nil to avoid undesired "replay" if the button is pressed again
end
Puesto que si vacias la variable sSel la cancion se seguira reproduciendo cuando pulses el boton "Play Normal". Es importante que vacies algunas variables cuando asi lo necesites, esto hace que tu o tus proyectos (lo que sea) se mire mas profesional.

Aprende a crear condiciones (filtros) oportunas, aunque sepas que el proyecto va a funcionar perfectamente debes crearlos para que el usuario final disfrute de una excelente experiencia.

Que bueno que te ha servido, si tienes mas dudas pues comenta, por cierto...

Como que queremos ver ya uno de tus proyectos eh! Ya va siendo hora de que postees algo "para la banda" :lol:

Saludos ;)

jajajajaja pronto pronto amigo mio...
como tu correctamente dices quiero que sea algo profesional o por lo menos que sea agradable de utilizar.. para el usuario.

y si amigo lamento ser inoportuno en este caso ya que se que le has gastado tiempo para este ejemplo
pero la verdad es que en el momento de euforia no note y cuando vi el ejemplo lo probe y sirvio no me di cuenta de algo importante y es que
yo queria que funcionara pero con el objeto ExplorerList no con el tree :) :)
ja disculpame amigo por no avisarte antes.
pense que ese mismo codigo servia con el explorerlist pero no, una decepción en este caso

GRACIAS AMIGO perdoname por este error fatal :sorry: :) :)

:cabreado: :cabreado: :cabreado: ... :lol:

No macho, nada de tiempo he "gastado" dices, cuando gente agradecida mira lo que posteamos ¬¬ es mas, es un placer hacerlo man, sin embargo cuando la gente no sabe agradecer si que es molesto y en mi caso sencillamente le dejo de apoyar pues luego solo te buscan cuando les conviene mas no para compartirte algo, ahora entiendo a algunos usuarios de diversos foros, entiendo el porque son egoistas y no es que lo sean en verdad, sencillamente evitan a gente desagradecida... Lastima que no todos seamos igual y a veces nos confundan y tampoco nos ayuden :SOS: .

Pero enfocandome a lo que pedias pues la tienes facilita, trata de adaptar el ejemplo al ExplorerList, si tienes dudas pues las posteas y listo.

Por lo de lo "profesional" de tu proyecto ni te preocupes que aqui nada puede ser tan profesional, no recuerdo si fue el buen Pablo o el buen Rafax el que lo dijo pero tienen razon, le puedes dar una buena apariencia y funcionalidad, es todo, pero en cuanto a lo de profesional ahi lo dejamos. :lol:

Asi que a darle al codigo mi buen y...

Como consejo jamas pidas perdon por algo que no merece pedirlo, disculpate... Si, pero perdon solo a Dios a a alguien que de verdad estimes como por ejemplo: tus padres ;)

Saludos ;)

Ok gracias Meta..... grande como siempre

jajajaja amigo la tienes facil me dices :) :)
:sorry: :sorry: :sorry: no no pude, intente cambiar una cosa por aqui otra por alli y no resulta inverti las variables cambie la accion de explorerList y hmmmm nada por un ladio ni por el otro
:sorry: :sorry: :) :)
tendras que decirme amigo no me pongas a sufrir :) :) :) :) :) :)

Como que no puedes? Sufrir?? No la jodas serot!

Mira...

Cada Object o Action Plugin (si estan disponibles porque el desarrollador asi las ha manifestado) tienen sus variables internas, variables que estaran en el area pertinente de codigo y podran ser utilizadas dentro del mismo, las cuales obedecen a las funciones del Objeto, en este caso el ExplorerList.

En la parte superior del codigo veras las variables disponibles, por ejemplo, en el caso de la funcion Explorerlist tiene dos variables que son:
HIDE: ON
Hidebb Message Hidden Description

Código: Seleccionar todo

sMP3P = e_Path..e_File;-- Always the full path
Vamos bien?

Es lo unico que tienes que cambiar pues lo demas del codigo nos sirve, entonces nos queda asi:

On Select:

Código: Seleccionar todo

--Add some conditions to filter the content you want to
if (String.SplitPath(e_File).Extension == ".mp3") then-- or (String.SplitPath(e_Path).Extension == ".wma") or (String.SplitPath(e_Path).Extension == ".ogg") then-- The desired extensions to be appear
	bMp3 = true;--Boolean to be exactly
	sMP3P = e_Path..e_File;-- Always the full path
else-- Otherwise, the opposite will occur
	sMP3P = nil;
	bMp3 = false;
end
On DoubleClick:

Código: Seleccionar todo

if (bMp3 == true) then-- Avoid possible errors in silent mode, there is NO "else".
	if (ExplorerList.GetPath("ExplorerList") ~= nil) and (sMP3P ~= nil) then-- "Paranoid" making sure everything is right to proceed...
	--Add Data, in the ListBoxEx case you must to configure it.
		ListBoxEx.AddItem("ListBoxEx", String.SplitPath(sMP3P).Filename, "", sMP3P, sMP3P, "", LBXITEM_NORMAL, 0, "", "", "")
		ListBox.AddItem("ListBox1", String.SplitPath(sMP3P).Filename, sMP3P);
	end
end
[/hide]
El manejo de los plugins es muy basica, te recomiendo que cuando vayas a utilizar un plugin leas la ayuda del mismo para que comprendas el uso de las funciones asi como el de las variables, si lo comprendes entonces razonas la fluidez del codigo empleado dentro del plugin y estamos del otro lado.

Te respondi hasta ahora para que te esforzaras un poco, no te dejes vencer tan facil, pon a trabajar la mente mi buen, yo estaba como tu al principio con la diferencia de que yo no recibi apoyo de alguien que me explicara como yo te explico aqui.

Que quede claro que no me pesa ayudarte pero si me dices que no haz entendido te dire NO LA JODAS! :lol: y no por esto te digo que ya no preguntes, todo lo contrario, si tienes dudas pregunta cuantas veces sea necesario para que seas un chingon en esto del codigo, aunque sea este el principio de lo que logres a futuro ;)

Ahora comprendes porque te dije que la tenias facil? :SOS: es mas no era facil, era... Cagado de risa ;)

Saludos viejo.

:cerrado:

muy bien meta. :yeah: :yeah: :yeah:

Gracias Rafa, solo intento explicar como ustedes lo habrian hecho, espero no hacerlo tan mal.

Saludos viejo ;)

:cabreado: :cabreado: :cabreado: :cabreado: :cabreado: :cabreado: :cabreado:

son cosas tan obvias que aveces se pasan por alto, para el que hasta ahora se esta iniciando en esto
por esto me da ira, pero ya que tu me lo enseñaste, son muchas dudas que se han resuelto o muchos otros atajos que podre tomar :ohyeah:

Gracias Meta, por la paciencia que tenes.
siempre agrdecido con vos amigo
segui asi.
:ohyeah:

Mira serot...

Aprovechando los consejos del buen Rafa (que parece nadie los emplea) te recomiendo, como el lo diria "utiliza el debug de ams", tan sencillo que es utilizarlo, prepara el debug y cuando tengas una duda acerca de "¿Como coños funciona o para que servira esto?" entonces lo metes al debug con un tostring(mi_duda) para que te arroje el resultado sea cual sea...

Por ejemplo:

Si quiero saber que valor me devuelve una variable "X" pues haria lo siguiente (enfocandome al ejemplo que te puse):
Debug.ShowWindow(true);
Debug.Clear();
Debug.Print(e_Path);
Ya en la ventana del debug me mostraria por ejemplo:

C.\Ruta\Mas Ruta\Blablabla.extension

Obviamente debes colocar la impresion del string en el area de codigo pertinente y de manera oportuna pues si lo haces antes no mostrara lo que deseas.

¿Por que te mencione un tostring()?

La funcion tostring() tal cual, en minusculas es una funcion propia de lua, no del jodido ams, estamos invocando a las funciones de lua mmm digamos de manera directa y sin escalas ya que las "escalas" aqui son el jodido ams, vamos bien?

Entonces para que el debug nos imprima u nvalor de retorno aunque sea nil lo hariamos de la siguiente manera:
Debug.ShowWindow(true);
Debug.Clear();
Debug.Print(tostring(e_Path));
El valor de la variable seguiria siendo:

C.\Ruta\Mas Ruta\Blablabla.extension

Pero si el valor es nulo porque haya habido algun error el debug (previo filtro) nos imprimiria:

nil

Te menciono todo esto porque fue una de mis tecnicas de aprendizaje en este rollo, de esa manera se que valor tienen las variables, no importa si son del tipo tabla, numericas, boleanas, string, nil, lo que sea vaya.

Espero te sirva este tip para que avances mas rapido y para que avancen los que deseen aprender codigo lo mas rapido posible.

Saludos ;)

thanks

hmmmm muy buena Meta pondre en funcionamiento esto del debug
haha jodido AMS
no podras con migo........ :) :ohyeah:

bueno Meta....
una pregunta como podrias poner ese mismo codigo en un xbutton..
lo pregunto ya que las variables (e_Path) y (e_File) no estan disponibles alli
y al utilizar el tostring obviamente, imprime datos en blanco.

si estoy mal por favor corrígeme, ya que esto pasa en este caso para adaptar este codigo a un xButton
tendria que poner las acciones completas del ExplorerList como .GetPath o GetSelected que reemplazarían al e_file y e_Path.
pienso yo que seria asi o tu que dices.....

espero entiendas mi pregunta......