Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
антон_   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-30887
rank
2002-05-26 04:01
2002.06.10
Сортировка в AdvStringgrid


1-30871
Fissher
2002-05-29 17:04
2002.06.10
Чтение из ini - файла


3-30676
ВоВ
2002-05-17 07:41
2002.06.10
Открыть файл DBase


3-30734
AndrewK
2002-05-16 13:10
2002.06.10
CrystalReport


1-30794
matvey
2002-05-30 13:37
2002.06.10
MDI Child форма





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский