LA JODIDA LISTBOXEX

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Mira amigo Ceone y RafaxPlayer, esto es una "jodienda". Miro los manuales, ando por la listboxEx, por en Onshow, por todas partes y cada vez se menos.

Es complicadísimo, no tengo ni idea en donde meter los códigos que aparecen en el manual, prueba aquí, prueba alla, y nada de nada. No consigo darle color a los items, si puedo crear un mensaje, pero cuando voy a usar los códigos del manual para cambiar el color, sale el color que le peta, bueno no dgamos del degradado, aquí ya es la "hostia", me degrado solo, no me sale un degradado ni tirando pintura a la pantalla, estoy hecho un lío, haciendo pruebas todo el puñetero día de la Patria Gallega, y ni siquiera por esas, me sale.

Tendrías algun proyecto o alguna apz en la que pduiera verse los dichos códigos de la ListBoxEx?. Por ejemplo, en donde leches meto esto
-- El color de fondo del articulo sera un degradado de 3 colores.
ListBoxEx.SetItemColor("Plugin1", 1, {16316664,16764057,16764057});


Para que aparezca degradada la ListBoxEx. Si tuviese algun ejemplo todavía podía conseguir algo. Si teneis alguna Apz que tenga una ListBoxEx podrías postearlo. Saludos Gracias y perdonar :cabreado: :

Edité tu Post porque:

Recuerda que en el foro los scripts...

Asi esta mal:

Código: Seleccionar todo

-- El color de fondo del articulo sera un degradado de 3 colores.
ListBoxEx.SetItemColor("Plugin1", 1, {16316664,16764057,16764057});
Debes ponerlo con la etiqueta lua:

Código: Seleccionar todo

 
Dialog.Message("AMS Specialist", "Este es un post bien hecho");
-- De esta forma se evitan confusiones.
Así se verá tu código:
-- El color de fondo del articulo sera un degradado de 3 colores.
ListBoxEx.SetItemColor("Plugin1", 1, {16316664,16764057,16764057});
Recuerda que esta es una de las reglas fundamentales de el foro y además fomenta el orden en los Post. ;)
Hola asuos :D yo no soy muy bueno con las ListBoxEx pero eh aprendido con algunos ejemplos que hay en el AmsApzTotal de Rafaxplayer... y creo que esta lo que buscas... y muchos mas ejemplos que te aseguro te serviran mucho :D

PD: Esto me mato de risa:
no me sale un degradado ni tirando pintura a la pantalla
trankilo assuos, que te hago un video cuanto pueda , pero no le tires pintura a la pantalla que la liaras parda ;)
Bueno, ahi va el desesperado, me vi el video por lo menos 20 veces, cogi en un papel casi pantalla por pantalla, y ni así, esta jodida listbox ex no se deja degradar, se le han subido los galones, en realidad ni me cambia de color, siempre sale en el jodido color negro (mejor que en ListBox normal, pero poco mejor). El programa funciona correctamente, la listboxEx tiene el código de RafaxPlayer (gracias majo por el vídeo, te lo curras, ya me diras donde tienes más de esta clase), aun así noto un pequeño error que no la hace exactamente igual. Digo, en esto de compilar hay que andar con pies de plomo, un simple espacio y a joderse, mirando mi codigo en OnShow de la pagina de la list Box, observo, que en el video, al final de x =color1 le sigue un punto y coma rojo, pues leches en el mío ese punto y coma sale negro, lo cual me salta que algo está mal de atrás, y el único sitio tiene que ser la llamada del boton, un código que mi amigo Rafa me suministró y que expongo a continuación en Funciones Globales
function AddFilestoList(strFolder)    -- PARA AÑADIR ARCHIVOS MP3 A UNA LISTBOXEX
local sz_itemText;
ListBoxEx.DeleteAllItems("Plugin1");
StatusDlg.Show(MB_ICONNONE, false);
local tb = File.Find(strFolder, "*.mp3", false, false);--Busqueda de archivos mp3 en el directorio strFolder
        if tb then
                StatusDlg.SetMeterRange(1,table.maxn(tb));
                for i,v in pairs (tb) do--recorremos tabla 
                        sFile = String.SplitPath(v).Filename--estraccion del nombre de archovo SIN LA EXTENSION DEL MISMO
                        --sFile = String.SplitPath(v).Filename..String.SplitPath(v).Extension --estraccion del nombre de archovo CON LA EXTENSION DEL MISMO
                        --nIcon = ListBoxEx.AddAssocIcon("Plugin1", LBXASSOC_SMALLICON,v);--Funcion del listboex para sacar el icono por defecto de windows en el archivo, previo crear imagelist "on create" evento.
                        StatusDlg.SetMeterPos(i);
                        StatusDlg.SetTitle(Math.Floor((i/table.maxn(tb)*100)).." %");
                        StatusDlg.SetMessage("Add "..sFile.." to list");
                        sz_itemText = "<p><b><font color=#FFFFFF face=Arial size=16 >"..sFile.."</font></b></p>"--codigo hatml para crear el item con el nombre del archivo
                        Application.Sleep(50)-- esto es para que sea mas visible el statusdlg , totalmente opcional.
                        ListBoxEx.AddItem("Plugin1", sz_itemText, "", v, "", nIcon, LBXITEM_HTML, 0, nil, nil, nil);--añadimos item 
                end
        end
        StatusDlg.Hide();
