Нужен алгоритм сравнения двух текстов.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Нужен алгоритм сравнения двух текстов.

Сообщение kreator »

Собственно сабж. Просят отображать два текста с выделением отличий. Некие версии одного и того же. Может кто делал что-то подобное?
We are hard at work… for you. :)
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение morkovin »

Использовать BeyondCompare(https://www.scootersoftware.com/index.php) в режиме командной строки. Bat-файл запускать из своей программы, ес-но.
WBR, morkovin
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Нужен алгоритм сравнения двух текстов.

Сообщение kreator »

Мне надо это для внутреннего отчёта. Алгоритм скорее нужен, а не внешнее средство.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение Дед Пахом »

Я делал синхронизацию двух текстовых полей, то есть прокрутка одного текста вызывала такую же прокрутку другого. Я не спрашивал, зачем это было нужно, может быть, для визуального сравнения двух текстов?
С уважением, ДП
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение morkovin »

Мне надо это для внутреннего отчёта
Можно использовать BC-скрипт.
Вот скрипт mybc.txt:

Код: Выделить всё

file-report layout:side-by-side &
 options:display-mismatches,line-numbers output-to:"%3" "%1" "%2" 
 
Вот mybc.bat для запуска:

Код: Выделить всё

BCompare.exe @"mybc.txt" "AFILES001_.clw" "AFILES001.clw" "My_Report.txt"
Вот результат в MyReport.txt:

Код: Выделить всё

Сравнить тексты (T)
Изготовлено: 07.07.2022 22:37:40

Режим:  Отличия
Левый файл: C:\Program Files\Beyond Compare 4\AFILES001_.clw
Правый файл: C:\Program Files\Beyond Compare 4\AFILES001.clw
 4 !&&&&&&&&&&&&&&&&&&&&&&&&&&&& <>  4
----------------------------------------------------
----------------------------------------------------
17 !!! <summary> 123455          <> 17 !!! <summary>
----------------------------------------------------
ИМХО, лучше поиграться со скриптами, чем велосипед изобретать
WBR, morkovin
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение morkovin »

Алгоритм скорее нужен, а не внешнее средство
Мне вот просто интересно, как ваш алгоритм будет обрабатывать rtf/doc/xls/pdf.... и другие типы файлов :)
WBR, morkovin
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение Admin »

kreator писал(а): 07 Июль 2022, 18:58 Алгоритм скорее нужен
https://en.wikipedia.org/wiki/Longest_c ... ce_problem
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Нужен алгоритм сравнения двух текстов.

Сообщение Губин Игорь »

Admin писал(а): 08 Июль 2022, 3:51 https://en.wikipedia.org/wiki/Longest_c ... ce_problem
И это собираешься реализовать? :dizzy:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение Admin »

Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Нужен алгоритм сравнения двух текстов.

Сообщение kreator »

morkovin писал(а): 07 Июль 2022, 22:03
Алгоритм скорее нужен, а не внешнее средство
Мне вот просто интересно, как ваш алгоритм будет обрабатывать rtf/doc/xls/pdf.... и другие типы файлов :)
У меня задача попроще. Прошу прощения, неправильно описал задачу. Сравнение двух текстовых полей нужно. Не файлов. Банально всё понятно. В цикле сравниваются посимвольно, результат куда-то пишется. В третье текстовое поле, например. или в четвёртое. Наверно какие-то подводные камни есть. Поэтому хочется на них не наступить.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Нужен алгоритм сравнения двух текстов.

Сообщение Admin »

kreator писал(а): 09 Июль 2022, 18:23 У меня задача попроще
По моему, правильное сравнение одной строки по сути ни чем не отличается от сравнения файлов. Алгоритм тот же.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ответить