Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c