Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как удалить выбранные строчки в списке? Банально, но че то ничего в голову не ид 
V
    Опции темы
MadCoder
  Дата 11.3.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



Ох, чувствую, рассмешу я народ smile , но все же постарайтесь отнестись к этому серьезно.
На ночь глядя никак не соображу, как правильно удалить выбранные элементы в списке ListView. Вот что я написал:
Код

var
A: Integer;
B: Integer;
begin
B:=ListView1.Items.Count-1;
for A := 0 to B - 1 do
    if ListView1.Items[A].Checked=True then
    begin
    ListView1.Items[A].Delete;
    B:=ListView1.Items.Count-1;
    end;
end;

Проблема вся в том, что при удалении счетчик ListView1.Items.Count меняется и индекс строк тоже, никак не соображу, как выйти из положения. Пришла идея создать Strings, в него добавить индексы и удалить другим циклом, но ИМХО бред  smile . Помогите! smile 
PM WWW ICQ   Вверх
VICTAR
Дата 11.3.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 10
Всего: 80



Сделай  smile 
Код

for A := pred(ListView1.Items.Count) downto 0 do

PM MAIL   Вверх
Sanchezzz
  Дата 11.3.2008, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 1
Всего: 60



Код

...
 var
 i:integer;
begin
for I := 0 to listview1.SelCount - 1 do
listview1.Items.Delete(listview1.Selected.Index);
end;



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
MadCoder
Дата 11.3.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



Цитата(Sanchezzz @ 11.3.2008,  22:27)
Код

...
 var
 i:integer;
begin
for I := 0 to listview1.SelCount - 1 do
listview1.Items.Delete(listview1.Selected.Index);
end;

Не работает. Мне нужно удалять не выбранные, а почеканные галочками элементы.

Добавлено через 3 минуты и 19 секунд
Цитата(VICTAR @ 11.3.2008,  22:25)
Сделай  smile 
Код

for A := pred(ListView1.Items.Count) downto 0 do

Офигенно, потестил - все работает.

Всем спасибо за помощь! smile 
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.