Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: разобрать секцию из ini файла 
Author Message
Nik



PostPosted: Mon Sep 05, 2005 18:49    Post subject: Reply with quote

Если я все правильно понял, то можно использовать следующий алгоритм (функция проверена на Delphi 7/2005, используется в моем AmpView, работает стабильно и довольно шустро). Никаких дополнительных модулей не надо (TIniFile я вообще никогда не использую).

Code:
function ReadIniSection(const Section: string; FileName: string): TStringList;
const
  BufSize = 16384;
var
  Buffer, P: PChar;
begin
  result:=TStringList.Create;
  GetMem(Buffer, BufSize);
  try
    result.BeginUpdate;
    try
      result.Clear;
      if GetPrivateProfileString(PChar(Section), nil, nil, Buffer, BufSize,
        PChar(FileName)) <> 0 then
      begin
        P := Buffer;
        while P^ <> #0 do
        begin
          result.Add(P);
          Inc(P, StrLen(P) + 1);
        end;
      end;
    finally
      result.EndUpdate;
    end;
  finally
    FreeMem(Buffer, BufSize);
  end;
end;
View user's profile Send private message Visit poster's website ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group