Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.09.2007, 12:30
Wolverine Wolverine вне форума
Прохожий
 
Регистрация: 26.06.2007
Сообщения: 11
Репутация: 10
По умолчанию Вопрос по считыванию данных из реестра

Есть значение dword. Довольно большое. Если считывать readinteger то не катит потому что он читает в 16 системе и выдает ерунду. Как считать это же значение в десятичной системе или считать в 16 и преобразовать в десятичную?
Ответить с цитированием
  #2  
Старый 12.09.2007, 18:31
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Вот мой пример чтения DWORD из реестра. У меня считалось без проблем.
Код:
uses
   Registry;
 // Прочитать REG_DWORD 
procedure TForm1.Button1Click(Sender: TObject);
 var
   Reg: TRegistry;
   RegKey: DWORD;
   Key: string;
 begin
   Reg := TRegistry.Create;
   try
     Reg.RootKey := HKLM;
     Key := 'Место откуда читать DWORD';
     if Reg.OpenKeyReadOnly(Key) then
     begin
       if Reg.ValueExists('Значение DWORD') then
       begin
         RegKey := Reg.ReadInteger('Значение DWORD');
         Reg.CloseKey;
         ShowMessage(IntToStr(RegKey));
       end;
     end;
   finally
     Reg.Free
   end;
 end;
Ответить с цитированием
  #3  
Старый 13.09.2007, 17:51
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

А ReadBinaryData не подойдет?
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #4  
Старый 17.09.2007, 01:39
Wolverine Wolverine вне форума
Прохожий
 
Регистрация: 26.06.2007
Сообщения: 11
Репутация: 10
По умолчанию :)

2 moo2k я ж сказал этим способом число 4000 не считаешь. 2 4kusNick пример использования есть? просто мне всегда хватало ReadInteger. Щас практика началась поэтому пока забросил это дело. Но все же интересно
Ответить с цитированием
  #5  
Старый 17.09.2007, 20:19
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Вообще-то ты путаешь DWORD и Integer; Это два разных типа. Мой пример все-таки подходит. В примере ясно видно же, что я присваю переменной RegKey тип DWORD, а не Integer.
Ответить с цитированием
  #6  
Старый 18.09.2007, 18:18
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от moo2k
Вообще-то ты путаешь DWORD и Integer; Это два разных типа. Мой пример все-таки подходит. В примере ясно видно же, что я присваю переменной RegKey тип DWORD, а не Integer.

Все правильно, если DWORD будет больше чем 4 байта числа со знаком то не полезет в интегер. У интегера старший бит - значение знака. А у ДВОРД все биты значащие.
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
  #7  
Старый 23.09.2007, 18:56
Wolverine Wolverine вне форума
Прохожий
 
Регистрация: 26.06.2007
Сообщения: 11
Репутация: 10
По умолчанию :)

Да точно. Спросонья не разглядел что тип dword. Пытался в интегер пихнуть. Все работает. Спасиба
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:11.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter