id3 tags og løkke

Tags:    delphi

hvordan for jeg denne løkke til at virke??
jeg bruger en komponent som hedder ID3Engine1. jeg har stien stående i min listbox og jeg vil gerne køre en løkke så den kan ændre det til sangens id3 tag. jeg er en lille smule lost.

procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin

I := 0;
repeat

id3.Active := true;
id3.FileName := listbox1.Items.Strings[I];

listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.Title;

I := I + 1;
until I = -1;
end;

programet crasher!



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
hvordan for jeg denne løkke til at virke??
jeg bruger en komponent som hedder ID3Engine1. jeg har stien stående i min listbox og jeg vil gerne køre en løkke så den kan ændre det til sangens id3 tag. jeg er en lille smule lost.

procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin

I := 0;
repeat

id3.Active := true;
id3.FileName := listbox1.Items.Strings[I];

listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.Title;

I := I + 1;
until I = -1;
end;

programet crasher!
Skal lige sige at koden ikke er tested...

procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin
For I := 0 to Listbox1.Items.Count-1 do
begin
id3.Active := true;
id3.FileName := listbox1.Items.Strings[I];
listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.Title;
end;
end;

Hvis det ikke virker så skriv hvilken fejl du får....
- SpeC - #SpeC.DK @ Q-NET


nu ved jeg ikke hvordan dit id3 komponent virker.
kan du skrive hvilke event's den har ?
- SpeC - #SpeC.DK @ Q-NET



hvordan for jeg denne løkke til at virke??
jeg bruger en komponent som hedder ID3Engine1. jeg har stien stående i min listbox og jeg vil gerne køre en løkke så den kan ændre det til sangens id3 tag. jeg er en lille smule lost.

procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin

I := 0;
repeat

id3.Active := true;
id3.FileName := listbox1.Items.Strings[I];

listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.Title;

I := I + 1;
until I = -1;
end;

programet crasher!

Skal lige sige at koden ikke er tested...

procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin
For I := 0 to Listbox1.Items.Count-1 do
begin
id3.Active := true;
id3.FileName := listbox1.Items.Strings[I];
listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.Title;
end;
end;

Hvis det ikke virker så skriv hvilken fejl du får....
- SpeC - #SpeC.DK @ Q-NET



selve løkken virker nu, MEN all Item'ne for det samme tag.

den skule jo meget gerne give det rigtig tag til de forskelig sange.




ID3Engine Component v.3.0
http://www.torry.net/quicksearchd.php?SID=ab7871de63930bda67cb7012c54d3f76&String=id3&Title=Yes

http://torry.net/vcl/mmedia/audio/id3v4.zip
--------------------------------------------------------------
Events

OnEraseTag
OnFileClose
OnFileOpen
OnFramDecrypt
OnFramEncrypt
OnReadTag
OnWriteTag



ID3Engine Component v.3.0
http://www.torry.net/quicksearchd.php?SID=ab7871de63930bda67cb7012c54d3f76&String=id3&Title=Yes

http://torry.net/vcl/mmedia/audio/id3v4.zip
--------------------------------------------------------------
Events

OnEraseTag
OnFileClose
OnFileOpen
OnFramDecrypt
OnFramEncrypt
OnReadTag
OnWriteTag


Den her kode virker sku fint på min pc:

procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
begin
For I := 0 to Listbox1.Items.Count-1 do
begin
id3.FileName := listbox1.Items.Strings[I];
id3.Active := true;
Showmessage(id3.Artist + ' - ' + id3.Title);
listbox1.Items.Strings[I] := id3.Artist + ' - ' + id3.track;
id3.Active := false;
end;
end;

- SpeC - #SpeC.DK @ Q-NET



tak kan du hjælpe mig med det sidste problem?

id3 tag'et virker, men nu kan jeg ikke afspille nogen sange fordi den ikke kender stien. hehe

function TForm1.PlaySong : string;
var
mp3File : string;
begin

if listbox1.Items.Count=0 then exit;

mp3File := listbox1.Items.Strings[listbox1.ItemIndex];

if not FileExists(mp3File) then begin
ShowMessage('The MP3 file does not exist!');
exit;
end;

Progress.MaxValue := 0;
Mediaplayer1.close;
mediaplayer1.FileName := mp3File;
mediaplayer1.open;
mediaplayer1.play;
timer1.Enabled := true;
Progress.MaxValue := mediaplayer1.Length;
timer2.Enabled := true;
end;



t