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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2011, 17:14   #11
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Лучше хеш-суммы и размер, так как имя также может быть изменено - пользователем, например (так чаще всего дубли и получаются).
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 17:15   #12
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
а можно с первого прохода дубликат вычислить
Код:
if aStringList.IndexOf('....') <> -1  then
//значит это дубликат, какая строка уже есть
_SERGEYX_. Полностью согласен с Вашей правкой. Как-то сразу на ум не пришло. Надо только проверить/подумать что будет быстрее.
OlegVE вне форума Ответить с цитированием
Старый 02.03.2011, 17:42   #13
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

к своему стыду я мало знаю о хеш-сумме, но согласен с
Цитата:
Лучше хеш-суммы и размер, так как имя также может быть изменено - пользователем
если же всетаки сортировка будет по имени, предлогаю при занесении в список
зделать какое нибудь разделение по алфавиту что б не сравнивать со всем,
ето вед не мало времени будет занимать, как мне кажеца
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 02.03.2011, 17:58   #14
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Да имя вообще ни к чему, я считаю. Хеша и размера достаточно. А имя запоминать в любом случае придётся, но не в качестве критерия поиска дублей.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 18:11   #15
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Уважаемый Obey-Kun
1. Поясните, пожалуйста, где, например, в FAT32 и NTFS храниться хэш-сумма?
2. Как при повседневной работе и частом изменении (редактировании) файлов производится корректировка хэш-сумм?
3. Может всё это делается в фоновом режиме?
Спасибо.

P.S. Извините, ArtGrek, что вмешался, но меня тоже заинтересовало простое решение с помощью хэш-сумм.

Последний раз редактировалось OlegVE; 02.03.2011 в 18:27.
OlegVE вне форума Ответить с цитированием
Старый 02.03.2011, 18:28   #16
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
1. Поясните, пожалуйста, где, например, в FAT32 и NTFS храниться хэш-сумма?
Нигде. Её надо генерировать.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 18:38   #17
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Нигде. Её надо генерировать.
Т.е. кроме задачи поиска дубликатов, необходимо генерировать хэш-сумму? Как её генерировать для изменённого файла? Надо производить поиск изменённых файлов и генерировать для них новые суммы?
Спасибо.

P.S. Хоть бы кусочек кода увидеть или алгоритм поиска дубликатов со всеми навесками хэш-суммирования, а не только теорию...

Последний раз редактировалось OlegVE; 02.03.2011 в 18:40.
OlegVE вне форума Ответить с цитированием
Старый 02.03.2011, 18:45   #18
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

При чём здесь изменённые файлы? Или я чего-то не понимаю?

Просто составляем список всех файлов, параллельно узнавая их размеры и генерируя их хеш-суммы.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 02.03.2011, 18:51   #19
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Просто составляем список всех файлов, параллельно узнавая их размеры и генерируя их хеш-суммы.
Т.е. возвращаемся к тому, что список файлов составляется. Плюс к этому, на каждый компьютер на котором будет производится поиск дубликатов необходимо установить программу, которая генерирует перед поиском дубликатов хэш-суммы (а перед генерацией составляется список файлов...). Я правильно понял начало алгоритма поиска дубликатов?

Спасибо

P.S.
Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
При чём здесь изменённые файлы? Или я чего-то не понимаю?
Я имел ввиду некий компьютер на котором работают, а не статичное хранилище файлов.

Последний раз редактировалось OlegVE; 02.03.2011 в 18:55.
OlegVE вне форума Ответить с цитированием
Старый 02.03.2011, 19:01   #20
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Да, список составляется в любом случае. Но сравнивать надо не имена и размеры, а хеши (и можно также размеры, если совпало). Всё, я спать. Ночью не спал.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обьединение одинаковых файлов ексель Alex47 Microsoft Office Excel 9 09.02.2011 11:33
Поиск одинаковых чисел bvden Microsoft Office Excel 3 05.07.2009 01:29
Поиск одинаковых элементов Expected } Общие вопросы C/C++ 0 08.01.2009 15:54
Поиск файлов на диске C# Лубышев Помощь студентам 2 23.09.2008 11:18
Браузер файлов на диске parampampam Фриланс 6 03.02.2008 20:48