Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение свойств приложения [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, для вызывающего ф-ю разницы нету.


Наверх

Титульная страница Поиск, карта сайта Написать письмо