Упростить - явно можно.
1. Не надо делать 2 прохода, сначала искать файлы, а потом еще раз по этому же списку проходиться и уже добавлять в дерево. Нашел файл - добавь сразу.
2. Тоже самое относится к самому добавлению. Нашел точку добавления (если готовой нет, то создал), добавил файл и сразу рекурсией обновил цифирки в вышестоящих узлах.
ЗЫ. Можно хранить разные данные в свойстве узлов data, только чистить за собой не забывать. Я для этого завожу список TObjectList в режиме владения объектами. Тогда легко чистить просто очищая сначала список, потом дерево (или наоборот).
|