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

Вниз

TRegistry   Найти похожие ветки 

 
sergeyst ©   (2007-03-22 11:41) [0]

Пишу
Reg.OpenKey(.1.)
Reg.OpenKey(.2.)
Reg.OpenKey(.3.)
Reg.WriteString("sad",123);
а потом надо перейти на уровень 2
надо опять
Reg.Free;
и т.д. или есть способ по-проще?

Подскажите


 
Правильный Вася   (2007-03-22 11:44) [1]

> а потом надо перейти на уровень 2
Reg.OpenKey(.2.)


 
clickmaker ©   (2007-03-22 11:47) [2]


> а потом надо перейти на уровень 2

а почему бы это не сделать, когда уже был там?


 
sergeyst ©   (2007-03-22 13:26) [3]


> а почему бы это не сделать, когда уже был там?

2 вроде как каталог, а 3, 4.. - подкаталоги.
т.е., если я правильно понял можно гонять туда-сюда по-порядочку?


 
clickmaker ©   (2007-03-22 14:26) [4]


> [3] sergeyst ©   (22.03.07 13:26)

да как хочешь, можешь гонять. Просто, раз ветку открыл, почему бы сразу все оттуда не прочитать?


 
sergeyst ©   (2007-03-22 15:47) [5]


> да как хочешь, можешь гонять.

нет, не могу. приходится Reg.CloseKey , а потом
Reg.OpenKey(.1.)
Reg.OpenKey(.2.)
Reg.OpenKey(.3.)

> Просто, раз ветку открыл, почему бы сразу все оттуда не
> прочитать?

У меня там дерево
2- это корень
3,4,5...- ветви, в которые я могу попасть только через корень2. Или я ошибаюсь?
И все же, как вернуться на шаг назад. Reg.OpenKey(2) из (3) - не работает.
на всякий случай - D7, XP


 
clickmaker ©   (2007-03-22 15:54) [6]


> [5] sergeyst ©   (22.03.07 15:47)

а чего надо-то? задача какая?


 
RASkov   (2007-03-22 16:13) [7]

> И все же, как вернуться на шаг назад. Reg.OpenKey(2) из
> (3) - не работает

Представь, что ключи в реестре - это папки в проводнике, и как тебе вернуться из
С:\TEMP\DIR1\DIR2\DIR3
в
С:\TEMP\DIR1\
И найди отличие в
Reg.OpenKey("Key1\Key2")
от
Reg.OpenKey("\Key1\Key2")
и главное пойми....


 
sergeyst ©   (2007-03-22 16:19) [8]


> а чего надо-то? задача какая?

  задача - чтение/запись данных в реестре, нах-ся в определенном соотношении.
   Reg := TRegistry.Create;
   Reg.OpenKey("Software", True);
   Reg.OpenKey("EGA", True);
   Reg.OpenKey("WorkViewer", True); - основной раздел реестра программы

   Reg.OpenKey("PrintFor", True); - подраздел parent = "WorkViewer"
   Reg.OpenKey("PrintDiv", True); - -//- parent = "WorkViewer" и т.д.
Не загонять же все данные в один ключ - их и сейчас много, а в перспективе.... Или: подключ(данные)\подключ(данные)... - неохота.


 
clickmaker ©   (2007-03-22 16:23) [9]

рекурсия?
ну TRegistry так работает, что каждый OpenKey закрывает предыдущий. Используй АПИшные функции тогда или на каждый виток - свой TRegistry


 
RASkov   (2007-03-22 16:48) [10]

Reg.OpenKey("WorkViewer\PrintFor", True);
......
Reg.OpenKey("WorkViewer\PrintDiv", True);



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

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

Наверх




Память: 0.49 MB
Время: 0.042 c
6-1161818820
arpohom
2006-10-26 03:27
2007.04.15
TServerSocket и Сетевые Интерфейсы


2-1175080484
BigVova
2007-03-28 15:14
2007.04.15
Размер HTML документа в браузере


2-1175023480
Василий
2007-03-27 23:24
2007.04.15
округление


2-1174911012
..::KraN::..
2007-03-26 16:10
2007.04.15
Drag&Drop


15-1174123434
Footballer
2007-03-17 12:23
2007.04.15
УКРФ