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

Вниз

Работа с реестром Windows   Найти похожие ветки 

 
Эдуард   (2003-06-10 05:05) [0]

Доброго времени суток!
Кусок программы выглядит так:
Reg:=TRegistry.Create; Reg.RootKey:=HKEY_CURRENT_USER;
try
{сначала пытаюсь узнать, а есть ли данный путь в реестре}
if not Reg.OpenKey("Software\PROG1\Ver 1.0\",false)
then
begin
{если нет, то я его создаю. именно так я сделал за тем, чтобы
в последствии, в программе, знать был указанный путь или нет}
WasPathExists:=false;
Reg.CloseKey; Reg.OpenKey("Software\RSTL-Soft\Ver 1.0\",true);
end;
if Reg.KeyExists("Value1")
then Value1:=Reg.ReadInteger("Value1")
else Reg.WriteInteger("Value1",Value1);
{если ключа "Value1" по вышеуказанному пути нет, то он создается и в его записывается значение по умолчанию. если ключ есть, то с него читается значение}
...

В разделе "Software\RSTL-Soft\Ver 1.0\" , кроме переменных (ключей)есть еще подразделы (это так, для справки).

Проблема в том, что независимо от того, существует ключ "Value1" или нет, функция Reg.KeyExists("Value1") всегда возвращает False.

В чем здесь может быть дело?

/Программу делаю на Delphi 6, ОС - WinXP/


 
Spawn ©   (2003-06-10 06:36) [1]

KeyExists проверяет наличие ключа в реестре, а тебе, видимо нужно проверять значение ключа через ValueExists. То есть твой код неработоспособный - в начале ты проверяешь наличие ключа, а потом, в зависимости от результата, записываешь значение ключа в уже открытый тобою ключ ("Software\RSTL-Soft\Ver 1.0\"). Если же тебе необходимо записывать значения в тот ключь, то сначала создай его.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-81763
GrBob
2003-08-15 12:19
2003.08.25
Form1.Canvas.Draw


14-81871
SPIRIT
2003-08-08 16:01
2003.08.25
как сделать полоску формы (где Caption) побольше


8-81845
BBCHa
2003-04-26 11:18
2003.08.25
Звук через SaundBlaster


14-81938
McSimm
2003-08-05 18:11
2003.08.25
Объявление! Проблемы с почтовым ящиком сайта.


3-81555
sixep
2003-07-30 19:10
2003.08.25
Помогите открыть базу данных