Przypisanie do zmiennej wartość klikniętej pozycji z Listboxa

0

Jak zmodyfikować kod by zmienna sFileName przybierała wartość klikniętej pozycji z Listboxa?

 if OpenDialog1.Execute then
  sFileName:=OpenDialog1.FileName;
  sFileName:=playlist.Items.Strings[playlist.ItemIndex];
  try
    (* sFileName - (string) The full file name with path. *)
    AssignFile(fMP3, sFileName);
    Reset(fMP3);
    try
      Seek(fMP3, FileSize(fMP3) - 128);
      BlockRead(fMP3, Tag, SizeOf(Tag));
    finally
    end;
  finally
    CloseFile(fMP3);
  end;
0

Ech...
Nawet szukać się nie chciało...
Pokombinuj z OnClick i metodą ItemIndex

0

Szukałem, ale nie znalazłem. Oto cała procedura

  procedure TForm1.PlaylistClick(Sender: TObject);
 Var sFileName: String;
  fMP3: file of Byte;
  Tag: ID3Struct;
  x: string;
Begin
if(Playlist.ItemIndex >= 0) then begin
 sFileName := Playlist.Items[Playlist.ItemIndex];

  try
    (* sFileName - (string) The full file name with path. *)
    AssignFile(fMP3, sFileName);
    Reset(fMP3);
    try
      Seek(fMP3, FileSize(fMP3) - 128);
      BlockRead(fMP3, Tag, SizeOf(Tag));
    finally
    end;
  finally
    CloseFile(fMP3);
  end;
  MP3Player.FileName:=sFileName;
  MP3Player.Open;
  Progress.Position:=0;
  MP3Player.Position:=0;
  if Tag.Signature <> 'TAG' then begin
    showmessage('Nie ma');
    { Doesn't have an ID3 tag }
  end else begin
        Label6.Caption:=Tag.Year;
        Label4.Caption:=Tag.Artist;
        Label5.Caption:=Tag.Album;
        Label8.Caption:=Tag.Title;
        x:='MP3 Player by jaro';
        Form1.Caption:=Tag.Artist+' - '+Tag.Title+' - '+x;
    { Do something with the tag }
  end;
  end;
  end;
0

Nie lepiej zrobić tak:

if Playlist.ItemIndex = -1 Then
 Exit;

?
Poza tym, IMO w playliście trzyma się nazwy utworów, a nie nazwy plików.

0

Zrobiłem, ale jak klikam na wybrany wpis na listboxie to nic się nie dzieje.

0

Postaw breakpoint przy linijce if(Playlist.ItemIndex >= 0) then begin i prześledź co się dzieje w trybie krokowym.

1 użytkowników online, w tym zalogowanych: 0, gości: 1