Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

не знаю, как сделатью Очень нужна помощь.   Найти похожие ветки 

 
антон_   (2002-05-07 21:55) [0]

Есть компонент для работы с переменными в реестре, но у меня никак не получается сделать так, чтобы значения переменных обновлялись всякий раз при обращении к ним (в RunTime) (функция LoadValues). Подскажите, куда и в каком виде её вставить. Буду очень признателен, а то очень срочно надо. Сейчас переменные читаются только при запуске программы с данным компонентом и записываются только при закрытии программы. Хотелось бы всегда иметь в RunTime иметь возможноть редактировать значения переменных.

К сожалению код компонента не убирается в 5000 символов и я не могу разместить его здесь, но могу выслать на email. Размер кода - около 15kb.


Описание:TRegValues version 1.1

Данный компонент предназначен для удобного хранения переменных, используемых в программе, в системном реестре Windows. Все переменные автоматически считываются из реестра и также автоматически записываются обратно в момент закрытия программы.
Как им пользоваться?

Во первых положите компонент TRegValues на вашу главную форму, так как она создается раньше других и следовательно переменные будут считаны раньше. Что бы добавить переменные выберите свойство Items. Редактор свойств подобен редакторам обьектов типа TCollection (не буду обьяснять как ним работать). Далее вам надо задать тип переменной. Доступно несколько типов:
· Boolean
· DateTime
· Float
· Integer
· String

В эти пять типов возможно уложить практически все типы доступные в Delphi. TRegValues очень гибкий компонент если использовать его свойство Value, которое имеет тип VARIANT.

Как получить доступ к переменным внутри программы?

Можно использовать несколько вариантов.
1 Доступ по индексу

RegValues1.items[N].Value - где N является позицией переменной в списке

2 Доступ по имени
RegValues1.items.GetByName(ValueName).Value - где ValueName имя переменной

Через эти два типа доступа возможно как получать значение переменной так и записывать.
Пример:
MyVar:=RegValues1.items[0].Value;
MyVar:=MyVar+10;
RegValues1.items[0].Value:=MyVar;

или

MyVar:=RegValues1.items.GetByName("Window X").Value;
MyVar:=MyVar+10;
RegValues1.items.GetByName("Window X").Value:=MyVar;

Имеется и более быстрый доступ.
Для получения значения переменной используйте следующий вид.
MyVar:=RegValues1.Get("Windows X");
Для сохранения значения -
GerValues1.SetV("Window X",MyVar);

Доступ по типу.
Если вам нужно получить или сохранить переменную определенного типа, то вы можете использовать следующие свойства:
AsBoolean
AsString
AsInteger
AsDateTime
AsFloat

Пример:
DateTimePicker1.Date:=RegValues1.items[1].AsDateTime;

-------------------


 
BAHO ©   (2002-05-08 00:30) [1]

Работай с реестром напрямую и забудь этот компонент...(TRegistry)



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-30888
Great DAN
2002-05-29 11:37
2002.06.10
Записи типа RECORD


8-30924
Nimda
2002-01-26 17:39
2002.06.10
---|Ветка была без названия|---


6-30936
Andrews
2002-03-27 15:40
2002.06.10
Не могу открыть файл на чтение, из сетевой папки Read Only


6-30954
Shaman_
2002-04-02 00:26
2002.06.10
Прохождение авторизации на NT сервере


1-30870
dimich
2002-05-29 16:26
2002.06.10
ImageList...