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

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

Проблема HKEY и сети


Compton's G ©   (2006-01-15 17:37:00) 

... С помощью компонент ClientSocket, пытаюсь на сервер, отправить ключ реестра, с помощью SendText. На сервере отделяю, от полученной строки - rootkey (HKEY_LOCAL_MACHINE или ... _USER и остальные) ... но потом, как преобразовать, отделенную строку (String) в HKEY, для свойста TRegistry RootKey?


Eraser   (2006-01-15 22:52:00) [1]

В крайнем случае:
SendText(inttostr(HKEY_CLASSES_ROOT));
imho.


Gero   (2006-01-15 22:38:00) [2]

Из одного старого модуля:

function StringToHKey(S: string) : HKey;
begin
 Result := HKUN;
 S := UpperCase(S);
 if S = 'HKEY_CLASSES_ROOT' then
   Result := HKEY_CLASSES_ROOT
 else if S = 'HKEY_CURRENT_USER' then
   Result := HKEY_CURRENT_USER
 else if S = 'HKEY_LOCAL_MACHINE' then
   Result := HKEY_LOCAL_MACHINE
 else if S = 'HKEY_USERS' then
   Result := HKEY_USERS
 else if S = 'HKEY_PERFORMANCE_DATA' then
   Result := HKEY_PERFORMANCE_DATA
 else if S = 'HKEY_CURRENT_CONFIG' then
   Result := HKEY_CURRENT_CONFIG
 else if S = 'HKEY_DYN_DATA' then
   Result := HKEY_DYN_DATA;
end;


Eraser   (2006-01-15 19:23:00) [3]

HKEY = type LongWord;
;)

> Compton's G   (15.01.06 17:37)

передавай root key как целое число, и все дела.


Rouse_   (2006-01-15 19:17:00) [4]

Мдя... :)


Rouse_   (2006-01-15 19:16:00) [5]


> Ну я так и написал, думал просто, что можно как-нить покрасивее

Красивее?
const
 HKEY_CURRENT_USER = CHR(10);

..

if Key= HKEY_CURRENT_USER then
 Reg.RootKey:=HKEY_CURRENT_USER;


Compton's G   (2006-01-15 18:33:00) [6]


> Самое простое :
>
> if Key='HKEY_CURRENT_USER' then
>   Reg.RootKey:=HKEY_CURRENT_USER;


Ну я так и написал, думал просто, что можно как-нить покрасивее


Неважно   (2006-01-15 18:28:00) [7]

Самое простое :

if Key='HKEY_CURRENT_USER' then
  Reg.RootKey:=HKEY_CURRENT_USER;

Если хочется все по честному,то смотри Regisrty.pas например ф-цию GetKey


Наверх

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