|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
YuRock fraks А можно примерчик такой полезной многоуровневости? MyProgram-Forms-Form1-Bounds MyProgram-Forms-Form1-Filter- MyProgram-Reports-Report1-SelectedPOSes MyProgram-Reports-Report1-Period ... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Шаблоны отчетов у меня хранятся в базе, некоторые настройки из диалога перед печатью я храню в ini. Имя секции при это формируется как Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 14:18 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
mayton YuRock пропущено... Пример. При установке Firebird пишет в LOCAL_MACHINE папку установки. А я пе оттуда читаю, чтобы пути узнать. Вот и обмен. Так это не обмен . Это просто использование известной переменной . Так и в системах где нет реестра тоже никто не запрещает а даже рекомендует читать переменные os env : ORACLE_HOME, ORACLE_SID, JAVA_HOME ... LD_LIBRARYPATH ..e.t.c Обмен это когда есть протокол типа unix socket между двумая процессами. И они ведут диалог. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 15:52 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Basil A. Sidorov Не FB, а instreg. Ещё точнее - инсталлятор. И пишет в ветку, предназначенную для инсталляторов чтобы система могла показать список установленных программ. Он пишет в HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server Это не та ветка, с которой система показывает список установленных программ. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 15:54 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Код: sql 1.
Еще у меня у каждого поса - признак активности выбранного (стоит галочка) - очень удобно. И потому каждый пос - тоже группа. И еще забыл добавить MyProgram-Instance (а дальше всё так). Это тоже есть. Да, и эти настройки - под каждого юзера базы (а не только винды), конечно. И кроме отчетов еще куча всего, что сохраняется многоуровнево. Да вот пару реальных примеров из моего реестра HKEY_CURRENT_USER\SOFTWARE\MPos\Emulator\Instance0\Dispenser\10 HKEY_CURRENT_USER\SOFTWARE\MPos\Forms\frmArticlesReport_user_1001 HKEY_CURRENT_USER\SOFTWARE\MPos\Print\ChangeClosePeriod\TerminalsSummary\Terminals\Terminal_0 (несколько терминалов, в каждом по 3 параметра) HKEY_CURRENT_USER\SOFTWARE\MPos\Print\ChangeTextOnCheck\TerminalsSummary\Terminals\Terminal_1 А многоуровневость в ini - это издевательство над собой. Тогда уж стоит xml/json взять, если файл хочется. fraks некоторые настройки из диалога перед печатью я храню в ini Вот я как раз выше привёл примеры "некоторых" настроек. Этот ini придется хранить в Users\LocalData. Можно так, конечно, если многоуровневость не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 16:05 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Значение должно быть атомарным. Глаза потекут кровью если мы попробуем впихивать туда коллекции. Нужно гуманно относится к людям которые когда-то будут читать этот конфиг в попытке решить какую-то техническую проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 17:59 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
mayton Значение должно быть атомарным. Глаза потекут кровью если мы попробуем впихивать туда коллекции. Нужно гуманно относится к людям которые когда-то будут читать этот конфиг в попытке решить какую-то техническую проблему. Программа их читает и пишет отлично. Да и в регэдите всё это выглядит нормально и понятно, структурировано. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 19:05 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
YuRock fraks Код: sql 1.
Еще у меня у каждого поса - признак активности выбранного (стоит галочка) - очень удобно. И потому каждый пос - тоже группа. Я не знаю что такое у тебя SelectedPOSes, значение подставил от балды. У меня есть такая настройка, сохраняемая в ini список колонок в гриде, их ширина и значtние Visible. Visible задается знаком минус. Параметр CDS.Width Выглядит так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Читается из настроек вот так: Код: pascal 1. 2. 3. 4.
Сохраняется вот так: Код: pascal 1. 2. 3. 4.
YuRock И еще забыл добавить MyProgram-Instance (а дальше всё так). Это тоже есть. Да, и эти настройки - под каждого юзера базы (а не только винды), конечно. Хм... у меня и инстанс и юзер - решаются просто - в каждом случае это отдельная папка с exe + ini. Больше ничего не нужно выдумывать. YuRock И кроме отчетов еще куча всего, что сохраняется многоуровнево. В приведенном примере я не увидел ни одного случая где все бы не укладывалось в 2 уровня, имеющихся в ini-файле. Нет, можно конечно, из любви к искусству, нагородить N-мерную вложенность, но реальной необходимости я не встречал, и в этом топике примеров таких не видел. YuRock А многоуровневость в ini - это издевательство над собой. Тогда уж стоит xml/json взять, если файл хочется. fraks некоторые настройки из диалога перед печатью я храню в ini Вот я как раз выше привёл примеры "некоторых" настроек. Этот ini придется хранить в Users\LocalData. Можно так, конечно, если многоуровневость не нужна. Я просил привести пример где необходима многоуровневость. Пока-что не увидел. Часть приведенных примеров, без пояснений, непонятна, что там и зачем. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 20:08 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
YuRock И еще забыл добавить MyProgram-Instance (а дальше всё так). Это тоже есть. Да, и эти настройки - под каждого юзера базы (а не только винды), конечно. У меня родилось подозрение что мы про разные вещи говорим. Я - про настройки клиента. Ты, кажется, про настройки некоего сервера. Откуда иначе "под каждого юзера базы". Я бы такие настройки сервера хранил именно в базе, а не где-то вовне. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 20:17 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Читается из настроек вот так: Только еще положение колонки (номер), выравнивание текста и т.д. fraks Хм... у меня и инстанс и юзер - решаются просто - в каждом случае это отдельная папка с exe + ini. Больше ничего не нужно выдумывать. Нужно, если на папку нет прав за запись, не говоря о Program Files и UAC. fraks В приведенном примере я не увидел ни одного случая где все бы не укладывалось в 2 уровня, имеющихся в ini-файле. Нет, можно конечно, из любви к искусству, нагородить N-мерную вложенность, но реальной необходимости я не встречал, и в этом топике примеров таких не видел. Я как бы не отрицаю, что эти уровни можно в ини запихнуть. Ну так можно и вообще в один уровень - key-value - любое кол-во уровней запихнуть. И что? Это означает, что так и надо делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 21:28 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks YuRock И еще забыл добавить MyProgram-Instance (а дальше всё так). Это тоже есть. Да, и эти настройки - под каждого юзера базы (а не только винды), конечно. У меня родилось подозрение что мы про разные вещи говорим. Я - про настройки клиента. Ты, кажется, про настройки некоего сервера. Откуда иначе "под каждого юзера базы". Из одной папки работают несколько (от одного до 1000 пока) пользователей винды через rdp. Кроме того, один и тот же пользователь винды может логиниться в программу под разными пользователями программы (там свои пользователи, далеко не всегда жестко привязанные к виндовому аккаунту). Т.е. нужен и CURRENT_USER, и еще мой дополнительный UserId в моей базе. fraks Я бы такие настройки сервера хранил именно в базе, а не где-то вовне. Я все настройки, касающиеся базы (и не только, вообще почти все настройки, кроме мусора типа ширины колонок, все маломальски важные настройки) храню в базе (стараюсь). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2021, 21:33 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
YuRock fraks Читается из настроек вот так: Только еще положение колонки (номер), выравнивание текста и т.д. Я когда-то заморачивался таким, в итоге выяснилось что кроме ширины и видимости колонок больше хранить в настройках пользователя особо нечего. Ну если только еще порядок колонок. У меня есть программка выполняющая sql-запросы и складывающая результат в буфер вот по моей технологии CDS. И есть интерфейс порулить всеми настройками. Наруливаю как мне надо, в итоге генерится файлики в формате ini и pas. ini - это так и невосстребованный атавизм, а pas я просто вставляю в код формы. Хотя нет, этот ini в реальной жизни невосстребован, но вот именно в этой программке подготовки запросов - он и используется. Запросы хранятся в папках, одна папка - один запрос. Там файлы sql с версиями запроса, и этот ini и pas .ini читается и потом записывается, а .pas просто записывается. Fields.ini Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Fields.pas Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
YuRock fraks Хм... у меня и инстанс и юзер - решаются просто - в каждом случае это отдельная папка с exe + ini. Больше ничего не нужно выдумывать. Нужно, если на папку нет прав за запись, не говоря о Program Files и UAC. Я не настоящий сварщик, пишу очень по-старинке, но если права ограничены по максимуму, но наверняка винда где-то в профиле пользователя дает писАть в папку для хранения данных приложения. YuRock fraks В приведенном примере я не увидел ни одного случая где все бы не укладывалось в 2 уровня, имеющихся в ini-файле. Нет, можно конечно, из любви к искусству, нагородить N-мерную вложенность, но реальной необходимости я не встречал, и в этом топике примеров таких не видел. Ну, тут случай, ИМХО несколько нетипичный, когда программа из одного места запускается тысячей пользователей. YuRock Я как бы не отрицаю, что эти уровни можно в ини запихнуть. Ну так можно и вообще в один уровень - key-value - любое кол-во уровней запихнуть. И что? Это означает, что так и надо делать? По большому счету, всё хранение настроек к этому и сводится: key-value Вопрос только c уникальностью этого key. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 04:30 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Ну, тут случай, ИМХО несколько нетипичный, когда программа из одного места запускается тысячей пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 04:55 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov fraks Ну, тут случай, ИМХО несколько нетипичный, когда программа из одного места запускается тысячей пользователей. В методе хранения настроек. То что прокатывает в простых случаях - тут не прокатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:06 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Basil A. Sidorov пропущено... Даже если отринуть RDP, то в чём нетипичность запуска программы из сетевого ресурса? В методе хранения настроек. То что прокатывает в простых случаях - тут не прокатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:28 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Я когда-то заморачивался таким, в итоге выяснилось что кроме ширины и видимости колонок больше хранить в настройках пользователя особо нечего. То есть как минимум фильтры не хранятся, фиксированные колонки не хранятся и группировки не хранятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:45 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
softwarer fraks Я когда-то заморачивался таким, в итоге выяснилось что кроме ширины и видимости колонок больше хранить в настройках пользователя особо нечего. То есть как минимум фильтры не хранятся, фиксированные колонки не хранятся и группировки не хранятся. Фильтры - это не свойства грида. Хранятся. Фиксированных колонок у меня нет.Если будут - вообще не вопрос закинуть это в ini, если потребуется. Но не вижу в этом смысла. Группировки в гриде - нет. Если что-то нужно сгруппировать - это делается запросом, результат - плоская таблица. Я в какой-то степени исповедую минимализм, в т.ч. и в интерфейсе. Дерево - только если без него не обойтись. В 99,5% случаев превосходно обхожусь без дерева. Видимо из этого же проихрастает удовлетворенность ini-структурой :) Из того же минимализма - моноширинный шрифт и форматирование пробелами. В 99% этого совершенно достаточно. Пропорциональные шрифты экономят место но для форматирования требуют всяких задурений. Сделал себе программку для преобразования табличных даннных во всякие wiki-форматы, и во многих случаях тупо текстовая табличка - очень удобна, для вставки в тот же redmine. Можно форматнуть и в виде таблицы redmine но как правило это выглядит довольно нелепо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 05:59 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Из того же минимализма - моноширинный шрифт и форматирование пробелами. В 99% этого совершенно достаточно. Странно, что это всё не под MS-DOS. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 06:01 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
softwarer fraks Из того же минимализма - моноширинный шрифт и форматирование пробелами. В 99% этого совершенно достаточно. Странно, что это всё не под MS-DOS. Ну, дос - это далекое прошлое со своими принципиальными болячками. Я под него толком и не писАл. Только фокс-про начал тогда осваивать, но там прямой связи с самим досом и не было. До доса я писал для Э-60 и ДВК, под RT-11, на фортране и макроассемблере. Однако, общаясь сегодня с разными линухами иногда возникает ощущение что текстовый интерфейс в консоли бывает очень ОK даже сегодня, а написание графического оконного интерфейса вместо текстового, некоторые утилиты тупо портит. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 06:11 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks Я не настоящий сварщик, пишу очень по-старинке, но если права ограничены по максимуму, но наверняка винда где-то в профиле пользователя дает писАть в папку для хранения данных приложения. Ну так вот эта папка будет одна для всех твоих папок-инстансов. Можно, конечно, эти папки-инстансы с приложениями положить туда для каждой учетки винды. Ну это совсем уж так себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:11 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks В методе хранения настроек. То что прокатывает в простых случаях - тут не прокатывает. А если может, то в примитивно-тупом случае будут проблемы с перезаписью разными пользователям настроек друг друга. Даже без всякого RDP, а просто при последовательной работе в разных учётных записях (switch user и прочий logon/logoff). В чём, простите, принципиальная разница с запуском из сетевого ресурса или на RDP-сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:16 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks иногда возникает ощущение что текстовый интерфейс в консоли бывает очень ОK даже сегодня Но моноширинные шрифты тут не при чем, размеры шрифтов автоматически масштабироваться должны уметь на контролах, а моноширинные - они плохо это делают, слишком широкие. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:18 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Если в вашей фирме используется windows и компьютеры пользователей объединены в домен, то идите к администратору домена/техподдержка, который будет через политики (GPO) раскатывать эти ваши нетленки. Он вам должен рассказать очевидные вещи, что система многопользовательская, к чему доступ у пользователя есть, а к чему нет, куда можно класть временные файлы и с какой периодичностью они очищаются, куда сохранять настройки для каждого пользователя, про использование инсталяторов, про ветки реестра и прочие. Там уже и решите, как нужно корректно делать установку, обновления, удаления .. и.т.д. В конечном итоге вашими "нетленками" заниматься ему и срач от пользователей выслушать тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:45 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Разместили программу, как и положено, в %ProgramFiles% и простой пользователь ничего не может туда записывать. Я не размещаю свою программу в %ProgramFiles%. Basil A. Sidorov А если может, то в примитивно-тупом случае будут проблемы с перезаписью разными пользователям настроек друг друга. Даже без всякого RDP, а просто при последовательной работе в разных учётных записях (switch user и прочий logon/logoff). У нас не на терминал-сервере, все остальные компы являются персональными. Реально, кроме админских учеток, там только одна - того человека который на нем работает. Нет вопроса с перезаписью настроек. Если нужно работать с другой базой - просто копируем папку программы, правим там DB.ini со строкой коннекта и работаем отдельно. Если нужно работать с этой же базой но с отдельными настройками - копируем папку программы, и у нее получается собственный ini с настройками. В папке с программой находится: Код: pascal 1. 2. 3. 4.
Поэтому, создать копию папки с программой - ваще не вопрос. Остальное - на сервере в базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 08:59 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
Bsplesk Если в вашей фирме используется windows и компьютеры пользователей объединены в домен, то идите к администратору домена/техподдержка, который будет через политики (GPO) раскатывать эти ваши нетленки. Он вам должен рассказать очевидные вещи, что система многопользовательская, к чему доступ у пользователя есть, а к чему нет, куда можно класть временные файлы и с какой периодичностью они очищаются, куда сохранять настройки для каждого пользователя, про использование инсталяторов, про ветки реестра и прочие. Там уже и решите, как нужно корректно делать установку, обновления, удаления .. и.т.д. В конечном итоге вашими "нетленками" заниматься ему и срач от пользователей выслушать тоже. Это все может быть имеет смысл для продаваемых коробочно программ, но для программы написанной для внутреннего использования - заморачиваться всем этим не имеет никакого смысла. Никаких доменов у нас нет и не планируется. С любыми вопросами по моей нетленке, админ сразу направляет ко мне. Поэтому я в курсе всех таких вопросов. Проблем связанных с размещением настроек в ini рядом с exe - ровно 0%. В моем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 09:03 |
|
Где хранит конфиги современный десктоп?
|
|||
---|---|---|---|
#18+
fraks У нас не на терминал-сервере, все остальные компы являются персональными. ... Поэтому, создать копию папки с программой - ваще не вопрос. Лично мне, например, хочется прибить гугл за создание копий его треклятого хрома в профилях пользователей. Вот реально - гигабайты и десятки гигабайт, если "админы не досмотрели". По факту же есть пользовательские настройки и настройки по умолчанию (могут включать ограничения пользовательских настроек). За настройки по умолчанию отвечает тот, кто создаёт рабочую среду. Персональный компьютер у каждого пользователя или "общий" - это вообще без разницы. Будут настройки пользователя содержать полную копию настроек (с учётом ограничений) или только то, что отличается от настроек по умолчанию - дело третье. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2021, 09:12 |
|
|
start [/forum/topic.php?fid=16&msg=40096217&tid=1339631]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 263ms |
0 / 0 |