вот с CAT думаю придется повозится
Не знаю, на чем вы пишете программу, но есть готовый компонент Omnirig, который используют многие популярные логи. В Delphi его прикрутить дело 5 секунд, там есть примеры и в других языках http://dxatlas.com/OmniRig/
Просто САТ на сколько удобная штука, что привыкнув, потом уже уныло без него да и ошибки в логе появляются, из-за забывчивости вручную диапазон/модуляцию сменить...
Еще как пожелания:
1) можно оптимизировать габариты формы, например, поля ввода связей под таблицей журнала в виде строки сделать, тогда форму можно задвинуть по высоте так, чтобы слева остался только компас. Актуально для всяких недорогих нетбуков, вроде EEEpc, у которых малое разрешение экрана по высоте.
2) не нащупал комбинации кнопок для быстрой очистки ввода данных, например, пропал корреспондент во время проведения ЩСО, что нужно нажать чтобы быстро очистить? Обычно это ALT-W в других программах.
3) Табуляция не должна забегать в ячейку передаваемого рапорта и RST, кнопку сохранить. Только позывной -> принятый номер -> принятый локатор.
4) Если данные введены в полях позывной, лок, номер, то по Enter желательно разрешить запись в лог.