Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Из Delphi в реестр


Автор: mjpg 21.6.2007, 16:00
Как мне сделать так, что бы принажатии кнопки происходили изменения в реестре?

Автор: Snowy 21.6.2007, 16:06
В событии нажатия кнопки производи изменения в реестре...

А, если хочешь получить ответ, который тебе нужен - задай правильно вопрос.

Автор: Guedda 21.6.2007, 16:17
Код

uses
  ..., Registry, ...

//...

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE; //здесь выбираешь какую-надо ветку
  //Здесь делаешь изменения ;)
  Reg.CloseKey;
  Reg.Free;
end;

Всё.

Автор: Sunvas 21.6.2007, 16:47
Сначала посмотреть внизу, потом воспользоваться поском по стоке "Tregistry"

Автор: mjpg 26.6.2007, 18:34
чё - то у меня не выходит smile  
покожи пожалуста этот пример   - 

System: Enable Large System Cache 
Включение этой опции увеличивает общую производительность Windows XP. Рекомендовано, если вы имеете 256 Мб ОЗУ или больше. Измените значение ключа с 0 на 1:
[HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControl Set\ Control\ Session Manager\ Memory Management]
"LargeSystemCache"=dword:1

на

Код

uses
  ..., Registry, ...

//...

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE; //здесь выбираешь какую-надо ветку
  //Здесь делаешь изменения ;)
  Reg.CloseKey;
  Reg.Free;
end;



Автор: 0LineGate 27.6.2007, 17:49
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management',False);
  if Reg.ReadInteger('LargeSystemCache')=0 then Reg.WriteInteger('LargeSystemCache',1)
    else Reg.WriteInteger('LargeSystemCache',0);
  Reg.CloseKey;
  Reg.Free;
end;

 smile 

Автор: Guedda 27.6.2007, 18:05
0LineGate, а зачем в твоем коде else?
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management',False);
  if Reg.ReadInteger('LargeSystemCache')=0 then Reg.WriteInteger('LargeSystemCache',1);
  Reg.CloseKey;
  Reg.Free;
end;

Так правильнее...

Автор: mjpg 27.6.2007, 18:34
0LineGate, Guedda - Большое  С П А С И Б О!

Автор: 0LineGate 27.6.2007, 23:36
Цитата(Guedda @ 27.6.2007,  18:05)
0LineGate, а зачем в твоем коде else?
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management',False);
  if Reg.ReadInteger('LargeSystemCache')=0 then Reg.WriteInteger('LargeSystemCache',1);
  Reg.CloseKey;
  Reg.Free;
end;

Так правильнее...

ууупс, перемудрил  smile  
----------------------------------
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)