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