end
( me acorde de Lua Ceone (Gracias.)

Este código no lo entiendo ni jota, pero funciona correctamente, pues con el boton lo invoco a ya esta la lista hecha..

en el Boton de llamada tengo este otro código
Folder= _SourceFolder.."\\AutoPlay\\Docs\\Blackmore's Night  (1997-2010)\\Blackmore's Night - 1997 - Shadow Of The Moon\\"-- Carpeta que queremos de contenedor de nuestros mp3
AddFilestoList(Folder)
result = ListBoxEx.Sort("Plugin1", LBXSORT_ASC)

En este codigo agradezco a Ceone por decirme como se ordenaba la lista.

En Page en la opcion Onshow (tal como ponía el video), puse exactamente el mismo código
tFinds = File.Find("AutoPlay\\Docs\\Blackmore\'s Night  (1997-2010)", "*.mp3", false, false, nil, nil);
color1 = {128,255,128}
color2 = {5066061, 12632256,5066061}
x = color1;
if tFinds then
		for i,v in pairs(tfinds) do
 		filename = String.SplitPath(v).Filename.. tring.SplitPath(v).Extension;
		ListBoxEx.AddItem("Plugin1", filename, "", "", "", 0, LBXITEM_HTML, 60,x, nil, nil);
		if x == color1 then
		x = color2;
		else
		x = color1;
		end
	end
end				
Aqui ese punto y coma que hay detras de x = color1; sale en negro, lo mismo que sucede en x = color2;.y lo hasta ahora sabido me sugiere un error en algún sitio.

Intento subir la Apz a Multiupload o megaupload, pero por causas desconocidas no lo doy conseguido, así que intento subirla a FileServe, en cuanto finalice, si no hay problemas mientras escribo esto, la pongo.

Lo curioso es que todo funciona correctamente, pinchas en un boton, abre caratula, abre la listboxEx correctamente. Pinchas en la ListBoxEx en cualquier canción se reproduce correctamente, y abre un intermitente flash que tengo para que indique que disco está sonando. Todo correcto, a excepción de los dichos colores. tengo el despacho lleno de notas, papeles, posits de esta "jodida"

Lo he conseguido subir el enlace es:

http://www.fileserve.com/file/eWDXNW6

Para que vaya completo, pongo tambien el código del MediaPlayer, derivado de uno antiguo de la ListBox norma, y que tambien funciona correctamente: Lo que esta en verde no seleccionado es para usar en una ListBox Normal
--------CODIGO PARA ONFINISH DEL MEDIAPLAYER CON LISTBOXEX-------
--- AÑADE LAS CANCIONES AL MEDIA PLAYER Y LAS REPRODUCE DE FORmA CONTINUA ---
---- DESDE LA CANCION ESCOGIDA-----------------------------------

nCount ="";
nNext ="";
sFile ="";

--nCount = ListBox.GetCount("ListBox1");
nCount = ListBoxEx.GetTotalItems("Plugin1");

--tSelected = ListBox.GetSelected("ListBox1");
tSelected = ListBoxEx.GetSelectedItem("Plugin1");


if tSelected then

nSelected = tSelected;

nNext = nSelected;

	if nNext < nCount then
	nNext = nNext+1;
	--ListBox.SelectItem("ListBox1", nNext);
					ListBoxEx.SelectItem("Plugin1",nNext,true);
					
	--sFile = ListBox.GetItemData("ListBox1", nNext);
					sFile = ListBoxEx.GetItemData("Plugin1", nNext);

	MediaPlayer.Load("Plugin2", sFile);
	MediaPlayer.Play("Plugin2");

	elseif nNext == nCount then
	
	--ListBox.SelectItem("ListBox1", 1);
				ListBoxEx.SelectItem("Plugin1", 1);

	--sFile = ListBox.GetItemData("ListBox1", 1);
	sFile = ListBoxEx.GetItemData("Plugin1", 1);

	MediaPlayer.Load("Plugin2", sFile);
	MediaPlayer.Play("Plugin2");
	
	end

end


.

Y no lo consigo, de ninguna manera, dos días completos, hoy mirando el video que ya me causaba stress, pues bien explicado está y funciona correctamente tal como se indica, un vídeo de chupalareina(bueno bueno), pero yo no lo consigo. Así que humildemente solicito la ayuda de los grandes para que me indiquen que cojones estoy haciendo mal. Gracias y saludos desde Vitoria España
Le echo un vistazo y te digo...XD
Bueno la mayoria son fallos de sintaxis osea del script , lo de los puntos no se que sera a mi me salen en rojo
este es tu scrip :
tFinds = File.Find("AutoPlay\\Docs\\Blackmore\'s Night  (1997-2010)", "*.mp3", false, false, nil, nil);
color1 = {128,255,128}
color2 = {5066061, 12632256,5066061}
x = color1;
if tFinds then
                for i,v in pairs(tfinds) do
                filename = String.SplitPath(v).Filename.. tring.SplitPath(v).Extension;
                ListBoxEx.AddItem("Plugin1", filename, "", "", "", 0, LBXITEM_HTML, 60,x, nil, nil);
                if x == color1 then
                x = color2;
                else
                x = color1;
                end
        end
end        


y este es el correcto , fijate en los fallos y veras que son tontadas
tFinds = File.Find("AutoPlay\\Docs\\Blackmore's Night  (1997-2010)\\Blackmore's Night - 1997 - Shadow Of The Moon", "*.mp3", true, false, nil, nil);
color1 = {128,255,128};
color2 = {5066061, 12632256,5066061};
x = color1;
if tFinds then
		for i,v in pairs(tFinds) do
 		filename = String.SplitPath(v).Filename..String.SplitPath(v).Extension;
		ListBoxEx.AddItem("Plugin1", filename, "", "", "", 0, LBXITEM_NORMAL, 0, x, nil, nil);
		if x == color1 then
		x = color2;
		else
		x = color1;
		end
	end
end	
Ahora se ven los degradados , tu problema es que no entiendes el código, (eso nos ha pasado a todos)intenta leer la ayuda y comprender el funcionamiento de las acciones y demás , poco a poco lo iras pillando y veras como avanzas mas y tus posibilidades se multiplican, un saludo
Si meto ese código si se ve en colores cuando se abre el proyecto, pero si ocultas la listboxEx, y desde el boton la mandas abrir, entonces no se (posiblemente se ponga todo negro), ademas a veces salen los items repetidos, unos en clores rojo y gris, y otros los de antes, s bastante erratico el funcionamiento, posiblemente porque existen dos tipos de codigo de apz distintas, uno tuyo y otro de una tal Dariux. Bueno, por hoy abandono lapuñetera listaboxEx. Gracias. Comprueba con la apz el comportamiento erratico, ocultala, y dale la opcion visible al boton de prueba, desparece tranquilamente, y sgun vayas pinchando botones van desapareciendo items. Una joda. Gracias de todas formas,posiblemente la abandone.

Os quiero un huevo