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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2009, 14:52   #1
xakkkkker
Форумчанин
 
Аватар для xakkkkker
 
Регистрация: 15.12.2007
Сообщений: 226
По умолчанию про реестр

вот я открыл программно какой нибудь каталог в реестре а как узнать сколько у него подкаталогов?
xakkkkker вне форума Ответить с цитированием
Старый 12.01.2009, 15:00   #2
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

хммм... а чуть-чуть подумать нельзя? в теме http://programmersforum.ru/showthread.php?t=9809 есть код, при небольшой трансформации он будет делать именно то,что вам надо...

Код:
uses
   Registry;

 procedure TForm1.Button1Click(Sender: TObject);
 var
   indent: Integer;

      procedure EnumAllKeys(hkey: THandle; subkey: string);//добавился ещё один параметр
   var
     l: TStringList;
     n: Integer;
   begin
     Inc(indent, 2);
     with TRegistry.Create do
       try
         RootKey := hkey;
         OpenKey(SubKey, False);//Пустая строка с именем директории сменилась на ту, поддиректории которой вам нужны
         l := TStringList.Create;
         try
           GetKeynames(l);
           CloseKey;
           for n := 0 to l.Count - 1 do
             memo1.Lines.Add(StringOfChar(' ', indent) + l[n]);
             // Отсюда удалился кусок кода
         finally
           l.Free
         end;
       finally
         Free;
       end;
     Dec(indent, 2);
   end;

 begin
   Memo1.Clear;
   Memo1.Lines.Add('Keys under HKEY_LOCAL_MACHINE');
   indent := 0;
   Memo1.Lines.BeginUpdate;
   try
     EnumAllKEys(HKEY_LOCAL_MACHINE,'Software');
   finally
     Memo1.Lines.EndUpdate;
   end;
 end;
конечно, код не оптимален, и выводит только подкаталоги первого уровня, но на мысль натолкнуть должен...
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.

Последний раз редактировалось goblinyara; 12.01.2009 в 15:04.
goblinyara вне форума Ответить с цитированием
Старый 12.01.2009, 15:27   #3
xakkkkker
Форумчанин
 
Аватар для xakkkkker
 
Регистрация: 15.12.2007
Сообщений: 226
По умолчанию

goblinyara Спасибо мне только первого уровня и нужны были
xakkkkker вне форума Ответить с цитированием
Старый 12.01.2009, 16:16   #4
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

xakkkkker, рад,что помог
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реестр JRcoker Общие вопросы Delphi 12 12.09.2008 19:14
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
Реестр EVO-X Win Api 2 14.07.2008 20:19
Вопросик про реестр Sin9ikat Общие вопросы Delphi 1 16.06.2008 13:27
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24