|
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
|
|||||||
Хранение настроек приложения в директории программы12.03.2012, 08:44. Показов 6306. Ответов 16
Метки нет (Все метки)
А как сделать, чтобы настройки хранились только в папке программы, а не чёрте где?
0
|
|||||||
| 12.03.2012, 08:44 | |
|
Ответы с готовыми решениями:
16
Хранение настроек программы в файле Хранение настроек программы, варианты |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 12.03.2012, 10:37 | |
|
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 12.03.2012, 10:43 | |
|
taras atavin, в .NET есть готовый класс для хранения настроек приложения, по дефолту он сохраняет файл с настройками в /user/AppData/[Manufacturer]/[Product]/[Version]/user.config.
1
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 12.03.2012, 11:37 | |
Сообщение было отмечено как решение
Решение
nio, можно, но только реализовав свой SettingsProvider, унаследовав его от одноименного класса.
Потом свою реализацию можно прицепить файлу настроек через атрибут [SettingsProvider(typeof(MySettingsProvid er))]
4
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 12.03.2012, 11:49 | |
|
А зачем вообще нужен этот сеттингспровайде? Кто мешает просто скинуть данные в файл?
0
|
|
|
|
|||
| 12.03.2012, 12:00 | |||
Во-первых, чтобы не изобретать велосипед, а пользоваться уже готовым решением, на что уйдет меньше времени. Во-вторых, у "своей" реализации наверняка будет проблемы при многопоточном доступе, или при запуске нескольких экземпляров.
2
|
|||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 12.03.2012, 12:04 | |
|
taras atavin, ну как вам сказать... Зачем на плюсах нужна STL? Что мешает свой вектор реализовать?
То же самое и тут: платформой предлагаются готовые классы, которые можно использовать в своих целях. Ну а делать это или нет - выбор программиста. Хочется возиться с файлами - бога ради, можно и самому в файл скидывать. Ну а провайдер - это лишь еще один уровень абстракции: можно изменить провайдер, который будет хранить данные не в файле, а, скажем, в базе, при этом не меняя абсолютно никакой другой код, где используются настройки. Можно и свои классы писать, но зачем, если есть готовый каркас для архитектуры?
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 12.03.2012, 12:05 | |
|
Готовое учитывает, какие именно настройки тебе нужны? Не верю. А чтоб его допилить, времени уйдёт не меньше, а больше, так как надо всё делать с ноля и при этом ещё тратить время на то, чтоб разобраться с недорешением.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|
| 12.03.2012, 12:09 | |
|
1
|
|
|
|
|
| 12.03.2012, 12:20 | |
|
SettingsProvider довольно логичная штука. Настройки это же не нечто "такое что знаю только я", а представляют собой обычные .net объекты, которые можно сериализовать. Вот он их и сериализует за вас.
0
|
|
|
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
|
||||||
| 12.03.2012, 12:48 [ТС] | ||||||
|
Во блин, Вы тут размазали
Вопрос-то пустяковый, я даж и тему-то создавать не стал.Если кому интересно сделал следующим нехитрым образом:
1
|
||||||
|
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 1
|
||||||
| 15.11.2016, 12:20 | ||||||
|
serg42, добрый день. Класс твой заинтересовал. Я тоже озадачен сохранением настроек. Подскажи пожалуйста как им корректно пользоваться.
Что происходит у меня: да собственно ничего почему то не происходит. Я пробовал протестировать код так:
0
|
||||||
|
31 / 31 / 3
Регистрация: 08.08.2011
Сообщений: 195
|
||||||||||||||||||||||||||
| 19.11.2021, 20:13 | ||||||||||||||||||||||||||
|
Тема древняя, понятное дело. На сегодня можно найти с десяток разных провайдеров. И да, я импонирую serg42 который не постремался таки дать в 2012 году ответ на тему:
Во блин, Вы тут размазали... вместо троттлинга. И соль в том, что даже не в этом суть, хотя его ответ реально перечеркнул троллинг и подтвердил принцип взаимоуважительного общения на форуме, основанного на взаимопомощи. Человек предоставил ответ. У меня же вопрос: Кто ни будь может на сегодня дать нормально работающий вариант
Лично я бы был не против возродить данную тему и довести её до логического финала. Вне всякого сомнения - программно всё решается и работает. Притянуть данный вопрос к GUI студии насколько сложно? Дабы не быть голословным, вот (правда в VB.NET) доработанный вариант типа
0
|
||||||||||||||||||||||||||
|
31 / 31 / 3
Регистрация: 08.08.2011
Сообщений: 195
|
|
| 20.11.2021, 00:32 | |
|
Для наглядности прикрепляю два проекта на VB и C#
Единственное - там есть кое какие, можно сказать не самые существенные, изменения в классах...
0
|
|
|
31 / 31 / 3
Регистрация: 08.08.2011
Сообщений: 195
|
||
| 20.11.2021, 01:30 | ||
|
Добавлено через 42 секунды
Вода утекла. Там + на хэше нынче дела крутятся. (не в обиду, времени действительно утекло добуя) И, кроме того, даже если сейчас заморочиться более толковыми решениями с поиском текущего user.config для Application то для DLL со своими настройками это представляет то ещё нахлобучивание шапки... Как по мне - эта универсальность и поддержка Update от Microsoft слишком уж школьная программа. За своими настройками следует следить самому программеру, а не пытаться натянуть универсальное на всевозможное. Тем более, что программер сам может создать требуемую инфраструктуру для обновления версий своих Settings-ов в XML. А так - получилось, честно говоря, не то чтобы шикарно. Ни по интерфейсам, ни по наследованию... Добавлено через 12 минут Я понимаю стремление исключить проблемы с доступом юзеру туда, куда ему не светит. Понимаю поддержку версионности файлов конфигураций. Но нифига не понимаю отсутствие возможности юзеру влиять на метод сохранения (уж коли идём методом упрощения) файлов туда, куда желается. Подход типа - не устраивает тогда пиши свой провайдер как минимум странен. То есть потрать на разбор чужого кода ещё день, другой, хотя спроси меня через пять лет - я и не вспомню, о чём я разбирался с SettingsProvider. Потому как это буквально должно было быть шаговым выбором - так или так. А не заморочка на пустом месте. И да, плюс ещё проблема с GUI... Добавлено через 11 минут Почему не сохранение в нужное место или в MemoryStream с выбором XML или Binary а там уже разберёмся в БД лить или ещё как... Странно... Усложняем в очевидных местах, и пытаемся упростить на действительно интересных, пусть и сложных, но зато реально полезных для личного развития местах... Я, если честно, ковыряясь в этом нагромождении, параллельно вспомнил потоки из ZX-Spectrum - где любой поток можно было перенаправить в конечное устройство, будь оно средством ввода, вывода или просто захламления памяти... Что то там из RST10 и схожего... Добавлено через 14 минут Но разница в том, что у Sincler-а подход расширял возможности скромного ПК, здесь же реализация создаёт лишь реальные трудности и неизбежный повторный код, захламляющий диск и оперативную память, ради следования на пустом месте пусть и правильных правил наследования... А проще никак? Или религия не позволяет?
0
|
||
| 20.11.2021, 01:30 | |
|
Помогаю со студенческими работами здесь
17
Хранение настроек программы в отдельном файле Хранение настроек программы для нескольких проектов Сериализация или парсить xml? (хранение настроек приложения) Хранение настроек программы Хранение нескольких вариантов (профилей) настроек программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|