【问题标题】:Line break in TIniFIle in DelphiDelphi中TIniFIle中的换行符
【发布时间】:2012-07-28 15:11:45
【问题描述】:

如何轻松添加换行符 在 TIniFile 中?

我想分隔 .ini 中的每个部分 使其更具可读性。

谢谢

【问题讨论】:

  • 您尝试过 TMemIniFile 吗?我有一个模糊的回忆,在部分之间留下了换行符。
  • @David:确实如此,但我听说它也会删除任何 cmets。
  • @Bruce 是的,这是真的。它还可以在网络共享上可靠运行。
  • TMemIniFile添加断线的功能是什么?
  • @warren 这个问题实际上并没有要求保留任何东西,只是在写入文件时,各个部分很好地分开。保留原始文件的问题来自其他评论者。

标签: delphi delphi-7


【解决方案1】:

我想我会澄清Wouter van Nifterick 的答案。 Delphi 中当前的TIniFile 对象不支持换行符。为此,您必须手动进行。这是一个示例:

procedure LineBreakBeforeSection(const Filename, SectionName: String);
var
  L: TStringList;
  X: Integer;
  S, C: String;
begin
  L:= TStringList.Create;
  try
    L.LoadFromFile(Filename);
    C:= '['+UpperCase(SectionName)+']';
    for X:= 0 to L.Count - 1 do begin
      S:= UpperCase(Trim(L[X]));
      if S = C then begin
        L.Insert(X, '');
        Break;
      end;
    end;
    L.SaveToFile(Filename);
  finally
    L.Free;
  end;
end;

【讨论】:

  • 你为什么要一次做这一节?无论如何,TMemIniFile 是显而易见的方法。
【解决方案2】:

我是这样做的:

  • 打开 ini 文件(如 tstringlist.loadfromfile 或 tfile.readalllines)
  • 遍历所有行。
    • 如果该行不是第一行,并且该行以[开头,则插入一行(中断)。

作为一个不应该比编写此伪代码花费更多工作的函数。

最好将它包装在 tmemini 或 tinifile 后代中,这样您就不必每次写入 inifile 时都手动调用它。

【讨论】:

    猜你喜欢
    • 2021-04-05
    • 2014-08-04
    • 2016-02-21
    • 2010-09-20
    • 2021-04-21
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多