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

Вниз

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

 
МИФИст ©   (2002-05-08 01:39) [0]

Подскажите, пожалуйста, как почитать параметр типа REG_MULTI_SZ, ключ я открыл, параметр "Export" в ключе проверяю он существует, а вот MyReg.ReadString("Export") ругается, что делать?


 
Cobalt ©   (2002-05-08 09:51) [1]

TRegistry.ReadBinaryData


 
МИФИст ©   (2002-05-08 14:33) [2]

Можно ли использовать вместе с TRegistry после открытия ключя, для чтения параметра использовать RegQueryValueEx? У него есть параметр lpType, который может быть равен REG_MULTI_SZ, только я не понял куда сохраняется считанные данные, какого они типа и как их преобразовать в string.


 
Cobalt ©   (2002-05-08 21:03) [3]

Знаете, возникает такой вопрос : А откуда вы узнали о таком типе данных? В Дельфёвой справке я такого не нашел.
Такое есть только в справке по WinApi (RegQueryValueEx) - но это то вы нашли, даже увидели, что есть такой тип - REG_MULTI_SZ, вот только ?поленились посмотреть чуть дальше? иначе бы наверняка спросили бы, что означает следующее:
REG_MULTI_SZ An array of null-terminated strings, terminated by two null characters.
А это значит, что в данном участке памяти находится несколько строк, располагающихся друг за другом, конец строки обозначает 0-ой символ, а окончание - два идущих подряд 0-ых символа.
Типа такого:
[Первая строка<0>Вторая строка<0>Третья строка<0><0>]
<0> - означает один символ, #0, или Char(0).

P.S. Необязательно переходить на RegQueryValueEx, использование чистого WinApi оправдано только при необходимости делать что-то очень быстро, или если вас не устраивает реализация данных функций компонентом/классом, как то ограниченная функциональность, глюкавость и т.п.


 
МИФИст ©   (2002-05-08 22:26) [4]

Мне потом нужно будет часть программы перенести на Visual C, я уже разобрался как читать с помощью RegQueryValueEx, всё оказалось очень просто, нужно было просто перед аргументами ставить @ и всё.

var AdapKey: HKey;
lpData: array[0..1000] of Char;
lpType,lpcbData: LongInt;
...
RegQueryValueEx(AdapKey,"Export",nil,@lpType,@lpData,@lpcbData);
...

Form1.Memo1.Lines.Add("Значение :"+lpData);

>Cobalt с адаптерами из Packet32.dll не работал?


 
Cobalt ©   (2002-05-10 09:26) [5]

>Cobalt с адаптерами из Packet32.dll не работал?
Нет.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-95307
kserg@ukr.net
2002-07-17 16:46
2002.07.29
Знатокам: как узнать высоту ScrollBar у какого-либо объекта?


4-95601
DenNNis
2002-05-21 15:48
2002.07.29
ShellExecute


1-95448
strel
2002-07-16 20:09
2002.07.29
Ошибка при использовании DLL !!! беда :)


4-95595
Voland!
2002-05-21 02:16
2002.07.29
Mouse


4-95620
Alexfdfdfd
2002-05-22 02:33
2002.07.29
А можно ли разместить кампонент в диалоге?