![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
![]()
Не подскажете, нужно сравнить два текстовых файла
(снимки файловой системы сделанные в разное время) и найти разницу (какие файлы были добавлены). Ну и записать эти файлы в третий текстовый файл. Есть исходник программы WinDiff которая практически мнгновенно делает сравнение и выводит информацию в окно программы (правда как записать эту инфу в файл я так и не разобрался). Не подскажете где находится эта функция в программе. Например в файле WINDIFF.C Хотя могу и ошибатся может она (или они) находится в других файлах на всякий случай прелепил весь исходник. Короче нужно вытащить эту функцию. Своих знаний пока не хватает. Или это не возможно. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
![]()
C:\Assch
C:\AUTOEXEC.BAT C:\boot.ini C:\Bootfont.bin C:\CONFIG.SYS C:\Documents and Settings C:\IO.SYS C:\MSDOS.SYS C:\NTDETECT.COM C:\ntldr C:\pagefile.sys C:\Program Files C:\RECYCLER C:\System Volume Information C:\WINDOWS |
![]() |
![]() |
![]() |
#4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Мне кажется что проще написать заново быстренько такую функцию сравнения чем выдирать чужое.
I'm learning to live...
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
![]()
Если бы я обладал такими знаниями то конечно
Эта функция слишком большая? |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Не думаю.
В цикле считать в строку весь файл, а потом читая построчный искать считанную строку в исходной строке. Если не найдена - вывести. Порядка 10-20 строк кода.
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
![]()
Текстовые файлы весят около 2 мб, в них больше 20000 строк (это если делать
снимок ещё на свежей винде). Мне давали одну функцию правда не на - С . Так вот она ищет изменения около 2 минут. А программа WinDiff делает это практически мгновенно. Поэтому я хотел узнать что эта за функция, какими алгоритмами она работает. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]()
Ну, по информации внутри искать и не нужно, раз ты сказал что можно и по сравнению времени. _findfirst32()/_findnext() и т.д. а в условиях проверяешь определенные атрибуты, то есть в твоем случае это время.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.09.2010
Сообщений: 65
|
![]()
По сравнению времени не пойдёт так как некоторые программы например
при инсталяции ставят (некоторые) файлы с более ранним сроком по этому такой алгоритм их не отследит Кстати это первое что мне пришло на ум я даже сделал функцию Эксперементировал со всеми тремя атрибутами времени 1 Создание 2 Открытие 3 Изменение Но увы сталкнулся с такой проблемой Последний раз редактировалось assch; 13.09.2010 в 21:05. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) если Вы точнее опишите, что Ваша программа должна высветить (приведёте два текстовых файла и скажете, что Вы хотите получить на выходе) - я Вам такую утилитку на Delphi могу написать.
2) банальное fc пробовали? 3) А ещё попробуйте утилитку TextDiff (с) Angus Johnson Какой-никакой, но отчёт о найденных различиях в ней присутствует... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать дистрибутив из исходника Delphi + BDE ? | golt-andrej | Общие вопросы Delphi | 3 | 04.08.2010 03:52 |
Как из кода вытащить 5,6,7 символы | Romuald | Microsoft Office Excel | 6 | 14.01.2009 09:25 |
как вытащить форму | Барби | Помощь студентам | 5 | 01.10.2008 09:02 |
Как вытащить из XP список пользователей | UnD)eaD)Snake | Win Api | 10 | 29.04.2008 20:38 |
Как вытащить путь к файлу | UnD)eaD)Snake | Общие вопросы Delphi | 13 | 20.08.2007 22:09 |