AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ID3-Tag oder besser Dateiname anzeigen lassen ?
Thema durchsuchen
Ansicht
Themen-Optionen

ID3-Tag oder besser Dateiname anzeigen lassen ?

Ein Thema von newuser01 · begonnen am 28. Sep 2006 · letzter Beitrag vom 30. Sep 2006
 
newuser01

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

Re: ID3-Tag oder besser Dateiname anzeigen lassen ?

  Alt 28. Sep 2006, 23: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 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