AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Sehr großes Problem mit den verschiedenen Audiotags
Thema durchsuchen
Ansicht
Themen-Optionen

Sehr großes Problem mit den verschiedenen Audiotags

Ein Thema von Nils_13 · begonnen am 19. Aug 2006 · letzter Beitrag vom 21. Aug 2006
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Re: Sehr großes Problem mit den verschiedenen Audiotags

  Alt 21. Aug 2006, 10:12
Zitat von Nils_13:
Dann muss aber Mp3File noch ein Create bekommen, damit ich damit arbeiten kann, oder ?
Nein, der Constructor ist doch schon in TAudioFile definiert.

Und nochwas... Nenn dein Methode nicht ReadMP3. Du implementierst doch gerne eine Methode die die Tags ausliest, und dies nicht auf mp3 beschränkt... Wie willst du denn bei WMA deine Methode nennen... Etwa ReadWMA. Dadurch ist dein ganzes Klassenmodell für die Katz.

Du speicherst später deine Songs z.B. in einer TObjectList... Jetzt willst du für alle Songs die Tags auslesen, unabhängig in welchem Format sie vorliegen, ob mp3 oder wma. Nach deiner Methode müsstest du etwa so vorgehen:

Delphi-Quellcode:
var
  AllSongs : TObjectList ;

procedure ReadAll ;
begin
     for i := 0 to AllSongs.count-1 do begin
        if AllSongs[i] is Tmp3File then (AllSongs[i] as Tmp3File).ReadMp3 ;
        if AllSongs[i] is TvmaFile then (AllSongs[i] as Tmp3File).Readwma ;
     end ;
end ;
Wenn Du morgen ein weiteres Audioformat aufnehmen willst, musst in deinem gesamten Quellcodes (immerhin ja doch 3000 Zeilen angeblich), darauf achten, dass du da neue Format auch korrekt ausliest... Und wehe, du vergisst dies an einer Stelle.

Stattdessen, wenn jede Klasse eine eigene Read Methode deklariert, läuft das alles wesentlich einfacher ab:
Delphi-Quellcode:
var
  AllSongs : TObjectList ;

procedure ReadAll ;
begin
     for i := 0 to AllSongs.count-1 do
        (AllSongs[i] as TAudioFile).Read ;
end ;
und gut ist. Neue Audioformate werden automatisch berücksichtigt.

Lies Dir mal bischen was über Klassenvererbund und Polymorphismus durch. Das sind eigentlich grundlegende Dinge, die du in jeder Delphi Anwendung immer wieder benötigst.
  Mit Zitat antworten Zitat
Antwort Antwort


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:48 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