Cita:
Empezado por Delphius
¡Un usuario que poseea una lista ,digamos razonablemente 200 temas, no va a esperar que le aparezcan los resultados en gotitas; desea resultados ya!
|
Bueno pero...
¿qué te hace pensar que el tiempo extra que te tome programar LeerPlaylist() se reflejará en la velocidad con que se cargue el ListView?
Te aseguro que el usuario no se percatará de la diferencia. Más aún, ¿te has fijado en cómo se comporta un ListBox con muchos ítems? Llega un momento en que el desplazamiento se hace lento, pausando un poco en cada cambio de página.
Por otra parte no alcanzo a ver cómo almacenas los datos en el archivo que carga el LiisBox. ¿Cómo separas los campos? ¿Cómo editas o agregas entradas?
Ahora bien, ¿has pensado en usar ClientDataSets? Con ellos puedes almacenar las listas de canciones como si fuera una base de datos pero sin necesidad de un motor de bd. La conveniencia es que tienes a tu disposición todos los controles DBAware para agregar/editar canciones de una lista incluyendo un DBGrid que te cagará en automático la lista tan pronto abras el data set.
Incluso puedes usar un ClientDataSet para alimentar a un ListView. Aunque pierdes la potencia de los controles DBAware para el listado, es sencillo programar la rutina para cargarlo y sigue siendo rápido. ncluso si manejas listas
realmente grandes, puedes usar el ListView en modo virtual con lo que los datos se muestran
ipso-facto.
En fin, creo que tienes alternativas mucho mejores que un ListBox.
// Saludos