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

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

Реестр [D6, XP]


al-al ©   (2006-04-05 08:47:00) 

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


al-al   (2006-04-05 10:22:00) [1]

Palladin,спасибо, работает! Твой пример помог.


Сергей М.   (2006-04-05 10:08:00) [2]


> эта процедура Reg.GetValueNames(Val); выдает значение параметра


Отсебячина.

Вот цитата из справки:

Returns a string list containing the namesof all data values associated with the current key


> мне нужно получать имя самого параметра из указанного ключа


Искомое тобой как раз есть один из элементов списка, возвращенного при GetValueNames()


al-al   (2006-04-05 09:54:00) [3]

нет не то. эта процедура Reg.GetValueNames(Val);выдает значение параметра, а мне нужно получать имя самого параметра из указанного ключа.


Palladin   (2006-04-05 09:12:00) [4]



procedure TForm1.Button1Click(Sender: TObject);
var
 Reg: TRegistry;
 Val:TStringList;
 I:Integer;
begin
 Reg:=TRegistry.Create;
 try
   Val:=TStringList.Create;
   try
     Reg.RootKey:=HKEY_LOCAL_MACHINE; // Section to look for within the registry
     if not Reg.OpenKey(Edit1.Text,False) then
       ShowMessage('Error opening key')
     else
     begin
        Reg.GetValueNames(Val);

       for I:=0 to Val.Count-1 do
       begin
         ShowMessage(Edit1.Text + Chr(13) +
                     'has an Entry Called '+Val.Strings[I]+Chr(13)+
                     'With a Value of '+Reg.ReadString(Val.Strings[I]));
       end;
       if MessageDlg('Ok to delete the key and lose all these values?'
                    ,Mtinformation,[mbYes,mbNo],0)=mryes then
          Reg.DeleteKey(Edit1.Text);

     end;
   finally
     Val.Free;
   end;
 finally
   Reg.Free;
 end;
end;


(с) справка

если я конечно правильно тебя понял


Наверх

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