Вверх ↑
Этот топик читают: Гость
Ответов: 1043
Рейтинг: 33
#1: 2012-07-24 12:05:02 ЛС | профиль | цитата
помогите решить проблему.
есть папка, в нее будет записываться неизвестное количество файлов
имя у них будит к примеру по маске image_*.jpg
как сделать так, чтобы если в папке уже записано от image_01.jpg до image_70.jpg то программа продолжала записывать файлы начиная с 71.
можно конечно поиском но это долго, если в папке 5000 файлов, а мне надо чем быстрее тем лучше.
карма: 0

0
Ответов: 3889
Рейтинг: 362
#2: 2012-07-24 12:31:23 ЛС | профиль | цитата
ashkalov, быстрее (но не точнее) FileSearch только doFileExists FileTools, используемый вместе с методом последовательных приближений.
карма: 1

2
Голосовали:ashkalov, Ex_
Ответов: 1043
Рейтинг: 33
#3: 2012-07-24 12:41:27 ЛС | профиль | цитата
1nd1g0 писал(а):
быстрее (но не точнее) FileSearch только doFileExists FileTools, используемый вместе с методом последовательных приближений.

спасибо+
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2012-07-24 14:51:35 ЛС | профиль | цитата
ashkalov,
1nd1g0 писал(а):
используемый вместе с методом последовательных приближений.
Подробнее можно ?
В папке есть:
image_01.jpg
image_10.jpg
image_11.jpg
image_15.jpg
(Не секрет, что некоторые снимки удаляются)
Какой номер должен выдать метод последовательных приближений ?
02 или 16 ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3889
Рейтинг: 362
#5: 2012-07-24 15:01:15 ЛС | профиль | цитата
Самому стало интересно реализовать метод последовательных приближений при поиске имени последнего файла из последовательности при условии гарантированной непрерывности имён. Схема сделана наглядной в ущерб оптимальности, но даже на древнем офисном ПК у меня скорость поиска просто астрономическая - 9 - 10 мсек среди 4655 файлов image_xxxx.jpg в то время, как только один элемент FileSearch тратит 300 мсек на перебор файлов в директории, это не считая потенциальной необходимости обрабатывать имена для нахождения наибольшего. Зато у второго варианта есть серьёзный плюс - не обманется нарушенной последовательностью файлов.


code_28580.txt
------------ Дoбавленo в 15.01:
Tad писал(а):
Не секрет, что некоторые снимки удаляются

Можно пойти по пути обратного счёта, принять за данность максимум, скажем, 9999 кадров и перебирать вычитанием, а не прибавлением. Можно комбинировать оба алгоритма, принимая решение о дальнейшем поиске "положительным" алгоритмом, если "отрицательный" показал, что мы уткнулись в ложный конец счёта. Тут надо балансировать на уровне усложения логики и производительности, но крайне велика вероятность, что даже многократный поиск приближением всё равно будет на порядки быстрее последовательного перебора.
карма: 1

0
файлы: 1code_28580.txt [1.6KB] [76]
Ответов: 16884
Рейтинг: 1239
#6: 2012-07-24 15:12:30 ЛС | профиль | цитата
1nd1g0 писал(а):
один элемент FileSearch тратит 300 мсек на перебор файлов в директории
это в папке с 4655 файлами ?
ashkalov, и этих 300 мсек тебя режут?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 704
Рейтинг: 44
#7: 2012-07-24 15:25:35 ЛС | профиль | цитата
Проще сохранять последний номер файла в ini. А после запуска программы считывать этот флаг!!!
карма: 0

0
Ответов: 1173
Рейтинг: 49
#8: 2012-07-24 15:43:18 ЛС | профиль | цитата
Kazbek17, никто не сказал, что файлы не могут создаваться сторонней программой
карма: 0

0
Ответов: 1043
Рейтинг: 33
#9: 2012-07-24 17:50:04 ЛС | профиль | цитата
всем спасибо , тема закрыта
карма: 0

0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)