Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.005 c
1-84996
ArhAngel2
2002-08-15 21:48
2002.08.26
Как скопировать массив в массив?


1-84986
ЮРИЙ_К
2002-08-15 13:24
2002.08.26
Событие RxDBGrid3DrawColumnCell - ВЕШАЕТ комп 8-(


1-85041
GreatQuaker
2002-08-14 05:25
2002.08.26
MessageBox


14-85223
Извращенец
2002-07-31 18:06
2002.08.26
Глупейший вопрос


14-85198
Гэймер
2002-07-31 06:35
2002.08.26
ZX Spectrum





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский