Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.26;
Скачать: CL | DM;

Вниз

ReadBinary...   Найти похожие ветки 

 
Schummi ©   (2002-07-30 08:45) [0]

Снова доброго времени суток, мастера! Подскажите, как прочитать из реестра занчение типа rdBinary? Размер буфера определить можно, но как у Buffer быть? У меня постоянно ошибка выдаётся: "Faild to get data for "XXX""! Thanks!


 
MikeZ   (2002-07-30 11:03) [1]

Пример:

Procedure TForm1.Button1Click(Sender : TObject);
Var
F : TRegistry;
ProxyOn : Integer;
begin
F := TRegistry.Create;
F.RootKey := HKEY_CURRENT_USER;
F.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings", False);
If F.ValueExists("ProxyEnable") Then
Try
If F.GetDataType("ProxyEnable") = rdBinary Then
F.ReadBinaryData("ProxyEnable", ProxyOn, SizeOf(ProxyOn))
Else // rdInteger
ProxyOn := F.ReadInteger("ProxyEnable");
Except
End;
F.Free;
end;


Так я извращался, т.к. не известно, есть ли такой ключ и какого он типа.


 
Schummi ©   (2002-07-31 08:11) [2]

Спасибо тебе, буду пробовать!


 
Schummi ©   (2002-08-01 09:59) [3]

Тут не извесно, какой буфер!


 
Schummi ©   (2002-08-03 08:00) [4]

Только не молчите, пожалуйста!


 
TTCustomDelphiMaster ©   (2002-08-03 09:06) [5]


> Schummi © (01.08.02 09:59)
> Тут не извесно, какой буфер!


Если ты о размере буфера, то посмотри TRegistry.GetDataSize


 
Schummi ©   (2002-08-10 08:10) [6]

2TTCustomDelphiMaster
Русским. Языком. Говорю. Размер буфера определить можно, но как у Buffer быть?


 
Schummi ©   (2002-08-10 08:10) [7]

2TTCustomDelphiMaster
Русским. Языком. Говорю. Размер буфера определить можно, но как у Buffer быть?


 
Набережных С.   (2002-08-10 09:08) [8]


> Русским. Языком. Говорю. Размер буфера определить можно,
> но как у Buffer быть?

Тебя обманули. Это не русский язык.


 
TTCustomDelphiMaster ©   (2002-08-10 10:51) [9]


> Schummi © (10.08.02 08:10)
> но как у Buffer быть?

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

procedure TForm1.Button3Click(Sender: TObject);
var
F: Tregistry;
buf: array of byte;
i: integer;
s: string;
begin
F := TRegistry.Create;
F.RootKey := HKEY_LOCAL_MACHINE;
F.OpenKey("SOFTWARE\ACD Systems\ACDInTouch", False);
If F.ValueExists("InTouchSettings") Then
If F.GetDataType("InTouchSettings") = rdBinary Then
begin
SetLength(buf, F.GetDataSize("InTouchSettings"));
F.ReadBinaryData("InTouchSettings", buf[0], Length(buf));
s := "";
for i:=0 to Length(buf)-1 do
begin
if (i mod 16)=0 then
s := s + #13#10 + inttohex(i, 4) + " ";
if (i mod 8)=0 then
s := s + " ";
s := s + inttohex(buf[i], 2) + " ";
end;
ShowMessage(s);
end;
F.Free;
end;


 
Schummi ©   (2002-08-14 09:55) [10]

2TTCustomDelphiMaster Понимаешь, буффером может быть и строка и массив и ... И вот неизвестно, что именно записано в этой Value: или строка или массив или ... Понимаешь? А так спасибо!



Страницы: 1 вся ветка

Текущий архив: 2002.08.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
3-84887
malamba
2002-08-06 09:52
2002.08.26
обновить клиентов


8-85134
Doom
2002-04-19 23:52
2002.08.26
Как получить скриншот с веб-камеры?


14-85190
Дремучий
2002-07-30 11:10
2002.08.26
Не хочу показаться озабоченым... но хотелось бы узнать...


14-85201
Сергей Чурсин
2002-07-30 13:46
2002.08.26
Ребята, что есть


3-84895
Dry
2002-08-06 12:09
2002.08.26
PReport