Nik
![](images/avatars/16882057034dfa425d31979.png)
|
Posted: Mon Sep 05, 2005 18:49 Post subject: |
|
|
Если я все правильно понял, то можно использовать следующий алгоритм (функция проверена на 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; |
|
|