Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: Peter, DEMBEL, YURIY  
Грамотное хранение настроек в ini файле
PeterДата: Пт, 15 Июня 2012, 21:18 | Сообщение # 31
Админ NeoBook
Quote (Developer)
Существует ли на форуме готовый пример функции написанная на нб?

Из этой же темы (сообщение 25):
Quote (Peter)
Developer, между прочим, я не просто так упомянул ещё во втором сообщении про функию SaveVars, которая лишена недостатка SaveVariables, и сохраняет только те переменные, которые нужны (указаны).
Но, увы, похоже, так и не вошло пока в привычку у народа читать все посты внимательно и до конца, и хотя бы попробовать то, что предлагают (уж далеко не в первый раз замечаю).

Такое ощущение, словно сам с собой разговариваешь... В пустоту все уходит...
На остальное уже даже желания отвечать нет, сорри.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Developer)
Существует ли на форуме готовый пример функции написанная на нб?

Из этой же темы (сообщение 25):
Quote (Peter)
Developer, между прочим, я не просто так упомянул ещё во втором сообщении про функию SaveVars, которая лишена недостатка SaveVariables, и сохраняет только те переменные, которые нужны (указаны).
Но, увы, похоже, так и не вошло пока в привычку у народа читать все посты внимательно и до конца, и хотя бы попробовать то, что предлагают (уж далеко не в первый раз замечаю).

Такое ощущение, словно сам с собой разговариваешь... В пустоту все уходит...
На остальное уже даже желания отвечать нет, сорри.

Автор - Peter
Дата добавления - 15 Июня 2012 в 21:18
mishemДата: Вт, 19 Февраля 2013, 04:25 | Сообщение # 32
Эксперт форума
Цитата (Peter)
Таскать плагин, чтобы один раз загрузить настройки

Блин, сэкономил 300 кб, а время убил. :D

Написал две функции для получения значения из INI файла.
GetListValue_INI_File Читаем список значений. Если файл не существует запишет значение по умолчанию. Список и значения по умолчанию должны указываться в одинаковой последовательности.
Call "GetListValue_INI_File" "[PubDir]INI" "Раздел" "Ключ1$Ключ2$Ключ3" "Значение для ключа1$Для ключа2$Для ключа3" "Разделитель. В данном случае $"

GetValue_INI_File Получить значение ключа и сохранить в указанную переменную.
Прикрепления: GetListValue_IN.zip (0.9 Kb) · GetValue_INI_Fi.zip (0.8 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
Таскать плагин, чтобы один раз загрузить настройки

Блин, сэкономил 300 кб, а время убил. :D

Написал две функции для получения значения из INI файла.
GetListValue_INI_File Читаем список значений. Если файл не существует запишет значение по умолчанию. Список и значения по умолчанию должны указываться в одинаковой последовательности.
Call "GetListValue_INI_File" "[PubDir]INI" "Раздел" "Ключ1$Ключ2$Ключ3" "Значение для ключа1$Для ключа2$Для ключа3" "Разделитель. В данном случае $"

GetValue_INI_File Получить значение ключа и сохранить в указанную переменную.

Автор - mishem
Дата добавления - 19 Февраля 2013 в 04:25
СергейДата: Вт, 19 Февраля 2013, 13:59 | Сообщение # 33
Необукер
Цитата (Developer)
Были бы хоть примеры или статьи,то не было бы вопросов

вводный курс есть, не?!

Добавлено (19 Февраля 2013, 13:53)
---------------------------------------------
Цитата (Developer)
Просто имеется много переменных которых нужно делить по секциям.

В свое время я тоже пытался найти решения загружать переменные по секциям не прибегая к плагинам.
В одном проекте было за действенно 96 основных переменных, но они использовались в разных "действиях".
Всего "действий" было 4. Помню, что экспериментировал в таком направлении.
Построение файла настроек примерно было такое:
Цитата
ACT[cfg]1=cfg1
ACT[cfg]2=cfg2
ACT[cfg]3=cfg3
ACT[db]1=db1
ACT[db]2=db2
ACT[db]3=db3
ACT[user]1=user1
ACT[user]2=user2
ACT[user]3=user3
ACT[docs]1=docs1
ACT[docs]2=docs2
ACT[docs]3=docs3

Секции выступали переменные [cfg],[db],[user]
Перед командой LoadVariables назначал переменной-секции значение и грузил.
Примерный код был такой
Цитата
.назначал секцию
SetVar "[act]" "cfg"
.Объявлял секцию
SetVar "[[act]]" "[act]"
.Удалял предыдущие переменные
DeleteArray "[ACT[lastact]]" "All"
.ну понятно
LoadVariables "[PubDir]param.var"
.Удалял ненужное
DeleteArray "[ACT]" "All"
.Запоминал текущую секцию
SetVar "[lastact]" "[act]"

Рыл в этом направлении, но потом не стало времени, а после и вовсе забыл... :D
Не знаю, поможет ли эта инфа.

Добавлено (19 Февраля 2013, 13:59)
---------------------------------------------



Сообщение отредактировано
Сергей - Вт, 19 Февраля 2013, 13:54
 
Сообщение
Цитата (Developer)
Были бы хоть примеры или статьи,то не было бы вопросов

вводный курс есть, не?!

Добавлено (19 Февраля 2013, 13:53)
---------------------------------------------
Цитата (Developer)
Просто имеется много переменных которых нужно делить по секциям.

В свое время я тоже пытался найти решения загружать переменные по секциям не прибегая к плагинам.
В одном проекте было за действенно 96 основных переменных, но они использовались в разных "действиях".
Всего "действий" было 4. Помню, что экспериментировал в таком направлении.
Построение файла настроек примерно было такое:
Цитата
ACT[cfg]1=cfg1
ACT[cfg]2=cfg2
ACT[cfg]3=cfg3
ACT[db]1=db1
ACT[db]2=db2
ACT[db]3=db3
ACT[user]1=user1
ACT[user]2=user2
ACT[user]3=user3
ACT[docs]1=docs1
ACT[docs]2=docs2
ACT[docs]3=docs3

Секции выступали переменные [cfg],[db],[user]
Перед командой LoadVariables назначал переменной-секции значение и грузил.
Примерный код был такой
Цитата
.назначал секцию
SetVar "[act]" "cfg"
.Объявлял секцию
SetVar "[[act]]" "[act]"
.Удалял предыдущие переменные
DeleteArray "[ACT[lastact]]" "All"
.ну понятно
LoadVariables "[PubDir]param.var"
.Удалял ненужное
DeleteArray "[ACT]" "All"
.Запоминал текущую секцию
SetVar "[lastact]" "[act]"

Рыл в этом направлении, но потом не стало времени, а после и вовсе забыл... :D
Не знаю, поможет ли эта инфа.

Добавлено (19 Февраля 2013, 13:59)
---------------------------------------------


Автор - Сергей
Дата добавления - 19 Февраля 2013 в 13:59
mishemДата: Пт, 22 Февраля 2013, 22:59 | Сообщение # 34
Эксперт форума
Немножко подправил функцию для записи значений в файл.

Добавил возможность выбора перезаписи всего файла или замены значений указанных переменных.
Если раздел не указан а в разных разделах есть одинаковые переменные (ключи) то всем таким переменным будет присвоено одинаковое значение.

Если раздел указан и не существует, он будет создан.

Исправил ошибки. Перезалил.

Могут быть еще ошибки. Не проверял как следует.

Добавлено (22 Февраля 2013, 22:59)
---------------------------------------------
Короче функцию не удаляю, но пользоваться не советую.
Помыкался и плюнул. Лучше плагин использовать.

С функцией очень много засад.
Основная, это то как производится запись и чтение из файла.
В каком то случае перенос строки нужно делать [#13][#10], в каком то [#13], в каком то [#10].
Сидеть и учитывать все эти моменты мне просто надоело.
По мне так лучше добавить 300-500 кб в файл и не забивать себе голову.

Прикрепления: 4278539.zip (1.0 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Пт, 22 Февраля 2013, 10:40
 
СообщениеНемножко подправил функцию для записи значений в файл.

Добавил возможность выбора перезаписи всего файла или замены значений указанных переменных.
Если раздел не указан а в разных разделах есть одинаковые переменные (ключи) то всем таким переменным будет присвоено одинаковое значение.

Если раздел указан и не существует, он будет создан.

Исправил ошибки. Перезалил.

Могут быть еще ошибки. Не проверял как следует.

Добавлено (22 Февраля 2013, 22:59)
---------------------------------------------
Короче функцию не удаляю, но пользоваться не советую.
Помыкался и плюнул. Лучше плагин использовать.

С функцией очень много засад.
Основная, это то как производится запись и чтение из файла.
В каком то случае перенос строки нужно делать [#13][#10], в каком то [#13], в каком то [#10].
Сидеть и учитывать все эти моменты мне просто надоело.
По мне так лучше добавить 300-500 кб в файл и не забивать себе голову.


Автор - mishem
Дата добавления - 22 Февраля 2013 в 22:59
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: