保存到INI文件时,尤其是在定义了多个部分时,数据将一起保存,部分之间不存在任何行.
对于外部编辑,将每个部分与换行符分开会很方便,以便更容易查看和编辑INI文件.
例如:
标准Ini
[GENERAL]
value1=0
value2=somestring
[ADVANCED]
type=1
autosave=0
[OTHER]
showatstartup=1
Run Code Online (Sandbox Code Playgroud)
Ini有分隔线
[GENERAL]
value1=0
value2=somestring
[ADVANCED]
type=1
autosave=0
[OTHER]
showatstartup=1
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
加载文件并在每个部分名称前插入空行.这是一个功能:
procedure InsertSectionLineBreaks(const IniFile: TFileName);
var
f: TStrings;
i: Integer;
begin
f := TStringList.Create;
try
f.LoadFromFile(IniFile);
for i := Pred(f.Count) downto 1 do
if (f[i] <> '') and (f[i][1] = '[') then
f.Insert(i, '');
f.SaveToFile(IniFile);
finally
f.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
请注意,如果节名称之前已经有一个空行,则此代码将添加另一个.假设我们不需要在文件的第一部分上方添加空行,循环下降到1而不是零.