Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi string aufbauen (https://www.delphipraxis.net/11486-string-aufbauen.html)

inzzi 7. Nov 2003 18:52


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

Luckie 7. Nov 2003 18:56

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.

inzzi 7. Nov 2003 18:59

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