Текущий архив: 2006.04.02;
Скачать: CL | DM;
Вниз-->listbox удаляет строки через одну, почему????<-- Найти похожие ветки
← →
MaSZ © (2006-03-08 21:34) [0]Обычным циклом пытаюсь удалить все из листбокса, но строки удаляються через одну, почему??
Вот листинг:
for i:=0 to form1.ListBox1.Items.Count do form1.ListBox1.Items.Delete(i);
Предположительно указатель перемещаеться на сл. строку, но как тогда этого избежать?
← →
Anatoly Podgoretsky © (2006-03-08 21:35) [1]А на бумажке рассписать, что получается не можешь?
← →
Loginov Dmitry © (2006-03-08 21:36) [2]Delete(0);
← →
TUser © (2006-03-08 21:36) [3]После удаления строки индексы всех последующих строк меняются. Используй цикл
for i:=Count-1 downto 0 do
Delete (i);
← →
Юрий Зотов © (2006-03-08 21:39) [4]> MaSZ © (08.03.06 21:34)
with ListBox1.Items do
for i := Count - 1 downto 0 do Delete(i);
А вообще, ListBox1.Clear.
← →
iZEN © (2006-03-08 22:32) [5]>Юрий Зотов © (08.03.06 21:39) [4]
>for i := Count - 1 downto 0 do Delete(i);
По сути верно, но в общем случае неправильно.
Здесь без критической секции не обойтись. Нужно блокировать список на время обновления. Если несколько нитей попытаются изменить количество элементов в нём...чудеса обеспечены.
← →
Труп Васи Доброго © (2006-03-08 22:45) [6]iZEN © (08.03.06 22:32) [5]
По сути верно, но в общем случае неправильно.
Вообще говоря (если уж припёрло удалять по одной строке), то прав
> Loginov Dmitry © (08.03.06 21:36) [2] [Новое
>сообщение][Ответить]
> Delete(0);
Только этот Delete(0) надо упаковать в While, тогда нифига блокировать не надо, пусть вставляет хоть кто до посинения, один хрен удалится.
← →
Труп Васи Доброго © (2006-03-08 22:46) [7]Короче говоря надо так:
while (listbox1.Items.Count>0) do
begin
listbox1.Items.Delete(0);
end;
← →
Юрий Зотов © (2006-03-08 23:20) [8]> iZEN © (08.03.06 22:32) [5]
Ваше замечание о многоточности особенно актуально для визуального компонента и для человека, спрашивающего, как очистить ListBox.
← →
Юрий Зотов © (2006-03-08 23:22) [9]многоПОточности, конечно.
← →
Marser © (2006-03-08 23:32) [10]Удалено модератором
Примечание: офтопик
← →
Юрий Зотов © (2006-03-09 00:32) [11]Удалено модератором
Примечание: офтопик
← →
Marser © (2006-03-09 00:44) [12]Удалено модератором
Примечание: офтопик (почтой нельзя разве повспоминать?)
← →
Marser © (2006-03-09 01:05) [13]> Примечание: офтопик (почтой нельзя разве повспоминать?)
Дайте адрес. У меня действующего нет.
← →
Marser © (2006-03-09 01:06) [14]Присоединяюсь к [8], именно это я и хотел сказать. Не исключаю, что Изен стебётся...
> Юрий Зотов ©
С возвращением!
Страницы: 1 вся ветка
Текущий архив: 2006.04.02;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.039 c