Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ListBox


GunGarry ©   (2006-08-24 23:16:00) 

что то я туплю
мне надо удалить все файлы занесенные в листбокс
вот:

var
x : integer
begin  
for x := 1 to listbox1.Items.Count do
 begin
   DeleteFile(listbox1.Items.Strings[x-1]);
   ListBox1.Items.delete(x-1);
 end;
end;

но при выполнении постоянно пишет List index out if bounds


Германн   (2006-08-25 01:12:00) [1]


> default ©   (25.08.06 00:26) [11]
>
> Ketmar ©   (25.08.06 00:24) [9]
> зато даст возможность понять причину ошибки:)
>

Возможность понять причину сей ошибки может дать список всех веток имеющихся в данный момент в прямой доступности на ДМ, в которых удаление из списка реализуется в цикле forс "прямым" счётчиком.
Не знаю только как этот список сформировать :-(


default   (2006-08-25 00:26:00) [2]

Ketmar ©   (25.08.06 00:24) [9]
зато даст возможность понять причину ошибки:)


default   (2006-08-25 00:25:00) [3]

ах Ketmar меня опередил:) что-то я невнимательный к ночи


default   (2006-08-25 00:24:00) [4]

а если писать по уму, то надо
var
i : integer;
begin  
for i := 0 to listbox1.Count-1 do
  DeleteFile(listbox1.Items[i]);
ListBox1.Clear;
end


Ketmar   (2006-08-25 00:24:00) [5]

> [7] default ©   (25.08.06 00:19)
издеваешься? %-) оно-то будет, но это же не код, а ужос...


default   (2006-08-25 00:19:00) [6]

поставь "for x := listbox1.Items.Count downto 1 do" и заработает как миленькая


Ketmar   (2006-08-24 23:42:00) [7]

> [5] GunGarry   (24.08.06 23:32)
что не отменяет моего ответа. %-)


GunGarry   (2006-08-24 23:32:00) [8]

ахахх друг вот это тебя колбасит


Ketmar   (2006-08-24 23:24:00) [9]

ой. нет. держите меня семеро. ЧТО ЭТО?
значит так: сторую строку цикла застрелить, как вражеского лазутчика.
после цикла вписать: listBox1.Clear().

домашнее задание: понять, почему я упал со стула. %-)


Ketmar   (2006-08-24 23:24:00) [10]

"сторую" := "вторую".


Ketmar   (2006-08-24 23:22:00) [11]

потому что от 0 до Count-1.


Ketmar   (2006-08-24 23:22:00) [12]

а. пардон. не заметил [x-1].


Наверх

Титульная страница Поиск, карта сайта Написать письмо