![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение свойств приложения [D6]
remlin © (2005-11-25 17:23:00)Здравствуйте.
Хотелось бы узнать, как сохранять значения свойств приложения. Т.е., например у нас есть приложение, в нем пункт меню Инструменты -> Настройка. На форме настройка изменяем какие-то настройки, допустим точность цифр, шрифт, цвет, и т.д. (в зависимости от назначения приложения).
То, что значения можно сохранить в реестре - это понятно.
А в динамич. режиме как узнавать значения свойств - обращаясь к компонентам или создавать глобальные переменные.
Есть ли какие нибудь общие правила программирования этого, или как это сделано у вас.
Спасибо.
vertal (2005-11-26 00:55:00) [1]Посмотри мой TOptionsDialog в кладовке ( http://kladovka.net.ru), там как раз этот реализовано + автоматическая генерация самой формы настроек. Хотя и не совсем по науке - данные после OK пишутся (или пытаются писаться) сразу в исходные объекты, а должны были бы сначала проверяться, но в ряде случаев это допустимо.
Digitman (2005-11-25 17:36:00) [2]
> Есть ли какие нибудь общие правила программирования этого
таковые вряд ли можно обозначить.
кто-то хранит состояние настроек (заметь - именно настроек, а не "свойств приложения", это разные по сути вещи) в реестре, кто-то в ini-файле, кто-то - в некоем бинарном файле собственного формата, кто-то - в бин.файле, генерируемом встроенной в Делфи стриминг-подсистемой, кто-то - в compound storage файлах ...
все зависит от конкретностей возможностей/применения того или иного технологического решения ...
например, небезызвестный продукт IBExpert хранит свои настройки в compound storage файле
Eraser (2005-11-25 17:33:00) [3]
> remlin (25.11.05 17:23)
> А в динамич. режиме как узнавать значения свойств - обращаясь
> к компонентам или создавать глобальные переменные.
> Есть ли какие нибудь общие правила программирования этого,
> или как это сделано у вас.
В зависимости от ситуации, но лучше брать из реестра, а точнее из функции, которая возвращает определённую опцию.
Объявление такой ф-ии может выглядеть так
function optGetOption(AOption: integer): variant;, где AOption - индекс/индетификатор, нужной опции. При этом различные опции могут храниться в различных "хранилищах", например в реестре, или ini-файле, или же в xml, для вызывающего ф-ю разницы нету.