vorweg mal: bin nach nem halben jahr delphi pause wieder am start ;P *eingerostet.bin*
Und Zwar meine Frage:
Ich lese die ID3Tags aus MP3's aus und erstelle damit einen neuen Dateinamen
Delphi-Quellcode:
procedure readid3tag(Filename:string);
var Buffer:array[1..128] of char;
F:File;
begin
AssignFile(F, Filename);
Reset(F,1);
Seek(F,FileSize(F)-128);
BlockRead(F, Buffer, SizeOf(Buffer));
CloseFile(F);
with ID3Tag do
begin
ID:=copy(Buffer,1,3);
Titel:=copy(Buffer,4,30);
Artist:=copy(Buffer,34,30);
Album:=copy(Buffer,64,30);
Year:=copy(Buffer,94,4);
Comment:=copy(Buffer,98,30);
Genre:=ord(Buffer[128]);
end;
end;
und um nun die Datein in einem Ordner umzubennen hab ich folgende schleife (der
code is nach unzähligen versuchen entstanden, also eher als experiment zu sehen ;P):
Delphi-Quellcode:
for iLV := 0 to iNumberOfFiles - 1 do
begin
Filename := fileLB_dir.Items[iLV];
readID3Tag(Filename);
if iLV >= 10 then
RenameFile(fileLB_dir.Items[iLV] , IntToStr(iLV + 1) + ' - ' + ID3Tag.Artist + ' - ' + ID3Tag.Titel + '.mp3')
else
begin
NewFileName := '0' + IntToStr(iLV + 1) +' - '+ ID3Tag.Artist +' - '+ ID3Tag.Titel + '.mp3';
RenameFile(Filename , NewFileName);
end;
Filename := '';
end;
jedoch bekomm ich nur zb.: "01 - Creed" als filename zurück... den rest "verschluckt" mir mein programm...
vielleicht kann mir da ja jemand helfen ... thx in advance .. inzzi
PS: Beim debuggen schreibt delphi in die NewFileName immer #0#0#0... zwischen die strings ... kA was das sein soll