Code: |
type {©Drkb v.3(2007): www.drkb.ru}
TExRegistry = class(TRegistry) public function ReadStrings(const ValueName: String): String; end;
function TExRegistry.ReadStrings(const ValueName: String): String; var ValueType : DWORD; ValueLen : DWORD; P, Buffer : PChar; begin Result := ''; SetLastError(RegQueryValueEx(CurrentKey, PChar (ValueName), nil, @ValueType, nil, @ValueLen)); if GetLastError = ERROR_SUCCESS then begin if ValueType = REG_MULTI_SZ then begin GetMem(Buffer, ValueLen); try RegQueryValueEx(CurrentKey, PChar(ValueName), nil, nil, PBYTE(Buffer), @ValueLen); P := Buffer; while P^ <> #0 do begin if Result <> '' then Result := Result + sLineBreak; Result := Result + P; Inc(P, lstrlen(P) + 1); end; finally FreeMem (Buffer); end; end else raise ERegistryException.Create ('String list expected'); end else raise Exception.Create ('Unable read MULTI_SZ value'); end; |
Автор: Александр (Rouse_) Багель
- << Назад
- Вперёд
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!