Программа сравнения mp-файлов

Программа предназначена для сравнения файлов карт в «польском» формате (.mp-файлов).

Предполагается, что сравниваемые файлы содержат корректные карты в «новом» польском формате. Сравнение производится по записям объектов. Две записи объектов считаются различными, если они различаются хотя бы на один байт. Комментарии игнорируются и не переносятся в результирующие файлы.

Программа является консольным приложением Win32 и рассчитана на запуск из командной строки.

Использование

mp_comp02.exe <new.mp> <old.mp> [/[V][O]]
<new.mp> — имя «нового» mp-файла
<old.mp> — имя «старого» mp-файла
/V — флаг увеличенной «болтливости» программы
/O — флаг работы в старом стиле (как преамбула трактуется только [IMG ID])

После работы создаются 3 файла (старые файлы с таким же именем затираются без предупреждения):
tcmp_common.mp — объекты общие для двух файлов
tcmp_new.mp — объекты, присутствующие в новом файле и отсутствующие в старом
tcmp_old.mp — объекты, присутствующие в старом файле и отсутствующие в новом
Если в обоих сравниваемых файлах первой записью была преамбула, то она будет записана во все образуемые файлы. Если преамбулы отличаются, то в файл tcmp_common.mp будет записана более новая преамбула.

Комментарии к некоторым сообщениям программы

*** Unexpected line in input file! >строка< — программа считает, что строка не может принадлежать валидному mp-файлу
*** num_str = число1! (num_records = число2) — в записи номер число2 меньше трех строк (запись пустая) (Программа считает, что такая запись не может принадлежать валидному mp-файлу)
* First record is not [IMG ID] ! — предупреждение о том, что первая запись в файле не является преамбулой
* Difference is detected in [IMG ID] — предупреждение о том, что в сравниваемых файлах различаются преамбулы
No differences between files. — программа не обнаружила различий в файлах

История обновлений

Версия 02.003 (23.04.2007)

Более осмысленные сообщения при различиях в преамбуле (не только номер, но и название секции).

Версия 02.002 (14.03.2007)

В преамбулу добавлена запись [ZipCodes].

Версия 02.001 (7.03.2007)

Введено расширенное толкование преамбулы. Сейчас в преамбулу входят записи [IMG ID], [Countries], [Regions] и [Cities].

Ребрендинг в mp_comp02

Пофикшена ошибка в сообщениях при различии только в преамбуле

Версия 01.018 (21.10.2006)

Пофикшена ошибка в парсинге mp-файлов. На некоторых верных файлах могла приводить к останову программы с сообщением *** Unexpected line in input file! >строка<

Версия 01.016 (13.12.2005)

Введен (отсутствующий ранее) контроль переполнения некоторых внутренних массивов.

Версия 01.015 (10.12.2005)

Пофикшена ошибка записи старой преамбулы в новый файл и наоборот.

Введен вывод сообщения о различиях в преамбуле.

Проверен английский язык в сообщениях (спасибо Я-Ирине).


Предложения и замечания по программе можно высказать в соответствующей теме форума gps.boston.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *