Hi,
ich füge Lieder zu einer Playlist so zu:
Delphi-Quellcode:
TID3Tag = record
ID: Array[0..3] of Char;
Titel: Array[0..30] of Char;
Artist: Array[0..30] of Char;
Album: Array[0..30] of Char;
Year: Array[0..4] of Char;
Comment: Array[0..30] of Char;
Genre: Byte;
Filename: String;
Endung: String;
end;
private
{ Private declarations }
fFiles : Array of TID3Tag;
// ...
procedure TfrmMain.AddFiles(files : Array of String);
var
len : integer;
i : integer;
s : String;
begin
len := Length(fFiles);
SetLength(fFiles, len + Length(files));
for i := 0 to pred(length(files)) do
begin
fFiles[len+i] := ReadID3Tag(files[i]);
end;
UpdateListBox();
end;
procedure TfrmMain.UpdateListBox;
var
i : integer;
begin
lbList.Items.BeginUpdate;
lbList.Clear;
for i := 0 to pred(length(fFiles)) do
begin
lbList.Items.Add(trim(fFiles[i].Artist) + ' - ' + trim(fFiles[i].Titel));
end;
lbList.Items.EndUpdate;
end;
Das Problem ist, dass ich für jedes Format anders die Tags auslesen muss. Der obige Code liest nur MP3 aus. Ich habe überall im Code querverteilt zugriffe auf fFiles (Mp3-spezifisch), deshalb die Frage: Gibt es eine Möglichkeit TId3Tag so zu erweitern, dass es alle Formate unterstützt und ich nicht alles umschreiben bzw. erweitern muss ?