По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как то так:
Процедура ОбработатьПутьФайла(Знач Файл, Строки)
Файл = СтрЗаменить(Файл,"/","\");
ПозицияРазделителя = Найти(Файл,"\");
Если ПозицияРазделителя=0 Тогда
Имя = Файл;
Остаток = "";
Иначе
Имя = Лев(Файл,ПозицияРазделителя - 1);
Остаток = Прав(Файл,СтрДлина(Файл)-ПозицияРазделителя);
КонецЕсли;
Строка = Строки.Найти(Имя,"Имя");
Если Строка = Неопределено Тогда
Строка = Строки.Добавить();
Строка.Имя = Имя;
КонецЕсли;
Если СтрДлина(Остаток)>0 Тогда
ОбработатьПутьФайла(Остаток, Строка.Строки);
КонецЕсли;
КонецПроцедуры
Файлы = НайтиФайлы("C:\Temp","*",Истина);
Дерево = Новый ДеревоЗначений;
Дерево.Колонки.Добавить("Имя");
Для Каждого Файл ИЗ Файлы Цикл
ОбработатьПутьФайла(Файл.ПолноеИмя, Дерево.Строки);
КонецЦикла
Показать
Попробуй запустить вложенный файл. Должен показать дерево значений
Прикрепленные файлы:
НайтиФайлы.epf
Пройдись отладчиком. Посмотри что в массиве файлов после "НайтиФайлы()"
Посмотри, заходит ли в процедуру ОбработатьПутьФайла, и что туда передается
Посмотри, вызывает ли рекурсивно сама себя процедура ОбработатьПутьФайла
Посмотри, заходит ли в процедуру ОбработатьПутьФайла, и что туда передается
Посмотри, вызывает ли рекурсивно сама себя процедура ОбработатьПутьФайла
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот