AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ID3v2 Chapter Baumstruktur erzeugen

Offene Frage von "Gausi"
Ein Thema von PaulchenPanter · begonnen am 30. Jul 2011 · letzter Beitrag vom 4. Aug 2011
 
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
902 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ID3v2 Chapter Baumstruktur erzeugen

  Alt 4. Aug 2011, 10:57
Ok, die Seite ist wieder erreichbar.

Ich würde das Anzeigen des TreeTextes auch über OOP machen.

Anstelle der "ElementIDList: array of String;" wäre eine TObjectList vermutlich besser, die einzelne Objekte vom Typ "TChapter" bzw. "TTableOfContent" aufnehmen kann. Welche da wie reinkommen, muss man über die IDs in den Frames ermitteln. Diese sind ja im Grunde dafür da, um in der mp3-Datei eine Baumstruktur der Inhalts-Elemente nachzubilden.

D.h. beim Auslesen packst du die einzelnen Frames erstmal in eine Liste. Bevor du damit dann arbeitest, baust du anhand der ElementIDs die Baumstruktur nach.

Um den TreeText bei einem TChapter zu bekommen, gibst du einfach die ElementID oder den Inhalt der optional enthaltenen Subframes aus. Das geht über eine Property mit einem schönen Getter, der ermittelt, was zum Ausgeben vorhanden ist.

Bei einem TTableOfContent wäre das in etwa sowas:
Delphi-Quellcode:
for i := 0 to self.ElementIDList.Count - 1 do
begin
    result := result + ElementIDList[i].TreeText + #13#10; //
end;
Um den Text eines TOC auszugeben, wird einfach der Reihe nach der Text der Unterelemente ausgegeben. Eventuell bei der Methode TreeText noch einen Parameter einführen, der die Tiefe der Einrückung für den Text angibt. Für die Anzeige des Inhaltsverzeichnis muss du dann nur WuzelElement.TreeText aufrufen, den Rest machen die Unter-Objekte dann von alleine.

Ist jetzt nicht alles bis ins Detail erläutert, aber die Idee sollte klar werden, denke ich. Bau da eine OOP-Struktur auf, dann klappt das auch.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  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 07:50 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