![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть дерево:
- Ветка1 Запись1 - Ветка2 Запись2 -Ветка3 Запись1 Нужно удалить все записи с именем "Запись1"... Делаю так: Код:
var nd : TTreeNode; begin nd := TreeView1.Items[0]; while nd <> nil do begin if nd.Text = 'Запись1' then nd.Delete; nd := nd.GetNext; end; end; Последний раз редактировалось mmonster, 18.11.2011 в 20:43. |
|
#2
|
|||
|
|||
|
Код:
for I := TreeView1.Items.Count-1 DownTo 0 Do if TreeView1.Items[i].Text = 'Запись1' Then TreeView1.Items.Delete(I); |
|
#3
|
|||
|
|||
|
Цитата:
Код:
var nd : TTreeNode; I : Integer begin I := TreeView1.Items.Count-1; while I >= 0 Do begin nd := TreeView1.Items[i]; if nd.Text = 'Запись1' then nd.Delete else Dec(I); end; end; |
|
#4
|
||||
|
||||
|
Ты бы код проверил, свой и lmikle, перед тем как фигню писать...
|
|
#5
|
||||
|
||||
|
Наверно имеется в виду последняя строчка
Код:
Then TreeView1.Items.Delete(I); Код:
Then TreeView1.Items[i].Delete; А вот зачем заменять конструкцию for..downto..do на while совершенно не понятно. Последний раз редактировалось Ildar-tsr, 21.11.2011 в 11:48. |
|
#6
|
||||
|
||||
|
Да, действительно, для Delete надо передавать нод, либо использовать метод Node.Delete. Но вот замена на while СОВСЕМ непонятна.
|