5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|||||||||||
1 | |||||||||||
Не умею открывать файлы, найденные "FindFirst"19.05.2015, 15:48. Показов 1565. Ответов 19
Метки нет (Все метки)
Доброго времени суток, дорогие форумчане!
Пишу программу для обработки Excel файлов, хочу улучшить ее функционал. Задумка такая: пользователь выбирает папку, происходит анализ папки и подкаталогов, после найденные файлы отправляются на обработку. Сейчас пользователь выбирает не папку, а выделяет группу файлов. Для выбора папки использовал урок : http://valeev.org.ru/index.php?art=33 Для поиска файлов по маске (расширению) : https://www.cyberforum.ru/post492745.html
Вопрос: можно ли найденные файлы отправлять на обработку к функциям? Один добрый человек ранее помог реализовать с помощью OpenDialog:
0
|
19.05.2015, 15:48 | |
Ответы с готовыми решениями:
19
Найти и заменить файлы найденные файлы Поиск файлов с помощью FindFirst и FindNext дает лишние файлы Win 32 App-Программа вбирает в себя файлы! Не умею делать иначе. Нормально отпарсить найденные файлы. Запуталась =( |
72 / 73 / 23
Регистрация: 14.10.2013
Сообщений: 547
|
|
19.05.2015, 16:40 | 2 |
Для выбора папки используй перегруженную SelectDirectory, чтобы её использовать в uses пропиши FileCtrl;
Далее если версия ХЕ2+ то для поиска используй TDirectory.GetFiles с нужными параметрами. А если старая версия, то используй TSearcRec и в параметрах сразу укажи искомое расширение. Зачем делать лишнюю проверку? FindFirst(Dir + '*.xls', faAnyFile, SearchRec)
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
19.05.2015, 17:49 [ТС] | 3 | |||||
FaTaL-CS Спасибо за отзывчивость!
Версия старая, Delphi 7. Поиск я попозже улучшу, у меня не получается использовать найденные файлы. Допустим мы нашли C:\test.xls и C:\home\111.xls, то далее мне бы хотелось вызвать их в процедуру Xls_Open_F1, а в интернете много примеров как только записать найденные файлы (пути файлов) в Listbox, Memo и т.д. Попробовал сделать:
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||||||||||||
19.05.2015, 21:11 [ТС] | 5 | |||||||||||||||
мне не понятно, как в :
то бишь найденные файлы передать на обработку, а не запись в листы или Memo ...
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
19.05.2015, 21:55 | 6 |
Ты сначала найди все нужные файлы и запиши их имена в стринглист, а потом передай этот список в процедуру обработки файлов. Так будет правильнее.
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
19.05.2015, 23:00 [ТС] | 7 | |||||
Вот подскажите, пожалуйста, как будет выглядеть функция Что будет вместо OpenDialog в :
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
||||||
20.05.2015, 00:50 | 8 | |||||
Я не знаю что будет "вместо" в какой-то мне совершенно неизвестной процедуре Xls_Open_Ivanov
Но если бы я писал процедуру обработки этих файлов, я бы написал процедуру типа
P.S. Исторически не люблю изменять файлы найденные циклом FindFirst-FindNext внутри этого цикла. Во времена MS DOS'а нарывался на неприятности.
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|||||||||||
20.05.2015, 08:20 [ТС] | 9 | ||||||||||
Примерно как здесь:
0
|
72 / 73 / 23
Регистрация: 14.10.2013
Сообщений: 547
|
||||||
20.05.2015, 11:15 | 10 | |||||
Ну например сделай так:
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
20.05.2015, 19:03 [ТС] | 11 | |||||
Спасибо, но работает только:
Есть еще вопрос: как сделать поиск не только файлов '.xls', но и чтобы название файлов, к примеру, при этом начиналось на 'Петров_' и далее произвольные символы?
0
|
72 / 73 / 23
Регистрация: 14.10.2013
Сообщений: 547
|
|
20.05.2015, 21:02 | 12 |
Застрелите меня!!!
Я не пойму что Вам надо? Конечно не будет работать FindFiles если Вы его закоментировали! Я же Вам написал полностью рабочий код, который ищет файлы Excel и передаёт их в Вашу процедуру.
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
20.05.2015, 21:18 [ТС] | 13 | |||||
Я не тупой, закомментировал, потому что не работает эта строка.
Без ".xls" компилятор не ругается, но тогда не срабатывает ваша функция FindFiles
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
20.05.2015, 23:06 | 14 |
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|
21.05.2015, 22:14 [ТС] | 16 |
Я прошу прощение за поспешность моих выводов, так как очень спешил проверить код и словил ошибки, сейчас же удалось запустить без ошибок, но тогда "отваливается" функция выбора директории. Пока решаю проблему.
Скажите еще, пожалуйста: можно ли для критерия поиска кроме расширения (.xls) указать часть имени файла? Допустим "если файл XLS" и "имя файла начинается на Петров_", то ... "Иванов_" то ... или лучше рассматривать список найденных файлов, и из него выбирать нужные? Но как тогда организовать такой метод?
0
|
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
|
|
22.05.2015, 01:10 | 17 |
Не путай критерий поиска с критерием анализа того, что найдено поиском.
И не надо поиск скрещивать с обработкой. Вполне можешь получить "конец света". Ещё раз. Сначала найди, потом анализируй и обрабатывай.
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
||||||
22.05.2015, 11:11 [ТС] | 18 | |||||
Спасибо за совет)
Я переживаю и тороплюсь, отсюда глупые ошибки. Сделал поиск с помощью кода FaTaL-CS , выбор директории выбрал как в уроке по ссылке выше. Найденный правда список записал в Memo, и там уже смотрю каждую строку и вхождение подстроки:
Не по теме: Расписал как работает, так как вдруг в будущем кому-нибудь пригодится сообщение/тема.
0
|
72 / 73 / 23
Регистрация: 14.10.2013
Сообщений: 547
|
||||||
22.05.2015, 14:38 | 19 | |||||
Меня заинтересовало, что делают эти 2 процедуры?
0
|
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
|
|
22.05.2015, 15:31 [ТС] | 20 |
0
|
22.05.2015, 15:31 | |
22.05.2015, 15:31 | |
Помогаю со студенческими работами здесь
20
Дозапись во все найденные текстовые файлы в каталоге Как можно заставить TS компилировать файлы, несмотря на найденные ошибки Выполнить поиск файлов на всем диске и вывести найденные файлы в listview Что добавить в код, чтобы при нажатии на кнопку удалялись найденные файлы? Как перебрать все файлы в директории на SD карте и поместить найденные jpg в массив? Работа со звуком, открывать аудио-файлы, сохранять аудио-файлы Перестало открывать и читать файлы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |