.INI文件中的SubSection支持

时间:2014-01-10 13:34:37

标签: delphi ini

Delphi的RTL具有诱人的功能:TCustomIniFile.ReadSubSections

但这似乎并没有在任何地方得到恰当的解释。

  • 你如何写小节?
  • 小节如何实际出现在INI文件中?
  • 而且,一旦你打电话给ReadSubSections,你如何使用结果来读取特定小节的数据?

1 个答案:

答案 0 :(得分:4)

要编写子部分,只需使用反斜杠加入您的部分名称和子部分名称。

[SECTION_NAME \ subsection_name]

procedure Foo;
var
  LIniFile: TIniFile;
  slValues: TStringList;
  IniFileName: string;
begin
  IniFileName := ''; //your ini file
  LIniFile := TIniFile.Create(IniFileName);
  try
    //SECTION = MAINSECTION
    //SUBSECTIONS = SUBSECTION_A
    //            = SUBSECTION_B
    LIniFile.WriteString('MAINSECTION\SUBSECTION_A','IDENT','A');
    LIniFile.WriteString('MAINSECTION\SUBSECTION_B','IDENT','B');

    slValues := TStringList.Create;
    try
      LIniFile.ReadSubSections('MAINSECTION', slValues);
      //slValues.count = 2
      //slValues.strings[0] = SUBSECTION_A
      //slValues.strings[1] = SUBSECTION_B
      // do your stuff here!
    finally
      slValues.Free;
    end;
  finally
    LIniFile.Free;
  end;
end;

ini文件看起来像:

[MAINSECTION\SUBSECTION_A]
IDENT=A
[MAINSECTION\SUBSECTION_B]
IDENT=B