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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 15:05   #1
Ant1Player
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 30
По умолчанию Как реализовать запись hex в реестр?

Как реализовать запись hex в реестр?
желательно на этом примере:
нужно в SmoothMouseXCurve записать hex:00,00,00,00,00,00,00,00,00 ,a0,00,00,00,00,00,00,00,40,\
01,00,00,00,00,00,00,80,02,00,00,00 ,00,00,00,00,05 ,00,00,00,00,00
Ant1Player вне форума
Старый 24.03.2009, 15:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

TRegistry.WriteBinaryData по-моему поможет.
I'm learning to live...
Stilet вне форума
Старый 24.03.2009, 15:21   #3
Ant1Player
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 30
По умолчанию

а можно на примере?
Ant1Player вне форума
Старый 24.03.2009, 15:30   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Вот пример на скорую руку из Букваря:
Код:
var
  Reg: TRegistry;
  buf : array [0..4] of byte;
  i: Integer;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('\Software', True) then begin
      for i:=1 to 4 do buf[i]:=0;
      buf[0]:=1;
      Reg.WriteBinnaryData('Value', buf, sizeof(buf));
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
    inherited;
  end;
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума
Старый 24.03.2009, 15:32   #5
Ant1Player
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 30
По умолчанию

прост я делфи ток учу, куда именно вписывать
00,00,00,00,00,00,00,00,00 ,a0,00,00,00,00,00,00,00,40,\
01,00,00,00,00,00,00,80,02,00,00,00 ,00,00,00,00,05 ,00,00,00,00,00
?
Ant1Player вне форума
Старый 24.03.2009, 15:40   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Скажите, а сразу тему нельзя было назвать по-человечески?
Где суть задаваемого вопроса в названии "Реестр HEX"?
Или вы, как и многие, манкируете правилами раздела?
А зря... Модераторы всерьез взялись за воспитание культуры общения.
mihali4 вне форума
Старый 24.03.2009, 15:45   #7
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

запись 16ричного значени идёт как $XX, где ХХ - произвольные цифры
а то что всё это записано - видимо отдельные байты буфера buf(если смотреть пример Kotofff)
ну и ещё надо поменять:
Код:
var
  Reg: TRegistry;
  buf : array [0..4] of byte;
  i: Integer;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('\Control Panel\Mouse', True) then begin
      {тут как раз заполняем буфер значениями}
    end;
  finally
    Reg.Free;
  end;
end;
Единственное я не понимаю что такое "\" в значении.
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума
Старый 24.03.2009, 15:49   #8
Ant1Player
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 30
По умолчанию

сам не понимаю, написано так в reg файле
Код:
[HKEY_CURRENT_USER\Control Panel\Mouse]
"SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,00 ,a0,00,00,00,00,00,00,00,40,\
01,00,00,00,00,00,00,80,02,00,00,00,00,00,00,00,05 ,00,00,00,00,00
Ant1Player вне форума
Старый 24.03.2009, 15:57   #9
XuTpbIu
Злобстер
Форумчанин
 
Аватар для XuTpbIu
 
Регистрация: 19.03.2009
Сообщений: 134
По умолчанию

Открыл реестр. Никаких слэшей не нашёл.
просто пиши подряд все значения в буфер. и пиши собсно сам буфер в реестр.
Изображения
Тип файла: jpg 123.JPG (26.1 Кб, 175 просмотров)
От знаний ещё никто не умирал, но рисковать не стоит.
XuTpbIu вне форума
Старый 24.03.2009, 16:16   #10
Ant1Player
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 30
По умолчанию

так?
Код:
   var
  Reg: TRegistry;
  buf : array [0..4] of byte;
  i: Integer;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey('\Control Panel\Mouse', True) then begin
      {тут как раз заполняем буфер значениями}
      '00,00,00,00,00,00,00,00,00,a0,00,00,00,00,00,00,00,40,01,00,00,00,00,00,00,80,02,00,00,00,00,00,00,00,05 ,00,00,00,00,00'

    end;
  finally
    Reg.Free;
  end;
end;

end.
и как потом их записывать?


Чет для первой програмки думаю зря взял реестр, но доделать надо =) обычные и dword значения разобрался как вписывать читать и тд а с hex проблеммы вышли...
Но доделать надо, весьма полезная вещь для людей кто играет в cs 1.6 +)

Последний раз редактировалось Ant1Player; 24.03.2009 в 16:20.
Ant1Player вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в реестр без прав администратора =LeonZone= Win Api 12 07.03.2010 19:06
Как перевести данные в Sql Hex Neset Помощь студентам 2 02.03.2009 13:45
Как зайти в реестр Filonenko Windows 5 17.01.2009 03:16
как в Си прочитать ЕХЕ файл в HEX виде ?? Юрий_BASE Общие вопросы C/C++ 1 18.04.2008 22:54
Как прописать в реестр DWORD ??? UnD)eaD)Snake Общие вопросы Delphi 2 27.07.2007 21:43