![]() |
Probleme mit nem Playlist (*.M3U) Code!
Hi
Ich habe einige kleine Probleme mit nem Playlist (*.M3U) Code! Er funzt zu 95%! Wen die liste wie folgt Aussieht. Problem Nr.1 -------------------------------------------------------------- #EXTM3U #EXTINF:220,Barracuda - Damn G:\xxx\ok\109_barracuda_-_damn-mod.mp3 #EXTINF:200,sam g - lost in space G:\xxx\ok\110-sam_g_-_lost_in_space-tlt.mp3 #EXTINF:205,André Visior - Don't Go G:\xxx\ok\110_andre_visior_-_dont_go-nbd.mp3 #EXTINF:200,DJ K - I like Chopin G:\xxx\ok\110_dj_k_-_i_like_chopin-mod.mp3 Wen in der liste der bereich (#EXTINF) feilt kackt er Up -- #EXTM3U #EXTINF:220,Barracuda - Damn G:\xxx\ok\109_barracuda_-_damn-mod.mp3 #EXTINF:200,sam g - lost in space G:\xxx\ok\110-sam_g_-_lost_in_space-tlt.mp3 G:\xxx\ok\110_andre_visior_-_dont_go-nbd.mp3 G:\xxx\ok\110_dj_k_-_i_like_chopin-mod.mp3 -------------------------------------------------------------- Problem Nr.2 Wie kann ich die zeit auslesen (#EXTINF:220, Title) 220 = Time
Code:
FileList : TStringList;
FileTitle : TStringList; FileLength : TStringList; function TPlaylist.LoadM3U(FileName : String; ClearCurrent : Boolean) : Boolean; var i : Integer; FileINI : TStringList; Temp : String; begin CurPlaylist := FileName; try if ClearCurrent then begin {FileList.Clear; FileTitle.Clear; FileLength.Clear} Clear; end; FileINI := TStringList.Create; FileINI.LoadFromFile(FileName); i := 0; While (i < FileINI.Count - 1) do begin Temp := UpperCase(Trim(FileINI[i])); if (Copy(Temp, 1, 1) <> '#') then FileList.Add(ProcessPath(FileINI[i])) else if Copy(Temp, 1, 8) = '#EXTINF:' then begin FileTitle.Add(Copy(FileINI[i], Pos(',', FileINI[i]) + 1, Length(FileINI[i]))); FileLength.Add('0'); end Inc(i); end; FileINI.Free; result := True; except result := False; end; end; Danke im Voraus! |
Re: Probleme mit nem Playlist (*.M3U) Code!
Warum so umständlich. Lade die Datei einfach in eine Stringlist und anschließend gehst du zeile für Zeile durch und verarbeitest nur die Zeilen die nicht mit "#" beginnen.
warum nimmst du überhaupt eine while schleife anstelle einer For-Schleife? anstelle von
Delphi-Quellcode:
kannst du doch einfach
i := 0;
While (i < FileINI.Count - 1) do begin
Delphi-Quellcode:
nehmen. Zudem verstehe ich nicht warum da bei dir "i < FileIni.Count - 1" steht. Da kann doch das "-1" weg gelassen werden da du ja schon auf "<" prüfst
for i := 0 to FileIni.Count - 1 do
Achja, deine Formatierung ist einfach gruselig um es gelinde auszudrücken. |
Re: Probleme mit nem Playlist (*.M3U) Code!
Hi
Erstmals danke für deine schnelle antwort! 1: ich will die Gesamte liste habe nicht nur die einträge mit `#`! bei `#` = FileTitle (DJ K - I like Chopin) andernfalls FileTitle(G:\xxx\ok\110_dj_k_-_i_like_chopin-mod.mp3) Das Problem ist ich kriege das nicht richtig gefiltert und ich weis nicht wo der feiler liegt. 2: das mit ( for i := 0 to FileIni.Count - 1 do) hatte ich schon versucht, soweit ich das sehe Spielt das keine rolle ob ich das mit While oder mit for mache! Habe das selbe Ergebnis. Außerdem das ist nur en test. |
Re: Probleme mit nem Playlist (*.M3U) Code!
mit welcher Fehlermeldung "kackt er ab"? Und an welcher Stelle ist dann der Haltepunkt?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz