Im M3U-Format sind alle Zeilen, die nicht leer sind und nicht ein "#" am Anfang haben eine Pfadangabe (entweder relativ zum Ort der Datei oder absolut, auch absolute Adresse in Netzwerken sind gültig) samt Dateinamen (alle beliebigen Dateierweiterungen/Formate.
Am besten also, du benutzt ReadLn um immer eine ganze Zeile einzulesen.
In einer Schleife gehst du jede Zeile bis zum Ende der Datei durch, benutzt Trim um führende und endende Steuer- sowie Leerzeichen zu entfernen und schaust dann, ob der erste Buchstabe des übrig bleibenden Strings ein "#" ist.
Wenn nicht, ist es eine Pfadangabe. Den Dateinamen erhältst du mit der Funktion ExtractFileName, den reinen Dateipfad mit ExtractFilePath. Die Funktion ExpandFileName wandelt einen relativen Dateinamen in einen absoluten um, entsprechend dem aktuellen Arbeitsverzeichnis. Dieses setzt du wiederum mit ChDir.
Alternativ habe ich mal eine DLL geschrieben, die M3U, M3UExt (eine Weiterentwicklung von M3U) und mein eigenes, proprietäres Listenformat lesen und schreiben kann. Wenn du willst, kann ich dir den M3U-Teil extrahieren.
Wie das mit den Listboxes funktioniert, kannst du in der Hilfe oder
hier im Forum nachlesen.
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk.