Текущий архив: 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