Ich mache eine Kombination von beiden und gut ist.
Ist mir jetzt zu viel Arbeit die Zeilenlänge des Textes von Hand zu ermitteln.
so geht's und gut ist
Delphi-Quellcode:
function TPlayList.SaveM3UFile(Filename: String; clear: BOOL = false): Boolean;
var
F: TextFile;
Buffer: String;
i: Integer;
CheckM3U: BOOL;
SList: TStringList;
begin
Result := True;
CheckM3U := false;
try
SList := TStringList.create;
SList.LoadFromFile(Filename);
if SList.Strings[0] = '#EXTM3U' then
CheckM3U := true;
SList.Free;
AssignFile(F, Filename);
if (FileExists(Filename)) and (not Clear) then
begin
Append(F);
end
else
if clear then
Rewrite(F)
else
Rewrite(F);
if not CheckM3U then
Writeln(F, '#EXTM3U');
for i := 0 to FFile.Count - 1 do
begin
Buffer := Format('#EXTINF:%s|%s|%s|%s', [FTime.Strings[i], FTitle.Strings[i],
FArtist.Strings[i], FAlbum.Strings[i]]);
Writeln(F, Buffer);
Writeln(F, FFile.Strings[i]);
end;
CloseFile(F);
except
CloseFile(F);
Result := False;
end;
end;
gruss