Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] DELPHI 7. Registry. Dword. (http://forum.oszone.net/showthread.php?t=79692)

alexa___ 20-02-2007 21:10 553109

DELPHI 7. Registry. Dword.
 
Пожалуйста дайте совет, как прочитать из реестра значение параметра DWORD и поместить в Edit. И обратно.

DillerInc 20-02-2007 21:56 553126

alexa___
Использовать WinAPI для работы с реестром.
Для вывода целого значения типа DWORD в поле Edit использовать функцию IntToHex.

alexa___ 21-02-2007 10:13 553282

А можно без WinAPI?

DedAlex 21-02-2007 12:19 553361

alexa___
Можно. Использовать объект TRegistry.

alexa___ 21-02-2007 12:56 553384

Да это понятно (со строковыми проблем нет). Надо Dword вытащить, сконвертить наверное.
Если не трудно, дайте конкретный пример.

DedAlex 21-02-2007 19:55 553606

alexa___
Код:

procedure TForm1.LoadButtonClick(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CLASSES_ROOT;
  if Reg.OpenKey ( '\*' , False ) then
    Edit1.Text := IntToStr ( Reg.ReadInteger ( 'DWORD' ) );
  Reg.Free;
end;

procedure TForm1.SaveButtonClick(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CLASSES_ROOT;
  if Reg.OpenKey ( '\*' , False ) then
    Reg.WriteInteger ( 'DWORD' , StrToInt ( Edit1.Text ) );
  Reg.Free;
end;

Проверок на введенные данные нет.
Если надо в десятичной системе, то так, а если в шестнадцатичеричной, при чтении IntToStr заменить на IntToHex, а при записи переводить вручную.


Время: 19:54.

Время: 19:54.
© OSzone.net 2001-