TIniFile.ReadSection在第一个空行停止

时间:2017-10-27 10:53:10

标签: delphi

说我有一个包含以下内容的ini文件:

[Section_1]
one=1
two=2

four=4
five=5

然后,当以后使用TIniFile.ReadSection('Section_1', MyStringList)时,MyStringList将不包含.ini文件中的空行。

我如何克服这一点并让MyStringList包含所有行,包括空行?

我需要从ini部分填充TMemo,我必须依赖于每行必须从ini部分加载到TMemo的事实,甚至是空行。

1 个答案:

答案 0 :(得分:2)

TIniFileTMemIniFile都会忽略空行。如果您需要加载空行,则必须自己解析文件,例如使用TStringList

MyStringList.LoadFromFile('file.ini');
i := MyStringList.IndexOf('[Section_1]');
if i >= 0 then
begin
  for j := i+1 to MyStringList.Count-1 do
  begin
    s := Trim(MyStringList[j]);
    if (s <> '') and (s[1] = '[') and (s[Length(s)] = ']') then
      Break;
    // add s to Memo as needed...
  end;
end;