Einzelnen Beitrag anzeigen

newuser01

Registriert seit: 31. Aug 2006
248 Beiträge
 
Delphi 7 Professional
 
#10

Re: ID3-Tag oder besser Dateiname anzeigen lassen ?

  Alt 29. Sep 2006, 00:07
OK du hast mich überzeugt ich werde einfach das nehmen was in ID3Tag steht und fertig. Falls nichts drin steht dann halt der Dateiname. Ich versuche es schon die ganze Zeit hinzubekommen klappt nur nicht so recht

Delphi-Quellcode:
var
  i: Integer;
  sDateiname,sArtist,sTitle:String;

for I := 0 to slMP3.Count - 1 do
begin


  //ID3v1Tag auslesen
  if ID3v1Tag.ReadFromFile(slMP3.Strings[i]) then
  begin
    with ID3v1Tag do
    begin
      slTmp1.Add(Artist);
      slTmp1.Add(Album);
      slTmp1.Add(Year);
      slTmp1.Add(Title);
    end;
  end;//if

  //ID3v2Tag auslesen
  if ID3v2Tag.ReadFromFile(slMP3.Strings[i]) then
  begin
    with ID3v2Tag do
    begin
      slTmp2.Add(Artist);
      slTmp2.Add(Album);
      slTmp2.Add(Year);
      slTmp2.Add(Title);
    end;
  end;//if


//ab hier soll geprüft werden ob in slTmp1 oder slTmp2 was drin steht
//und wenn in einer StringList (aber nur eine) was enthalten ist soll
//dieser Eintrag in lbMP3Ausgabe eingetragen werden

//mein versuch erst slTmp überprüfen ob in String 0 und String 3 was enthalten ist
if (slTmp1.Strings[0] <> '') and (slTmp1.Strings[3] <> '') then
begin
  sArtist := slTmp1.Strings[0];
  sTitle := slTmp1.Strings[3];
  lbMP3Ausgabe.Items.Add(sArtist +' - '+ sTitle);
end
  else
     begin
     //wenn nichts vorhanden ist weiter und slTmp2 überprüfen
     if (slTmp2.Strings[0] <> '') and (slTmp2.Strings[3] <> '') then
     begin
       sArtist := slTmp2.Strings[0];
       sTitle := slTmp2.Strings[3];
       lbMP3Ausgabe.Items.Add(sArtist +' - '+ sTitle);
     end
       else
          begin
            // wenn in slTmmp2 auch nichts enthalten ist dann nur Dateinamen eintragen
            sDateiname := ExtractFileName(slMP3.Strings[i]);
            lbMP3Ausgabe.Items.Add(ChangeFileExt(sDateiname,''));

     end;//if slTmp2

end;//if slTmp1


end;//for

Ich weiß sieht recht komisch aus funktioniert aber soweit zumindest werden die Mp3s mit ID3Tag Inhalt und auch die ohne Inhalt in lbMP3Ausgabe eingetragen. Nur wenn zb: eine MP3 ein ID3Tag hatte dürfte ja nicht mehr von dieser MP3 der Dateiname übernommen werden und genau das wird noch gemacht. Keine Ahnung woran es liegt vielleicht könnt ihr ja helfen
Gruß: Holger

[Hobby-Programmierer]
  Mit Zitat antworten Zitat