Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TRegistry - удалить подраздел


DelphiLexx ©   (2006-10-24 11:01:00) 

У меня в разделе HKEY_CURRENT_USER\Software\Aleksey хранится произвольное число подразделов:
HKEY_CURRENT_USER\Software\Aleksey\Alex0
HKEY_CURRENT_USER\Software\Aleksey\Alex1
...
HKEY_CURRENT_USER\Software\Aleksey\AlexN

Как с помощью TRegistry удалить все подразделы раздела HKEY_CURRENT_USER\Software\Aleksey


Джо   (2006-10-24 17:27:00) [1]

Странный код...


DelphiLexx   (2006-10-24 17:24:00) [2]


> Да. Точно. Ждем вопроса: "а поделитесь кодом". :)

Пожалуйста:


function
 TAppDBList.RefreshDBList:
 boolean;
var
 i: integer;
 Reg: TRegistry;
 KeyNames : TStringList;
 KeyInfo : TRegKeyInfo;
begin

 Result := true;
 Reg := TRegistry.Create;
 try
   if Count > 0 then
   begin
     Reg.RootKey := HKEY_CURRENT_USER;
     if Reg.OpenKey(ini.FileName, true) then
     begin
       Reg.GetKeyInfo(KeyInfo);
       if KeyInfo.NumSubKeys > 0 then
       begin
         KeyNames := TStringList.Create;
         try
           try
             Reg.GetKeyNames(KeyNames);
             for i := 0 to KeyNames.Count - 1 do
               Reg.DeleteKey(KeyNames[i]);
           except
             Result := false;
           end;
         finally
           KeyNames.Free;
         end;
       end;
     end;
   end;
 finally
   Reg.Free;
 end;
end;


MetalFan   (2006-10-24 12:43:00) [3]

простите, но LOL)


Anatoly Podgoretsky   (2006-10-24 11:58:00) [4]


> удалить все что есть в Aleksey, а потом её заново создать,
>  но это глупо.

Если глупо разом, то удаляй поэлементно, вот это действительно будет глупо


Джо   (2006-10-24 11:37:00) [5]

> [4] Плохиш ©   (24.10.06 11:28)
>
> > Джо ©   (24.10.06 11:22) [3]
>
>
> > Вот я чего не пойму, зачем Справка существует?
>
> Ну наверное, для того, чтобы ты её почитал, перевёл и выдал
> в виде кода для copy/paste этому человеку с высшим образованием.

Да. Точно. Ждем вопроса: "а поделитесь кодом". :)


Плохиш   (2006-10-24 11:28:00) [6]


> Джо ©   (24.10.06 11:22) [3]


> Вот я чего не пойму, зачем Справка существует?

Ну наверное, для того, чтобы ты её почитал, перевёл и выдал в виде кода для copy/paste этому человеку с высшим образованием.


Джо   (2006-10-24 11:22:00) [7]

TRegistry.GetKeyNames и затем DeleteKey для каждого. Вот я чего не пойму, зачем Справка существует?


DelphiLexx   (2006-10-24 11:16:00) [8]


> TRegistry.DeleteKey

DeleteKey удалить и папку HKEY_CURRENT_USER\Software\ Aleksey
, а мне нужно удалить только её содержимое, конечно, можно удалить все что есть в Aleksey, а потом её заново создать, но это глупо.


Джо   (2006-10-24 11:07:00) [9]

http://sql.ru/forum/actualthread.aspx?tid=353486

TRegistry.DeleteKey.


Наверх

Титульная страница Поиск, карта сайта Написать письмо