|
Вопрос # 1 248/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Как прочесть значение типа Binary из реестра, и, если это не сложно, представить его как в Hex редакторе?
 |
Вопрос задал: Евгений Eklmn (статус: Посетитель)
Вопрос отправлен: 30 декабря 2007, 19:02
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Feniks
Здравствуйте, Трофимов Евгений!
Все очень просто. Кладем на форму кнопку Button1 и Memo1. На кнопку делаем обработчик:
procedure TForm1.Button1Click(Sender: TObject);
var
Reg : TRegistry;
buf : array of byte;
i : Integer;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\Feniks', True) then
begin
SetLength(Buf, Reg.GetDataSize('Value'));
Reg.ReadBinaryData('Value', buf[1], Reg.GetDataSize('Value'));
Reg.CloseKey;
for i := 1 to Length(buf) do
Memo1.Text := Memo1.Text + '$' + IntToStr(Buf[i]) + ' ';
end;
finally
Reg.Free;
end;
end;
И наступит Вам счастье... ;-)
С Новым Годом Вас !!!
 |
Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 3 января 2008, 12:12
Оценка за ответ: 5
Комментарий к оценке: Спасибо! Вас тоже с Новым Годом!
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 3 января 2008, 12:20; участников в обсуждении: 1.
|
Feniks (статус: Бакалавр), 3 января 2008, 12:20 [#1]:
В поле Memo выводятся значения в десятичном формате. Для перевода из Десятичной в Шеснадцатиричную систему можно использовать фугкцию:
function dec2hex(value: dword): string[8];
const
hexdigit = '0123456789ABCDEF';
begin
while value <> 0 do
begin
dec2hex := hexdigit[succ(value and $F)];
value := value shr 4;
end;
if dec2hex = '' then dec2hex := '0';
end;
Тогда строка будет такой:
Memo1.Text := Memo1.Text + '$' + dec2hex(Buf[i]) + ' ';
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|