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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2013, 00:15   #1
kholoshchak
Пользователь
 
Регистрация: 17.03.2011
Сообщений: 43
По умолчанию Поиск дубликатов файлов.

Всем добрый вечер. Нужна ваша помощь. Перерыл весь интернет, но ничего толкового не нашел. Как реализовать процедуру или функцию проверки дублированности файлов (имя+время+размер)? К примеру: у нас есть функция которая ищет файлы в директории и выводит их в ListView вместе с их атрибутами. А как реализовать проверку на идентичность и вывести идентичные файла в ListView? За ранее спасибо.
kholoshchak вне форума Ответить с цитированием
Старый 05.10.2013, 01:06   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

1. Создается слепок списка файлов на ПК, этот список дублируется.
2. Получается список А и список Б.
3. Ищем совпадения по нужным условиям из списка А в списке Б.
4. ????
5. PROFIT
Человек_Борща вне форума Ответить с цитированием
Старый 05.10.2013, 07:44   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
1. Создается слепок списка файлов на ПК, этот список дублируется.
2. Получается список А и список Б.

3. Ищем совпадения по нужным условиям из списка А в списке Б.
совершенно необязательно дублировать список!
цикл по списку А и в нём вложенный цикл проверки всех элементов, где ключевые значения совпадают с всеми элементами списка, кроме самого проверяемого элемента:
Код:
for i:=0 to A.Count-1 do
   for j:=0 to A.Count-1 do
     if i<>j then 
           if Сравнить( A.items[i] и A.items[j] ) then найден дубликат...
либо, можно в момент формирования списка, перед добавлении очередного файла, проверять, если уже ли дубликат в текущем списке. Если есть - принимать меры, нет - добавлять характеристики очередного файла в список...

Тут очень многое зависит от того, что Вы хотите с найденными дубликатами сделать!

p.s. для скорости я бы использовал какую-нибудь простую хэш функцию от ключевых полей и использовал сортировку по значению данного хэша.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.10.2013, 08:51   #4
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

потом добавится условие содержимое....
я делал через базу + MD5 (можно CRC): ищем дубликаты mp3...
Вложения
Тип файла: zip DUSearch.zip (12.0 Кб, 76 просмотров)
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 05.10.2013 в 08:54.
Slym вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск дубликатов по двум столбцам?! mojo Microsoft Office Excel 5 15.11.2012 00:13
Выделение, поиск дубликатов и копирование nbw Microsoft Office Excel 2 04.06.2011 12:55
Поиск дубликатов в массиве. Mister_Originalnos Помощь студентам 0 09.12.2010 20:13
поиск дубликатов файлов(имя, тип, размер). Вывод дубликатов на экран с отображением их пути faraon1792 Помощь студентам 4 19.03.2010 23:46
Поиск дубликатов Студент-снова Microsoft Office Excel 10 16.01.2010 18:57