Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2011, 19:22   #1
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Вопрос ListView как узнать последнюю строку?

ну дак вот я сделал плеер на bass.dll и у меня вопрос как узнать первую и последнюю строку в ListView? ListView у меня плей лист и мне надо узнать когда последняя песня и первая а то у меня ошибки выбивают если играет последняя песня и первая при переключения назад впперед((
Кольша вне форума Ответить с цитированием
Старый 14.08.2011, 19:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
 with ListView1 do Items[Items.Count-1].Caption;
Даст последний элемент, если конечно лист не пуст совсем
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2011, 21:23   #3
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

да спасяб я уже разобрался вот мож кому над
послядняя
if Playlist.ItemIndex = Playlist.Items.Count-1 then
......//код
end;
первая
if Playlist.ItemIndex = 0 then
код
end;
Playlist=ListView1 просто у меня плеер)))

Последний раз редактировалось Кольша; 14.08.2011 в 21:25. Причина: не правильно не много
Кольша вне форума Ответить с цитированием
Старый 15.08.2011, 08:00   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
Вопрос

как можнно удалить выбранную строку из ListView???

Последний раз редактировалось Кольша; 15.08.2011 в 08:14. Причина: _
Кольша вне форума Ответить с цитированием
Старый 15.08.2011, 08:32   #5
inndim
Пользователь
 
Регистрация: 08.06.2008
Сообщений: 74
По умолчанию

ListView1.DeleteSelected;
inndim вне форума Ответить с цитированием
Старый 15.08.2011, 10:31   #6
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

не эт не подходит он удалять та удалят но у меня ж плеер он кароче удалят а трек переходит на другу позицию кароче удаляеться нормально только если удаляем последний трек а так нет((
Кольша вне форума Ответить с цитированием
Старый 15.08.2011, 21:13   #7
kettanaito
Веб-дизайнер
Форумчанин
 
Аватар для kettanaito
 
Регистрация: 11.08.2011
Сообщений: 305
По умолчанию

Кольша, на примере ListBox:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var index:integer;
begin
// Проверка на пустоту и выделенный трек
if (ListBox.ItemIndex<>-1) and (ListBox.Items.Count<>0) then
begin
// Событие если выделенный трек это первый трек в списке:
  if ListBox.ItemIndex=0 then
    begin
    index:=ListBox.ItemIndex;
    ListBox.DeleteSelected;
    if ListBox.Items.Count<>0 then ListBox.ItemIndex:=index; // Возвращаем тот же индекс
    end
  else
// Если не первый:
  begin
  index:=ListBox.ItemIndex;
  ListBox.DeleteSelected; ListBox.ItemIndex:=index-1; // Возвращаем позицию на единицу назад. "+1" - на единицу вперед
end;
end;
end;
Используя ListBox.ItemIndex:=index+1 нужно будет описать действия, если выделенный трек последний. Что-то такое нужно?

Последний раз редактировалось kettanaito; 15.08.2011 в 21:16.
kettanaito вне форума Ответить с цитированием
Старый 16.08.2011, 06:21   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

извени не подходит лан забейте,посмотрите кто неть кусок кода ниже приведу
Код:
procedure TForm1.Find(Directory: String);
var
  fn: TSearchRec;
  Finds,i: integer;
  ID2Tag: TID3v2;
  AllLength: Cardinal;
begin
  i:=0;
  AllLength:=0;
  Playlist.Clear;
  ID2Tag:=TID3v2.Create;
  Finds:=FindFirst(Directory + '\*.mp3',faAnyFile,fn);
  while Finds = 0 do begin
    ID2Tag.ReadFromFile(Directory + '\' + fn.Name);
    Path[i]:=Directory + '\' + fn.Name;
    with Playlist.Items.Add do begin
      Caption:=ID2Tag.TrackString + '. ' + ID2Tag.Artist + ' - ' + ID2Tag.Title;
      if Player.Open(Directory + '\' + fn.Name) then begin
        SubItems.Add(FormatDateTime('nn:ss', Player.PlayLength / (1000 * 24 * 60 * 60)));
        AllLength:=AllLength + Player.PlayLength;
      end;
    end;
    Finds:=FindNext(fn);
    inc(i);
  end;
  FindClose(fn);
  AllLengthLabel.Caption:=FormatDateTime('nn:ss', AllLength / (1000 * 24 * 60 * 60));
  ID2Tag.Free;
end;
как через это или немного по другому прогрнать не папку а 1 трек??????

У нас принято оформлять код специальным тегом. Кнопка #. Модератор

Последний раз редактировалось dr.Chas; 18.08.2011 в 22:41.
Кольша вне форума Ответить с цитированием
Старый 22.08.2011, 07:27   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

спасиб модер я просто не знал я на вашем форуме недавно
Кольша вне форума Ответить с цитированием
Старый 22.08.2011, 09:22   #10
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Код:
как через это или немного по другому прогрнать не папку а 1 трек??????
Не совсем понятно о чем вы.

Скорее всего с помощью opendialog.

Код:
if opendialog1.execute then
begin

//путь до файла будет в OpenDialog1.FileName

end;
Anfall вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как удалить последнюю строку в Memo? annapro C++ Builder 3 04.06.2011 21:02
как узнать последнюю строку и последний столбец в xls таблице? Аццкий прогер Общие вопросы Delphi 7 06.12.2010 12:58
Как считать последнюю строку ? Katmai Общие вопросы Delphi 13 27.07.2010 20:49
Как найти последнюю строку Листа? Stilet Microsoft Office Excel 6 13.10.2009 14:33
Нужно найти последнюю строку в файле с информацией и узнать ее адрес Мефистофель Microsoft Office Excel 2 10.06.2007 16:03