Hi,
ist ein recht gutes Programm
Verbesserungsvorschläge:
- Bau eine Titelleiste zum Verschieben ein
- Stelle dem Benutzer die Schriftgröße frei
- Speichern und Laden von ASX und M3U Listen
So sieht ASX 3.0 aus:
Code:
<ASX version="3.0">
<ENTRY><REF href="Pfad1" /></ENTRY>
<ENTRY><REF href="Pfad2" /></ENTRY>
<ENTRY><REF href="Pfad3" /></ENTRY>
<ENTRY><REF href="Pfad4" /></ENTRY>
</ASX>
M3U findest du über Google.
Da ich gerade viel Zeit habe:
Delphi-Quellcode:
const
ASXStart = '<ASX version="3.0">';
ASXItemStart = '<ENTRY><REF href="';
ASXItemEnd = '" /></ENTRY>';
function TfrmMain.LoadASX(const asxfile : string):TDynStrArray;
var
lines : TStringList;
music : TStringList;
a, i, j : Integer;
erstes, zweites : integer;
p, line : String;
const
x : string = 'HREF';
begin
lines := TStringList.Create();
lines.LoadFromFile(asxfile);
music := TStringList.Create;
for i := 0 to pred(lines.Count) do
begin
line := UpperCase(lines[i]);
a := pos(x,line);
if (a >= 1) then
begin
erstes := Pos('"', line)+1;
zweites := PosEx('"', line, erstes);
if zweites > erstes then
begin
p := copy(line,erstes,zweites - erstes);
music.Add(p);
end;
end;
end;
lines.Free;
setlength(result, music.count);
for j := 0 to pred(music.count) do
begin
result[j] := music[j];
end;
music.Free;
end;
procedure TfrmMain.SaveASX(Filename: string);
var
StringList: TStringList;
i: integer;
begin
StringList := TStringlist.Create;
try
Stringlist.add(ASXStart);
for i := 0 to length(ffiles) - 1 do
begin
Stringlist.add(ASXItemStart + ffiles[i].pfad + ASXItemEnd);
end;
Stringlist.Add('</ASX>');
Stringlist.SaveToFile(Filename);
finally
StringList.Free;
end;
end;
Daraus kannst du dir einige Playlistenformate basteln
Es ist sehr schön und gut, dass du die bass.dll (das hätte ich nicht im ersten Programm geschafft!) anstelle der MediaPlayer-Komponente oder sonstigen Komponenten benutzt wurden