Что нового

Настройки программы

[email protected]@f

Новичок
Сообщения
44
Репутация
2
Как сохранить настройки программы в самой программе не прибегая к использованию дополнительных внешних файлов типа *.ini?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 278
Репутация
2 353
http://autoit-script.ru/index.php?topic=480.0
 
Автор
P

[email protected]@f

Новичок
Сообщения
44
Репутация
2
Прочитал я ту тему... но почему всё настолько геморойно? :-X
В нормальных программах(полноценных) есть же раздел(не знаю как граммотно назвать) RDATA(не помню как точно называется), где хранятся все нужные проге ресурсы, иконки там, текстурки, звуки и т.п.
Я конечно понимаю, что скрипты это не полноценные программы, но неужели при таком расхваленном функционале новых версий не предусмотрена возможность внесения в скомпилированный скрипт ресурсных данных? :(
Я конечно :IL_AutoIt_1: но если такого в нём действительно не предусмотрено, то пора бы потормошить разработчиков по-этому поводу...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 278
Репутация
2 353
[email protected]@f [?]
неужели при таком расхваленном функционале новых версий не предусмотрена возможность внесения в скомпилированный скрипт ресурсных данных?
Ресурсы можно добавлять (на стадий компилирования), но когда речь идёт о настройках самого скрипта (GUI в нём к примеру), обычно используются внешние хранилища, типа ini-файла :smile:
 
Автор
P

[email protected]@f

Новичок
Сообщения
44
Репутация
2
Тогда я не знаю как они добавляются, ибо программы могут свои ресурсы юзать когда им заблагорассудится... (в т.ч. и файл настройки)
Да, они могут распаковывать ресурсы во временное хранилище(в тот же темп), но никаких изощрений типа перекомпиляции при этом не происходит ведь. Программа лишь читает/изменяет секцию в себе, которая доступна для редакирования любым ресурсвьювером или даже хекс-редактором. Те же иконки можно безболезненно изменить или битмаповские логосы... да, при этом может происходить пересчет хедеров, црц или чего там еще... но ничего же глобального не происходит... программа просто при загрузке считывает/распаковывает свои ресурсы, если они изменяются, то изменяются в памяти/временном хранилище, а при закрытие программы перезаписываются в её секции и всё.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
[email protected]@f сказал(а):
Тогда я не знаю как они добавляются, ибо программы могут свои ресурсы юзать когда им заблагорассудится... (в т.ч. и файл настройки)
Да, они могут распаковывать ресурсы во временное хранилище(в тот же темп), но никаких изощрений типа перекомпиляции при этом не происходит ведь. Программа лишь читает/изменяет секцию в себе, которая доступна для редакирования любым ресурсвьювером или даже хекс-редактором. Те же иконки можно безболезненно изменить или битмаповские логосы... да, при этом может происходить пересчет хедеров, црц или чего там еще... но ничего же глобального не происходит... программа просто при загрузке считывает/распаковывает свои ресурсы, если они изменяются, то изменяются в памяти/временном хранилище, а при закрытие программы перезаписываются в её секции и всё.
Никакие программы не могу изменять свои ресурсы, хотя бы в силу того, что к этому файлу не будет доступа. Все ресурсы добавляются на стадии компилиования и больше не меняются, исключением являются лишь разные редакторы ресурсов. Более того, исполняемые файлы могут иметь компрессию для защиты ресурсов от изменения. Ресурсы - это не настройки. Все настройки хранятся либо в отдельном файле, либо в реестре, другого еще не придумали. Я советую тебе почитать о ресурсах здесь.
 

TheBloodTear

Знающий
Сообщения
36
Репутация
9
Не полностью вникал в тему, но по собственному опыту могу согласится с Yashied'ом:

Самое удобное место для хранения настроек ;).. Используя локальную ветку, настройки будут хранится для всех учетных записей, ну в юзерах наоборот :smile:.. Если следует запускать программку потом на другом пк, то импорт в reg-файл и вперед:smile:.. Я думаю нет больший проблем в этом:smile:..

А для встраивания именно файлов, я использую FileInstall с условиями ;)..
 
Верх