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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2013, 12:37   #1
YTP0
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 21
Радость Редактирование записи в реестре

Доброго времени суток.
Вот главное окно проги - браузер реестра виндоус.
При нажатии на какую то запись в реестре(на листвью1) у меня появляется новая форма с эдитом для редактирования записи. Вопрос такой: какой строчкой я могу отредактировать текущую выбранную запись в листвью? Ну т.е. чтобы по нажатию баттон1 текст из едит1 заносился в значение записи реестра. Заранее спасибо
Изображения
Тип файла: jpg 12312321.jpg (26.4 Кб, 142 просмотров)
YTP0 вне форума Ответить с цитированием
Старый 21.12.2013, 13:06   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А какими методиками ты его считываешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.12.2013, 13:45   #3
YTP0
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 21
По умолчанию

Код:
procedure TRegForm.TreeView1Change(Sender: TObject; Node: TTreeNode);
var s: string;
KeyInfo : TRegKeyInfo;
ValueNames : TStringList;
i : Integer;
DataType : TRegDataType;
begin
 ListView1.Items.Clear;
 s:= GetFullNodeName(Node);
 if not Reg.OpenKeyReadOnly(s) then Exit;
 Reg.GetKeyInfo(KeyInfo);
 if KeyInfo.NumValues<=0 then Exit;
 ValueNames := TStringList.Create;
 Reg.GetValueNames(ValueNames);
 for i := 0 to ValueNames.Count-1 do
  with ListView1.Items.Add do
   begin
   Caption := ValueNames[i];
   DataType := Reg.GetDataType(ValueNames[i]);
   Case DataType of
    rdString: s := Reg.ReadString(ValueNames[i]);
    rdInteger: s:= '0x'+IntToHex(Reg.ReadInteger(ValueNames[i]),8);
    rdBinary: s:='Binary';
   else s:= '???';
   end;
   SubItems.Add(s);
   ImageIndex :=1;
   end;
 ValueNames.Free;
end;
и
Код:
procedure TRegForm.ShowSubKeys(ParentNode: TTreeNode;depth: Integer);
var ParentKey: string;
 KeyNames : TStringList;
 KeyInfo : TRegKeyInfo;
 CurNode : TTreeNode;
 i : Integer;
 begin

   if rootkeystr='HKEY_CLASSES_ROOT' then
    begin
      Reg.RootKey:=HKEY_CLASSES_ROOT;
    end;
       if rootkeystr='HKEY_CURRENT_USER' then
    begin
      Reg.RootKey:=HKEY_CURRENT_USER;
    end;
    if rootkeystr='HKEY_LOCAL_MACHINE' then
    begin
      Reg.RootKey:=HKEY_LOCAL_MACHINE;
    end;
    if rootkeystr='HKEY_USERS' then
    begin
      Reg.RootKey:=HKEY_USERS;
    end;
    if rootkeystr='HKEY_CURRENT_CONFIG' then
    begin
      Reg.RootKey:=HKEY_CURRENT_CONFIG;
    end;


 Cursor := crHourglass;
 TreeView1.Items.BeginUpdate;
 ParentKey := GetFullNodeName(ParentNode);
 if ParentKey<>'' then
  Reg.OpenKey(ParentKey, true)
 else
  Reg.OpenKey('\', true);
 Reg.GetKeyInfo(KeyInfo);
 if KeyInfo.NumSubKeys<=0 then Exit;
 KeyNames := TStringList.Create;
 Reg.GetKeyNames(KeyNames);
 While ParentNode.GetFirstChild<>nil do ParentNode.GetFirstChild.Delete;
 if (KeyNames.Count>0) then for i:=0 to KeyNames.Count-1 do
    begin
     Reg.OpenKeyReadOnly(ParentKey+'\'+KeyNames[i]);
     Reg.GetKeyInfo(KeyInfo);
     CurNode := TreeView1.Items.AddChild(ParentNode,KeyNames[i]);
     if KeyInfo.NumSubKeys>0 then
      begin
      TreeView1.Items.AddChild(CurNode,'');//
      end;
    end;
 KeyNames.Free;
 TreeView1.Items.EndUpdate;
 Cursor := crDefault;
end;
YTP0 вне форума Ответить с цитированием
Старый 21.12.2013, 19:54   #4
YTP0
Пользователь
 
Регистрация: 06.04.2011
Сообщений: 21
По умолчанию

up!!!!!!!!!!!!
YTP0 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование записи Михаил Юрьевич БД в Delphi 3 21.01.2013 21:28
Проверка наличия записи в реестре Кристинка89 Общие вопросы Delphi 2 19.04.2012 08:18
как проверить наличее записи в реестре? VAnj2607 Общие вопросы Delphi 1 19.05.2011 10:18
Создание записи в реестре типа REG_DWORD aesoem Общие вопросы Delphi 5 19.06.2009 15:27