Поправил - теперь config.ini ищется (и пишется) исключительно в каталог с программой.
Все сделано, раньше подгрузка была некорректно реализована.2) При открытии профайла не обновляется экран программы. Т.е. назначенные в открытом профайле комбинации никак на интерфейсе не видны (показывается содержимое предыдущего профиля). Приходится через меню, ручками делать рефреш. Сделай плиз автоматический вызов функции рефреша сразу после выбора нового профайла.
Воистину, старые хвосты - это как камень на шею. Вон USSR_Rik вчера мне много чего успел по поводу багов выдать.
Вообще-то вывод в заголовок пути и имени профиля еще в 1.0.0.50 был сделан. См. скриншот из программы от USSR_Rik
http://forum.lockon.ru/attachment.ph...0&d=1171813345
В заголовке окна явственно видна надпись "SV Mapper - D:\1C\SVMapper\LO_FC.svm"
У меня тоже надпись подобная выводится. С поправкой на то, что путь другой к профилю. Может быть, как-то подробней можно описать возникающую ситуацию с невыводом в заголовок имени профиля?
Пока что мне удобней именовать секции в формате [{ProdGUID},{InstanceGUID},ProductName<\subsection>]
То, что так в одном месте менять придется - это я обдумывал, но пока что так сделать было легче.
А так - я просто невооруженным взглядом вижу навязчивую мысль сделать именно так, чтобы номера джойстиков фигурировали в профиле
Также могу отметить, что автоматическую замену с Replace All вроде бы никто не отменял, разве нет? С данной функцией при редактировании профиля не составит разницы - в одном месте поправить или в пяти десятках.
Вообще редактирование профиля вручную, согласись, это работа опциональная, разовая, не требующая каждодневных усилий на этой почве.
Отмечу также, что задачи разработки удобного для ручного редактирования формата файла и просто формата файла для сохранения конкретных данных несколько различны по своей постановке.
Не вдаваясь в подробности - проще отдать указатель на структуру в памяти и сказать, сколько байт писать в файл, начиная с этого места, и потом в обратную сторону - аналогично - читаем в память с такого-то места из файла, начиная с такой-то позиции столько-то байт. А синтаксический разбор значений, с попутной проверкой, есть ли они вообще файле или отсутствуют напрочь - уже совсем другое дело.
Что проще реализовать? Конечно, первый вариант.
О размере файла... Конечно, кощунственно прозвучит, но в эру гигабайтных винчестеров, разница - 5 кб или 30 кб не видна. И то и другое займет ничтожную величину от общего дискового объема.
Можно, конечно, говорить о программистском заговоре - они навязчиво заставляют покупать винты чудовищных объемов, хотя можно обойтись и меньшим
В конечном счете размер файла при указанных характерных объемах - совсем не решающий аргумент в пользу выбора формата именования секций.
Конечно, было бы удобней
Стало быть, клавиатурный контроллер конкретно твоей клавиатуры выдает скан-код NumDel в ответ на нажатие. Сканд-код клавиши Delete в десятичной системе счисления равен 211.Сообщение от Aim
Из DX SDK: DIK_DELETE = 0xD3.
Соответствующая этому коду строковая константа в программе - просто 'Del'.
Соответственно, как получается NumDel - я не в курсе.
Если это слово прописывает непосредственно та игра, для которой мапятся кнопки после нажатия кнопки джойстика при включенном маппере, стало быть игра обрабатывает поток ввода с клавиатуры несколько иначе - возможно, используя манипуляции с MapVirtualKey(..,..)
Проверь, какой скан-код кнопки мапится в SV Mapper'е, посмотрев в ini-файл профиля.
Должно быть OnDown = 211.
-
По итогам - перевесил 1.0.0.57 с небольшой кучкой исправлений по пунктам сообщений Oleg_BS.