![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 13
|
![]()
У меня структура текстовых файлов одинакова. Т.е. строка " Площадь:Хохряковская"
Файл текстовый, но имеет расширение .las. Открывается блокнотом как текстовый |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну и отлично. Если структура строго одинакова - легче будет разбирать и сравнивать файлы.
Кстати, а какой файл с каким будете сравнивать, Вы уже решили? Ну, допустим, Вы нашли 5 (пять) файлов с расширением .LAS будете сравнивать 1-й со 2-м или 1-й с 3-м или 2-й с 5-м ? (ну, Вы меня поняли, надеюсь..) или каждый с каждым нужно сравнить? но пока я не вижу ничего сложного! |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]()
Да просто читать оба файла, пока один из них не закончится и выполнять xor над данными обоих. Сразу станет ясно похоже или нет. Если размеры разные, то сразу исключать.
|
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
а во-вторых, к сожалению, не всегда побайтное сравнение допустимо для сравнения текстовых файлов. Тут уже, конечно, зависит от задачи. но, если в одном файле перед словом "Площадь" допускается наличие лишнего проблема (или знака табуляции, или перевода строки) - то содержимое этих файлов может быть признано одинаковым (почему - "может быть" - это от условий ТЗ зависит - что считать одинаковым, а что - отличающимся...) |
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 13
|
![]()
Структура файлов одинакова, но размер файлов разный. Файлы нужно сравнивать все друг с другом и из всей кучи файлов нужно найти с одинаковыми площадями.
Пример файла: ~Version Information #---------------------------------------------------------------- VERS. 1.2: WRAP. NO: ~Well Information #-------------------------------------------------------------- #MNEM.UNIT DATA INFORMATION #--------- ------------------- ----------------------- STRT.M 3.5000: Top Depth STOP.M 3579.3000: Bottom Depth STEP.M 0.1000: Increment NULL. -999.25: Null Value UWI. UNIQE WELL ID: 9600000800 WELL. Well: 800 DATE. Date: 17082003 COMP. Company: FLD. FIELD NAME: Ананьевское LOC. LOCATION: PROV. Province: SRVC. Company: ~Parameter Information #----------------------------------------------------- #MNEM.UNIT VALUE PARAMETER DESCRIPTION #--------- ------------------- ----------------------- ~Curve Information #----------------------------------------------------- #MNEM.UNIT API CODE CURVE DESCRIPTION #--------- ------------------- ----------------------- DEPTH.m : GK.MCR/H : NGK.1/MIN : DS1.M : DS2.M : PS.MV : PZ.OHM*M : GZ5.OHM*M : IKA.MSIM/M : IKR.MSIM/M : BK.OHM*M : MBK.OHM*M : MGZ.OHM*M : MPZ.OHM*M : RS.OHM*M : GZ4.OHM*M : GZ3.OHM*M : GZR.OHM*M : GZ2.OHM*M : GZ1.OHM*M : GGK. UE : GGKS. UE : GGKB.1/MIN : DTP.MCS/M : T1P.MCS : T2AK.MCS : ~Other Information #---------------------------------------------------------------- Данный файл был создан программой Bios Optima Все права защищены. (C) 2010 by Baspro Group Техническая поддержка : support@baspro.ru, www.baspro.ru This file has been produced by Bios Optima All Right Reserved. (C) 2010 by Baspro Group Baspro service: support@baspro.ru, www.baspro.ru #---------------------------------------------------------------- ~ASCII Log Data 3.5000 3.7230 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 3.6000 3.7230 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 3.7000 3.7230 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 -999.2500 |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 30.08.2011
Сообщений: 13
|
![]()
Площадь в файле это: FIELD NAME: Ананьевское
|
![]() |
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]() Цитата:
ЗЫ: Почитал и понял, что не к месту ляпнул. Для текстовых можно использовать париснг и Алгоритм Левенштейна. |
|
![]() |
![]() |
![]() |
#18 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
1) берём процедуру поиска файлов с заданным расширением (я ссылочку давал) 2) дописываем в неё кусочек кода, который сохраняет в любую динамическую структуру полное имя файла + найденную площадь. (я бы для этой цели зайдействовал стандартный TStingList) 3) сортируем по названию площади и дальше один проход и выдача всех совпадающих площадей.. p.s. написать такое на Delphi - максимум час времени... |
|
![]() |
![]() |
![]() |
#19 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,869
|
![]()
Вот тебе архив с программой для побайтового сравнения файлов и два исходника, в одном так самая программа, а в другом как искать все папки на диске. Если очень захочешь, то сможешь их слепить вместе в одну зверскую программу, кторая шарится по всем папкам твоего дерева и сравнивает файлы. алгоритм поиска самописный, но работает уверенно.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
![]() |
![]() |
![]() |
#20 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
NetSpace, попрошу не обижаться, но мне выложенный Вами код не понравился!..
![]() несмотря на то, что код, вроде бы, работоспособный, но реализация, имхо - жуткая.. ![]() Даже одно это Цитата:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстрый поиск в больших текстовых файлах | RIO | Общие вопросы Delphi | 6 | 29.04.2011 15:46 |
Поиск и замена в текстовых файлах | akm-gala | Помощь студентам | 1 | 18.06.2010 09:08 |
Сравнение данных в файлах Exel (Visual Studio 2008 C++) | Nikiforov_Alex | Помощь студентам | 1 | 05.05.2010 10:52 |
Обработка информации, хранящейся в текстовых файлах (БД) | Troi666 | Помощь студентам | 1 | 02.12.2008 21:54 |
Как посчитать сумму строк во всех текстовых файлах? | qwestor | PHP | 8 | 30.12.2007 16:02 |