![]() |
string aufbauen
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:
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):
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;
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 :?: |
Re: string aufbauen
Ich würde sagen deine Tags (ID3Tag.Artist usw.) enthalten noch null Zeichen, dargestellt mit #0. Und #0 ist für Delphi und auch C/C++ das Zeichen, dass ein String zu ende ist. Behandle mal die Tags mit Trim() bevor du sie weiterverarbeitest.
|
Re: string aufbauen
thx für die schnelle antwort .. ich weis ja warum ich das board vermisst hab *gg* =)
btw.: funktioniert perfekt ... danke =) .. die function kannte ich noch gar nicht .. *wunder* ... naja danke nochmal ;P cYA inzzi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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 by Thomas Breitkreuz