Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2018, 20:26   #1
Taras2018
Пользователь
 
Аватар для Taras2018
 
Регистрация: 13.01.2018
Сообщений: 47
По умолчанию Учитывать вложенные файлы в папки (Delphi)

Добрый вечер Товарищи. Подскажите такую функцию в Delphi.

Суть в следующем:
Есть программа которая ищет файлы в папке и вносит изменения в них, но она не учитывает вложенные папки.

Что тут прописать что бы она учитывала вложенные папки ?:
Код:
procedure Tfrm_Main.cb_SubfolderClick(Sender: TObject);
begin

end;
Taras2018 вне форума Ответить с цитированием
Старый 03.02.2018, 20:41   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Рекурсия , однако.
Типа имеется функция поиск_в_папке(имя_папки). Функция находит файл, который в самом деле не файл, а папка с именем папка_внутри. Тогда вызываем поиск_в_папке(папка_внутри). И т.д.

Если используете FindFirst, FindNext, то типа TSearchRec есть Attr, его надо проверять на значение faDirectory - папка ли это.
type_Oleg вне форума Ответить с цитированием
Старый 03.02.2018, 20:46   #3
Taras2018
Пользователь
 
Аватар для Taras2018
 
Регистрация: 13.01.2018
Сообщений: 47
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Рекурсия , однако.
Типа имеется функция поиск_в_папке(имя_папки). Функция находит файл, который в самом деле не файл, а папка с именем папка_внутри. Тогда вызываем поиск_в_папке(папка_внутри). И т.д.

Если используете FindFirst, FindNext, то типа TSearchRec есть Attr, его надо проверять на значение faDirectory - папка ли это.
Через TStringList и memo загружаю список каталогов и программа работает. Только не учитывает вложенные папки в эти каталоги. Пример не можете самый простой подсказать ?
Taras2018 вне форума Ответить с цитированием
Старый 03.02.2018, 21:17   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

готовое решение ннада? их есть у меня.
А в интернетах - не менее чем 100500 штук.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 03.02.2018 в 21:19.
min@y™ вне форума Ответить с цитированием
Старый 03.02.2018, 21:23   #5
Taras2018
Пользователь
 
Аватар для Taras2018
 
Регистрация: 13.01.2018
Сообщений: 47
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
готовое решение ннада? их есть у меня.
А в интернетах - не менее чем 100500 штук.

То есть одну строку в мою процедуру вставить, по сути то дела ?. Спасибо сейчас буду разбираться.
Taras2018 вне форума Ответить с цитированием
Старый 03.02.2018, 21:26   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Taras2018 Посмотреть сообщение
То есть одну строку в мою процедуру вставить, по сути то дела ?. Спасибо сейчас буду разбираться.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 03.02.2018, 22:31   #7
Taras2018
Пользователь
 
Аватар для Taras2018
 
Регистрация: 13.01.2018
Сообщений: 47
По умолчанию

К сожалению так и не разобрался. Может у кого то еще идеи будут ?
Taras2018 вне форума Ответить с цитированием
Старый 03.02.2018, 22:34   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Taras2018 Посмотреть сообщение
К сожалению так и не разобрался. Может у кого то еще идеи будут ?
Интересно, а как ты разбирался-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 03.02.2018, 22:36   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Может у кого то еще идеи будут ?
Заменить рекурсию итерационным циклом. Рекурсией в данном случае проще. Больше нет идей ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.02.2018, 22:49   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Сообщение от Taras2018 Посмотреть сообщение
К сожалению так и не разобрался. Может у кого то еще идеи будут ?
production.jpg
Для совсем ленивой школоты есть готовый компонент. Плюхнул на форму - и в продакшон!

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с циклом! (вложенные циклы и сохранять результаты вычислений в текстовые файлы) Hamza117 Lazarus, Free Pascal, CodeTyphon 8 09.11.2017 15:42
Как можно редактировать вложенные в базу(mdf) файлы? picunda SQL, базы данных 0 09.03.2017 18:56
Папки и файлы SUPER123 Win Api 8 04.09.2013 15:18
Файлы и папки X@OC Общие вопросы Delphi 2 13.09.2011 21:18
удалить файлы и папки Viten2 Общие вопросы Delphi 31 08.09.2011 13:18