Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2014, 12:58   #1
kabardinec
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 59
Вопрос

Не могу разобраться. Нужно написать код, который проверяет наличие параметров в подключах. Подключей несколько (неопределенное количество), их имена неизвестны. Известно имя ключа и параметры во всех подключах.

с методом GetKeyNames знаком, только он выводит просто список подключей текущего ключа.

помогите кто знает!

Думаю нужно создать цикл.. Но как создать этот цикл представления не имею..

Последний раз редактировалось Stilet; 17.03.2014 в 20:48.
kabardinec вне форума Ответить с цитированием
Старый 17.03.2014, 13:04   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

ознакомьтесь с понятием рекурсии...
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2014, 13:23   #3
kabardinec
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 59
Восклицание

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
ознакомьтесь с понятием рекурсии...
ознакомился.. только чтоб он тут работал нужно иметь возможность обратиться к неизвестным подключам поштучно..

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

Последний раз редактировалось Stilet; 17.03.2014 в 20:52.
kabardinec вне форума Ответить с цитированием
Старый 17.03.2014, 13:31   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Как только выдернули информацию ключа, так и подключи стали известными. Или известно только то, что константой задано?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2014, 13:39   #5
kabardinec
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Как только выдернули информацию ключа, так и подключи стали известными. Или известно только то, что константой задано?
не совсем понял.... выдернуть инфо ключа..по методу GetKeyInfo? известно только имя ключа и имя параметра. Этот самый параметр находится в подключах этого известно ключа..

вот что я хочу конкретно сделать!!!!!!!
нужно изменить значение параметра IPAddress и еще пару параметров в этом же подключе. Чтоб до него добраться нужно знать путь.. последний подключ является GUID сетевого адаптера, который во всех компах разный...(это то что я хочу получить, что выстроить весь путь в целом, чтоб я мог добираться до IPAddress )

Последний раз редактировалось Stilet; 17.03.2014 в 20:56.
kabardinec вне форума Ответить с цитированием
Старый 17.03.2014, 13:49   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

путь к основному ключу то надеюсь знаете? тогда решение тривиальное, если нет, то можно и не решить вопрос
eval вне форума Ответить с цитированием
Старый 17.03.2014, 13:55   #7
kabardinec
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 59
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
путь к основному ключу то надеюсь знаете? тогда решение тривиальное, если нет, то можно и не решить вопрос
знаю конечно!!!
kabardinec вне форума Ответить с цитированием
Старый 17.03.2014, 14:00   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
вот что я хочу конкретно сделать!!!!!!!
У вас проблемы с психикой? Тогда продолжайте.. ещё болье этих знаков: !!!!

Рекурсия с ключами это так:
Код:
функция найтичто-то(путь):строка
переменные
 Ключи,Параметры:СписокСтрок
 и:ЦелоеЧисло
 с:строка
 рес:Реестр
начало
 и = 0
 ключи = СписокСтрок.Создать()
 параметры = СписокСтрок.Создать()
 рес = Реестр.Создать()
 рес.Корень = ТЕКУЩИЙ_ПОЛЬЗОВАТЕЛЬ
 с = путь
 если рес.ОткрытьТолькоЧтение(с) тогда
 начало
    рес.СписокПараметов(Параметры)
    ; Обработываем параметрыи, щем что-то
    ...

    рес.СписокКлючей(ключи)
    если (ключи.Кол-во больше 0) тогда
    начало
      от (и= 0 до ключи-Кол-во -1) выполнять
      начало
        найтичто-то(с + ключи(и).значение)
      конец
    конец

    рес.ЗакрытьКлюч()
  конец 


 ключи.Освободить()
 параметры.Освободить()
 рес.Освободить()
конец

А вообще есть спец. API функции дляработы с сетивыми интерфейсами.
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2014, 14:20   #9
kabardinec
Пользователь
 
Регистрация: 10.01.2014
Сообщений: 59
Злость

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
У вас проблемы с психикой? Тогда продолжайте.. ещё болье этих знаков: !!!!

Рекурсия с ключами это так:
Код:
функция найтичто-то(путь):строка
переменные
 Ключи,Параметры:СписокСтрок
 и:ЦелоеЧисло
 с:строка
 рес:Реестр
начало
 и = 0
 ключи = СписокСтрок.Создать()
 параметры = СписокСтрок.Создать()
 рес = Реестр.Создать()
 рес.Корень = ТЕКУЩИЙ_ПОЛЬЗОВАТЕЛЬ
 с = путь
 если рес.ОткрытьТолькоЧтение(с) тогда
 начало
    рес.СписокПараметов(Параметры)
    ; Обработываем параметрыи, щем что-то
    ...

    рес.СписокКлючей(ключи)
    если (ключи.Кол-во больше 0) тогда
    начало
      от (и= 0 до ключи-Кол-во -1) выполнять
      начало
        найтичто-то(с + ключи(и).значение)
      конец
    конец

    рес.ЗакрытьКлюч()
  конец 


 ключи.Освободить()
 параметры.Освободить()
 рес.Освободить()
конец

А вообще есть спец. API функции дляработы с сетивыми интерфейсами.

с психикой у меня все отлично! тон свой поубавьте..!!!!! вы тоже когда то этому всему учились..

попробую ваш алгоритм.. отпишусь..

Последний раз редактировалось Stilet; 17.03.2014 в 20:58.
kabardinec вне форума Ответить с цитированием
Старый 17.03.2014, 15:35   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

зачем тут рекурсия?
путь к ключу знает, берет сабключи и дует по ним с проверкой в параметрах
нашел - поменял - ушел
я ж говорю все тривиально
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ работа с реестром KuriQ Общие вопросы C/C++ 4 14.04.2012 14:22
работа с реестром world12_tk Помощь студентам 0 04.10.2011 23:39
Работа с реестром VanHelsing Общие вопросы C/C++ 3 21.05.2010 22:01
Работа с реестром Родион Безопасность, Шифрование 1 23.06.2008 11:05
работа с реестром zetrix Безопасность, Шифрование 2 31.10.2007 12:20