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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2011, 09:39   #11
zhukovms
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 13
Радость структура файлов

У меня структура текстовых файлов одинакова. Т.е. строка " Площадь:Хохряковская"
Файл текстовый, но имеет расширение .las. Открывается блокнотом как текстовый
zhukovms вне форума Ответить с цитированием
Старый 31.08.2011, 11:17   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну и отлично. Если структура строго одинакова - легче будет разбирать и сравнивать файлы.

Кстати, а какой файл с каким будете сравнивать, Вы уже решили?
Ну, допустим, Вы нашли 5 (пять) файлов с расширением .LAS
будете сравнивать 1-й со 2-м или 1-й с 3-м или 2-й с 5-м ? (ну, Вы меня поняли, надеюсь..)
или каждый с каждым нужно сравнить?

но пока я не вижу ничего сложного!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.08.2011, 11:31   #13
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Да просто читать оба файла, пока один из них не закончится и выполнять xor над данными обоих. Сразу станет ясно похоже или нет. Если размеры разные, то сразу исключать.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 31.08.2011, 11:47   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Да просто читать оба файла, пока один из них не закончится и выполнять xor над данными обоих.
во-первых, если уж сравнивать побайтно/посивольно, то зачем нужен XOR ?! Банального сравнения не достаточно?

а во-вторых, к сожалению, не всегда побайтное сравнение допустимо для сравнения текстовых файлов. Тут уже, конечно, зависит от задачи.
но, если в одном файле перед словом "Площадь" допускается наличие лишнего проблема (или знака табуляции, или перевода строки) - то содержимое этих файлов может быть признано одинаковым (почему - "может быть" - это от условий ТЗ зависит - что считать одинаковым, а что - отличающимся...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.08.2011, 11:51   #15
zhukovms
Пользователь
 
Регистрация: 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
zhukovms вне форума Ответить с цитированием
Старый 31.08.2011, 11:57   #16
zhukovms
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 13
По умолчанию

Площадь в файле это: FIELD NAME: Ананьевское
zhukovms вне форума Ответить с цитированием
Старый 31.08.2011, 12:26   #17
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
во-первых, если уж сравнивать побайтно/посивольно, то зачем нужен XOR ?! Банального сравнения не достаточно
Логика быстрей чем вычитание, имхо. XoR используется для сравнения больших кусков памяти на равно/не равно, где есть накопительный регистр.

ЗЫ: Почитал и понял, что не к месту ляпнул. Для текстовых можно использовать париснг и Алгоритм Левенштейна.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 31.08.2011, 13:17   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Файлы нужно сравнивать все друг с другом и из всей кучи файлов нужно найти с одинаковыми площадями.
....
Площадь в файле это: FIELD NAME: Ананьевское
ну, тогда вот алгоритм задачи прост, как ясный день...
1) берём процедуру поиска файлов с заданным расширением (я ссылочку давал)
2) дописываем в неё кусочек кода, который
сохраняет в любую динамическую структуру полное имя файла + найденную площадь. (я бы для этой цели зайдействовал стандартный TStingList)
3) сортируем по названию площади и дальше один проход и выдача всех совпадающих площадей..


p.s. написать такое на Delphi - максимум час времени...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.08.2011, 13:23   #19
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,869
По умолчанию

Вот тебе архив с программой для побайтового сравнения файлов и два исходника, в одном так самая программа, а в другом как искать все папки на диске. Если очень захочешь, то сможешь их слепить вместе в одну зверскую программу, кторая шарится по всем папкам твоего дерева и сравнивает файлы. алгоритм поиска самописный, но работает уверенно.
Вложения
Тип файла: rar Archive.rar (180.3 Кб, 12 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 31.08.2011, 13:42   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

NetSpace, попрошу не обижаться, но мне выложенный Вами код не понравился!..

несмотря на то, что код, вроде бы, работоспособный, но реализация, имхо - жуткая..

Даже одно это
Цитата:
Код:
           windows.SetFileAttributes(pChar(Put+Name),0);
в процедуре PrintFile чего стоит...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрый поиск в больших текстовых файлах 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