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

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

Чтение параметра реестра


Student :) ©   (2009-12-26 17:10:00) 

Доброго дня подскажите пожалуйста, я с помощью функции вытягиваю значение InstallDate из реестра но оно имеет значение DWORD.

function RegQueryStr(RootKey: HKEY; Key, Name: string;
 Success: PBoolean = nil): string;
var
 Handle: HKEY;
 Res: LongInt;
 DataType, DataSize: DWORD;
begin
 if Assigned(Success) then
   Success^ := False;
 Res := RegOpenKeyEx(RootKey, PChar(Key), 0, KEY_QUERY_VALUE, Handle);
 if Res <> ERROR_SUCCESS then
   Exit;
 Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType, nil, @DataSize);
 if (Res <> ERROR_SUCCESS) or (DataType <> REG_DWORD) then
 begin
   RegCloseKey(Handle);
   Exit;
 end;
 SetString(Result, nil, DataSize - 1);
 Res := RegQueryValueEx(Handle, PChar(Name), nil, @DataType,
   PByte(@Result[1]), @DataSize);
 if Assigned(Success) then
   Success^ := Res = ERROR_SUCCESS;
 RegCloseKey(Handle);
end;


строка запроса

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text :=RegQueryStr(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'InstallDate');
end;


но вместо цифр пишется какие то знаки, как ответ преобразовать в 10 ное число?


Student :)   (2009-12-26 21:07:00) [1]

спасибо щас попробуемс


antonn   (2009-12-26 18:39:00) [2]


>
> Ну продолжай трепаться.

он ответил на вопрос


Anatoly Podgoretsky   (2009-12-26 18:23:00) [3]

> Student :)  (26.12.2009 17:35:02)  [2]

Ну продолжай трепаться.


Игорь Шевченко   (2009-12-26 17:53:00) [4]

uses
 DateUtils;

var
 InstallDate: DWORD;
begin
...
 Res := RegQueryValueEx(Handle, PChar    (Name), nil, @DataType, @InstallDate,  @DataSize);

 if (Res <> ERROR_SUCCESS) or (DataType <> REG_DWORD) then
 begin
  RegCloseKey(Handle);
  Exit;
end;
 Result := FormatDateTime('dd.mm.yyyy',UnixToDateTime(InstallDate);
...
end;


Student :)   (2009-12-26 17:35:00) [5]

"комсомольцы не ищут легких путей" Типа того :)


Palladin   (2009-12-26 17:26:00) [6]

чем тебе готовый класс TRegistry не угодил? или "комсомольцы не ищут легких путей" ?


Наверх

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