Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Umbenennen von Musikdateien mittels ID3 Tag (https://www.delphipraxis.net/158528-umbenennen-von-musikdateien-mittels-id3-tag.html)

master14785 21. Feb 2011 11:06

Umbenennen von Musikdateien mittels ID3 Tag
 
Hallo,

ich hoffe ihr könnt mir helfen.Ich habe ein Programm geschrieben, dass über einen ID3 Tag die Datei umbenennt. In meinen Fall wird die Datei in den Titel umbenannt.Dafür werden die Dateien in eine Listbox hinzugefügt und dann der Reihe nach abgearbeitet.Das funktioniert bei einer Datei. Wenn ich aber mehrere Dateien hinzufüge kommt der Fehler der Klasse EFOpenError. Das System kann den Pfad des alten (noch nicht umbenannten) Dateinamen nicht mehr finden.:? Hier ist mein Quelltext:

Delphi-Quellcode:
procedure TfrmMain.Button3Click(Sender: TObject);
var
  I: integer;
  F: TextFile;
begin
  OpenDialog1.Options := [ofAllowMultiSelect];
  OpenDialog1.Filter := 'MP3Dateien (*.mp3)|*.mp3|Alle Dateien(*.*)|*.*';
  OpenDialog1.FilterIndex := 2;
  if OpenDialog1.Execute then
    with OpenDialog1.Files do
      for I := 0 to Count - 1 do
      begin
       ListBox1.Items.add(OpenDialog1.Files.Strings[I]);
    with readID3Tag(OpenDialog1.FileName) do
    begin
      LlbID.Caption := 'ID: ' + ID;
      LlbTitel.Caption := Titel;
      LlbArtist.Caption := 'Artist: ' + Artist;
      LlbAlbum.Caption := 'Album: ' + Album;
      LlbYear.Caption := 'Year: ' + Year;
      LlbComment.Caption := 'Comment: ' + Comment;
      SaveDialog1.Title := 'Umbenennen zu';
   SaveDialog1.FileName:=LlbTitel.Caption ;
   AssignFile(f, OpenDialog1.FileName);
      Label1.Caption:='Umbenennen ' + OpenDialog1.FileName +
                     ' zu ' + SaveDialog1.FileName+'.'+ SaveDialog1.DefaultExt;
      Rename(f, SaveDialog1.FileName+'.mp3');
Es wäre gut, wenn ich wüsste wie die Listbox die abgearbeiteten Einträge löscht und zum nächsten Eintrag springt.

Vielen Dank

GPRSNerd 21. Feb 2011 11:39

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Du benutzt die mit den MP3-Dateien gefüllte Listbox nicht weiter in der Schleife, sondern versuchst immer wieder dieselbe Datei zu öffnen:
Delphi-Quellcode:
with readID3Tag(OpenDialog1.FileName) do
Ist das beabsichtigt? Wahrscheinlich nicht, oder? Innerhalb der Schleife musst du weiter mit Files.Strings[I] arbeiten.
Dann ist die Listbox völlig überflüssig.

generic 21. Feb 2011 11:41

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Kennst du das Programm mp3tag?
http://www.mp3tag.de

Das kann so ziemlich alles und du brauchst das Rad nicht neu "programmieren".

master14785 21. Feb 2011 11:45

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Danke für eure Antworten,

das
Delphi-Quellcode:
with readID3Tag(OpenDialog1.FileName) do
war natürlich nicht beabsichtigt. Wie muss ich nun den Quelltext vervollständigen das es funktioniert?
Ich würde mich über weitere Antworten freuen.

GPRSNerd 21. Feb 2011 14:49

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Was soll der SaveDialog eigentlich machen? Du rufst ihn nicht auf (ich sehe in dem Codeteil kein "Execute"), sondern schreibst nur auf Umwegen einen Dateinamen da rein und liest ihn wieder aus, bevor du mit Rename den ersten Dateinamen umbenennst.
Kann es sein, dass du versucht hast, mehrere Codestücke zu kombinieren, ohne sie anzupassen?

DeddyH 21. Feb 2011 14:52

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Hier geht' s weiter: http://forum.delphi-treff.de/showthr...ittels-ID3-Tag

guinnes 21. Feb 2011 16:24

AW: Umbenennen von Musikdateien mittels ID3 Tag
 
Zitat:

Zitat von GPRSNerd (Beitrag 1083220)
Kann es sein, dass du versucht hast, mehrere Codestücke zu kombinieren, ohne sie anzupassen?

Das sieht man doch schon an den Einrückungen :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz