На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: jack128, Rouse_, Krid
  
    > Чтение параметра REG_MULTI_SZ (мультистроковый параметр)
      ExpandedWrap disabled
        type
          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_
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0163 ]   [ 16 queries used ]   [ Generated: 2.05.24, 21:59 GMT ]