Страница 1 из 1

Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 02 июл 2009, 11:15
cnf
Есть программа на С#.Net. Называется RasterChart2BSB и предназначена для привязки сканов морских/речных (и не только) карт в формат BSB (что-то наподобие привязки карт в OZI-Explorer).
Программа с открытым исходным кодом. Автор забросил её разработку несколько лет назад и связаться с ним я не смог. Он не отвечает по указанному в программе e-mail.
В программе несколько багов, один из которых фактически не даёт с ней работать. Где-то в коде ошибка в формате долготы, т.е. при вводе координат точки, а точнее её долготы в трёх знаках, например 129 градусов восточной долготы, программа воспринимает только первые две цифры и получается 12 градусов, если ввести 035 градусов, то получится 3, и т.д. Есть ещё небольшие недочеты, которые не мешают работать, но их тоже хотелось бы исправить.
Я моряк, немного знаю Basic 6. Пытался сам разобраться с кодом, но увы, не смог, знаний не хватает...
Может кто возьмется довести программу до ума из любви к искусству? Скачать программу можно отсюда http://rapidshare.com/files/245903536/R ... n.rar.html
Исходники можно найти после инсталляции в папке спрограммой

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 07 июл 2009, 09:55
airyashov
нужно исправить библиотеку Coordinates
System.Text.RegularExpressions.Regex myRegexDegLat = new Regex(@"^([\d]{1,2}|([\d]{1,2}[\.|"+separator+@"][\d]+))[°|\s]*$");
поменять на
Regex(@"^([\d]{1,3}|([\d]{1,2}[\.|"+separator+@"][\d]+))[°|\s]*$");
и еще такаеже замена в коде ниже, пробовал собрать 2005 не подхватывает

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 07 июл 2009, 23:09
cnf
airyashov
Спасибо! Скачал релиз, начал тестировать, отпишусь...
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Проблема с координатами решена. Ещё раз спасибо!!!
Лимит просьб уже исчерпан? Или можно попросить ещё кое-что подправить?

На случай, если согласитесь, перечислю замеченные баги, от которых хотелось бы избавиться:
1. Чтобы при запуске программы сначала появлялся диалог выбора файла изображения, а уже потом основное окно программы, в котором уже будет отображаться карта.
2. Чтобы окно программы открывалось по центру экрана.
3. В настоящее время, после ввода всей необходимой информации по карте и точек привязки, и по нажатии кнопки Save as BSB file происходит проверка, соответствует ли картинка необходимым параметрам (картинка должна быть менее 128 цветов), и, если не подходит, происходит сброс всех введенных параметров. Хотелось бы, чтобы эта проверка происходила сразу после выбора файла картинки, т.е. до того, как начнет вводиться информация по карте и точкам привязки.

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 10 июл 2009, 17:03
airyashov
посмотрите, насчет цветов только не уверен

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 10 июл 2009, 19:19
cnf
airyashov
Спасибо! С цветами тоже получилось. Сообщение о несоответствии цветов выскакивает тогда, когда надо, т.е. сразу после открытия изображения.
Только вместо вашего текста: "цветов не 16 и не 256 цветов" поместите пожалуйста в massagebox следующие строки:
This image is not supported. Please use an image with no more than 127 colors.
Кроме того, если картинка не соответствует этому условию, хотелось бы, чтобы кнопка <Save as BSB file> стала не активной и оставалась не активной до тех пор, пока не будет открыт "правильный файл".
В прошлом сообщении я забыл упомянуть, что строка "Chart Number:" была вставлена автором "на будущее", т.е. и лэйбл "Chart Number:" и соответствующий ему текстбокс вообще не задействованы (об этом говорится в файле README.txt) и их лучше вообще удалить.

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 13 июл 2009, 08:27
airyashov
ловите исправленную

Re: Просьба исправить баг в C# программе с открытым исходным кодом

Добавлено: 13 июл 2009, 19:47
cnf
airyashov
Всё получилось, спасибо огромное!
Понимаю, что моя новая просьба скорее всего будет выглядеть слегка....
Но всё-таки попробую...
Изначально автор планировал создать точную копию программы для MacOS (Tiger or Leopard), которая живет вот здесь.
Я специально установил себе виртуальную машину с MacOS только для того, чтобы посмотреть на оригинал, с которого портировалась Windows-версия, и поработать с Mac-версией.
Так вот, яблочная версия принимает изображения всех поддерживаемых типов, независимо от количества цветов. После ввода точек привязки программа сама конвертирует изображение в нужный для *.kap файла 127-цветный формат (если необходимо). Т.е. на том месте в коде, где начиналась проверка файла изображения и появлялся msgbox, что картинка не подходит, вместо msgbox должна была происходить конвертация с помощью библиотеки ImageMagick.
Скорее всего Вы уже поняли к чему я веду... :)
Может продолжите улучшения и доведёте программу до ума?