![]() |
|
![]() ![]() ![]() |
|
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
Как правильно реализовать хранение пользовательских настроек приложения. такие как размеры окон положения кнопок, выбранные фильтры и и другие мелочи полезные пользователю.
В каком формате и если есть компоненты для хранения подскажите плизз |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Ini File
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
говорят Ini прошлый век. может есть еще какие варианты кроме INI ???
просто хочется рассмотреть все варианты и выбрать лучший |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Нагло врут!
![]() -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Ну еще XML
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
XML хорошо, поскольку позволяет хранить удобно древовидные структуры данных, юникодные строки и т.д. , но есть у него один минус - не умеет хранить массивы. С этой точки зрения лучше формат JSON . Он более современный, позволяет хранить не только древовидные структуры, но и массивы, и массивы объектов, но тоже имеет один недостаток - у него юникодные строки хранятся в нечитабельном для блокнота виде.
У билдера есть встроенные классы для работы с JSON, впрочем и MSXML тоже поддерживается. Если деревья не нужны, а уровень вложенности простой, то ini, почему нет. Возможно, его считали несовременным, потому что раньше его принято было хранить в папке с программой, в этом случае он был общим для всех пользователей. Но ведь ничего не мешает разместить его в пользовательской директории APPDATA . -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
VasRip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
ну ясно спс БОЛЬШОЕ
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
А ну да, еще Ini файлы по спецификации не поддерживают юникод. Если и можно работать в юникоде, то специальными библиотеками, выходящими за рамки спецификации.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
А где лучше хранить ini-файлы? Было бы не плохо положить рядом с исполняемым файлом, но ведь исполняемый файл может оказаться в папке куда у него не будет прав на запись... И как проверить, что файл вообще создан, если пользоваться встроенным в билдер классом TIniFile?
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
||||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Но всё-таки есть ли возможность что-нибудь записать в файл, который будет лежать рядом с исполняемым, где-нибудь в program files?
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Ну так попробуй
![]() |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Дык попробовал, не выходит ничего
![]() ![]() -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Код покажи
|
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 3 Всего: 85 |
Чтобы писать реально в ProgramFiles/*.* нужно запускать программу с правами админа. Для старых программ вин7 перенаправляет запись в какой-то из каталогов пользователя (точно не помню). Так что искать этот ини файл, в ProgramFiles не нужно. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Не знаю как у тебя, но у меня в Ini файле хранятся юникодные строки, и пользуюсь обычным TIniFile !!!! -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
volatile, у меня в ProgramFiles в семёрке в каталоге оперы валяются какие-то логи. Значит ли это, что всё-таки можно исхитрится и записать что-нибудь в ProgramFiles без админских прав? На самом деле мне не ini файл нужно сохранять, а результаты калибровки прибора (по сути просто текстовый файл с цифрами) и как-то не логично их хранить где-то отдельно. Но похоже другого выхода нет.
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Почти. Вот на wiki есть статья по этому поводу |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 3 Всего: 85 |
Скорей всего это логи инсталятора, который всегда запускаецца с админ правами. Опера врядли будет туда писать. Добавлено через 7 минут и 18 секунд Вообще по идеологии M$, в ProgramFiles обычная программа не должна ничего писать. Если нужно что-то общее для всех, то есть соответствующий каталог "\Users\All Users\" или что-то типо того. Добавлено через 13 минут и 9 секунд есть переменная окружения ALLUSERSPROFILE |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Да нет, это логи краша Java-машины
![]() В общем картина вцелом ясна, нужно забить на порочную практику писать куда хочешь и что хочешь ![]() -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
VasRip |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 16.9.2006 Где: РоссийскаяХохлянд ия Репутация: нет Всего: нет |
ну первое это права админа) а второе не вижу не каких проблем писать рядом с исполнимым файлом
пишу
читаю
Единственная проблема это права админа. |
||||
|
|||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 3 Всего: 85 |
1.
а никто и не говорил что там какие-то проблемы, кроме прав админа. 2. Вы пишете не в каталог программы, а в текущую директорию. То что они у вас по случаю совпадают, не означает что так будет всегда. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Все верно, а иногда current dir может выдавать хитрый путь куда либо !!! -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |