UA3GDW, если я правильно понял вас.
Для наблюдателя, нужно ввести:
1)позывной корреспондента в оне QSO,
2)позывной человека с кем работает наблюдаемый корреспондент, в окне WKD QSO
??????
Если это так, то это не совсем удобно.
Для наблюдателя, нужно сделать отдельную вкладку в оне Новое QSO. Пусть она так и будет называться QSO WKD, но будет иметь совершенно другой вид.
И сохранятся а отдельном журнале, для наблюдений. Который будет заливаться в eQSL с наблюдательским позывным.
Журнал наблюдателя, не должен мещаться с основным журналом.... для тех кто слушает и работает на передачу.
Как пример, прилагаю картинку.
Возможно расположение окон c позывными и другое, например - одно над другим. Окно RST, только одно - как принимает наблюдатель.
Добавлено через 36 минут(ы):
Причем при формировании наблюдательского adif файла для eQSL, поле WKD позывной(с кем работал наблюдаемый корреспондент)...зап исывается в окно Comments
Последний раз редактировалось Mosin; 15.06.2015 в 22:11.
Роман, посмотрел твой новый июньский билд. Есть по нему замечания и ошибки, которые нашлись быстро. По остальному, что найдется, тоже напишу. Пока инфа ниже, для исправлений:
1. Неверно определяется страна по позывному, если "/" расположен в конце. Примеры: DF2GF/KP2 (дает Germany), K6VVA/KL7 (дает USA). Возможное место в твоем коде (смотрел по дампу, исходников нет) в том, что ты делаешь сплит и проверку на "/" всего один раз. А по логике, надо делать проверку на 3 возможные части. Пример: GM/DL3DS/P, т.е. у нас есть 3 части.
1a. Сюда же относится неправильное определение страны в случае, если /ММ или /АМ. В этом случае нет принадлежности к стране по DXCC. У тебя же определяется страна и даже область, если российский позывной.
1b. Не обрабатываются ситуации с дробью, если /LH, /SK, /LGT, /FF, /50, /65 и др. специальные, но уже используемые дроби.
2. Допускается ввод первых символов в поле позывного: Q и 0. Согласно правилам образования блоков позывных, данные символы маркируются, как недопустимые. Сделай проверку на первый символ в буфере по ивенту TextChanged и проверке длины буфера в 1 символ; т.е. вторым символом допустимо использовать.
3. На все неопознанные позывные, которые не соответствуют блокам ITU, выдавать в твоем окне (тултип) строку "INVALID", как это принято в клублоге и уже де-факто является стандартом и в других логах.
4. /R и /С не определяет у тебя Ротуму и Конвей Риф, если введен 3D2 с дробью. Поправить надо.
4а. Тоже самое относится к дробям /G, /T, /J для Глориозо, Тромелин, Жуан де Нова.
5. Не верно определяется страна, если введен 3B6 или 3B7. У тебя всегда Агалега и Ст. Брандон. Хотя, по блокам должно быть так: 3B6 3B6 выделен Агалега, а 3B7 - Ст. Брандон. Тоже поправь.
Одно серьезное замечание по разработке. Все свои формы, пока есть время, переделай под нейтральную культуру, т.е. CultureInfo EN-EN, добавив в форму аттрибут [Localizable]. У тебя создастся ресурс с префиксом en-en. Потом проще будет добавить все остальные языки. Иначе будет гемор сильный. Форм пока не так много, поэтому это дело на полчаса, не более. И не используй в меню прямой подстановки строк, у тебя в дампе заметил такое. Доставай все строковые значения из ресурса для меню. Иначе встречается и русский, а местами английский текст.
Пока нашел вот такие недочеты. To be continued...
Задумано было так. Видимо не верно.
Журналы никоим образом не будут перемешиваться! А весь сервис будет доступен для наблюдателя.
Я понял, что необходимо лишь RST(R). Верно?
Я сделал две вкладки (QSO и WKD) для наблюдателя, ещё и для того, чтобы наблюдатель мог заносить в журнал одновременно два QSO (двух корреспондентов работавших между собой). Может вторую вкладку следует удалить?
Проверку на дроби я пока, вообще не делал. Не знаю, что ты там в коде смог найти?
Это может поправить и сам пользователь. Все данные редактируются. Но учту.
Учту.
Я не собираюсь переводить лог на другие языки. Из-за принципа.
Можно и так написать, будет даже правильнее.
2 UA3GDW:
Роман, по поводу языков все понятно. То есть у тебя изначально планируется только русскоязычный лог, так надо понимать?
Насчет того, где в коде нашел. У меня нет исходников, поэтому где конкретно, сказать не могу. Но в дампе ясно видно, что ты вызываешь метод Split("/") и делишь позывной. Ассембли вроде .Core, если не ошибаюсь.
Насколько я понял, ты пока не подключил еще базу от Майкла, которая была в XML формате? Или это уже сделано?
Один момент, который хотел тебе посоветовать на данном этапе, пока ты далеко не убежал с базой и формами, а также бизнес-логикой. Воспользуйся для дизайна/разработки базы данных все-таки EF 6.1. Провайдер для SQLite 1.0.27 уже в релизе на GitHub. Преимущества использования данного фреймворка очевидны: скорость доступа, синхронизация данных, модель базы данных проще и др. И также раздели бизнес логику от основных классов объектов, например, через MVC WinForms или MVVM Winforms. Все они доступны в исходниках и с хорошим описанием и примерами. И в итоге у тебя будет класс (объект), с которым ты работаешь, View (или Model-View) для отображения данных по классу (т.е. твоя визуальная форма) и сам контроллер, где будет вся бизнес-логика. Такую структуру и тестировать удобнее в будущем. А также сейчас это самый профессиональный и современный подход к разработке на .NET.
Да, оставить только RST(R)
На мой взгляд, это чисто мое мнение.
Вкладка QSO, должна быть только для работы на передачу.
WKD QSO - только для наблюдений, причем эта вкладка будет исчезать если радиолюбитель будет работать только на передачу. Тоже самое и с вкладкой QSO - она будет исчезать, если радиолюбитель будет вести исключительно лог наблюдателя.
Ну это может быть сильно мудрено.
Как пример, выше я показывал изображение вкладки WKD QSO.
Сделать одно окно для позывного наблюдаемого корреспондента и три окна - С кем работал/позывной.
Почему три окна ? Просто некоторые не подтверждают карточки, так как инфо могла быть списана с кластера ( и это они пишут в ответе)....а тут нужно записать 2 или 3 позывных, с кем сработал наблюдаемый радиолюбитель.
Сборка от 23.06.2015
- Реализована возможность добавлять новые QSO (не полностью);
- Реализован поиск повторных QSO (базовая функциональность);
- Доработан режим "Наблюдатель";
- Добавлена возможность быстрого переключения между двумя журналами;
- Исправлены некоторые ошибки.
Кто тестировал? Ошибок (например, при которых происходит крах программы) не замечено?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)