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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2008, 21:53   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию Создание записи в реестре типа REG_DWORD

Здравствуйте, подскажите как создать запись данного типа в DELPHI 7 я уже везде искал!
aesoem вне форума Ответить с цитированием
Старый 31.10.2008, 22:16   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Класс TRegistry, метод WriteBinaryData.

З.Ы. Все верно - интеджер. Думал об INTEGER, а написал BINARY

Последний раз редактировалось mihali4; 01.11.2008 в 01:13.
mihali4 вне форума Ответить с цитированием
Старый 31.10.2008, 23:52   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

DWORD это целочисленный вид, подобие Integer. Зачем бинарные потоки?
Запись/Чтение так:
Код:
uses
   Registry;

 // Чтение REG_DWORD 
procedure TForm1.Button1Click(Sender: TObject);
 var
   Reg: TRegistry;
   RegKey: DWORD;
   Key: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKEY_USERS;
     Key := 'Software\URL';
     if Reg.OpenKeyReadOnly(Key) then
     begin
       if Reg.ValueExists('Days') then
       begin
         RegKey := Reg.ReadInteger('Days');
         Reg.CloseKey;
       end;
     end;
   finally
     Reg.Free
   end;
 end;


 // Запись REG_DWORD 
procedure TForm1.Button2Click(Sender: TObject);
 var
   Reg: TRegistry;
   Key: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKEY_USERS;
     Key := 'Software\URL';
     if Reg.OpenKey(Key, True) then
     begin
       Reg.WriteInteger('Days', 20);
       Reg.CloseKey;
     end;
   finally
     Reg.Free
   end;
 end;
Alter вне форума Ответить с цитированием
Старый 02.11.2008, 16:35   #4
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

mihali4,Alter Спасибо, всё получилось!

Я так сделал:
Код:
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.OpenKey('Software\URL, True);
Reg.WriteInteger('Days', 20);
Reg.Free
end;

Последний раз редактировалось aesoem; 02.11.2008 в 16:42.
aesoem вне форума Ответить с цитированием
Старый 16.06.2009, 00:31   #5
Sharp_eye
 
Регистрация: 15.06.2009
Сообщений: 8
По умолчанию

а зачем мой пост удалили? я вобще-то ответа ждал.
Sharp_eye вне форума Ответить с цитированием
Старый 19.06.2009, 15:27   #6
Sharp_eye
 
Регистрация: 15.06.2009
Сообщений: 8
По умолчанию

"Спасибо" за то что "помогли"
отвечаю на свой вопрос сам:
WtiteInteger - НЕ ВСЕГДА заменяет DWORD ! ! ! (виндовс просто не понимает некоторые ключи, например
Код:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\  создайте WriteInteger(NoSmHelp)
и ничего это не даст.) поэтому нужно использовать WriteBinaryData;
Код:
Value_1 : byte = 01  (1)
Value_0 : byte = 00  (0)
WriteBinaryData('NoSmHelp',Value1,1);
Sharp_eye вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание инсталяционных пакетов и их регистрация в реестре LORD-BY Общие вопросы Delphi 9 01.08.2009 23:00
Создание нового типа master_root Общие вопросы Delphi 2 02.07.2008 22:33
Вставка записи в поле графического типа Bibigul БД в Delphi 3 10.04.2007 16:07