【问题标题】:Reading from text file into list in FreePascal从文本文件读取到 FreePascal 中的列表
【发布时间】:2026-01-08 21:10:01
【问题描述】:

我有一个文本文件,包括:

John###198cm###90kg###19age
Tom###120cm###34kg###8age

我想将它们从文件中读取到 FreePascal 中的两个列表中。

我尝试使用 LoadFromFile 函数,它应该将一行放入列表,但它不适合我。

【问题讨论】:

    标签: pascal freepascal


    【解决方案1】:

    这是您的问题Reading from file FreePascal 的变体。

    这是一个使用ReplaceStr()### 字符转换为CR LF 对的示例。 当分配给新列表的 text 属性时,它将被拆分为项目。

    Uses
      StrUtils;
    
    procedure HandleText;
    var
      i : Integer;
      sSourceList : TStringList;
      sExpandedList : TStringList;
    begin
      sSourceList := TStringList.Create;
      sExpandedList := TStringList.Create;
      try
        sSourceList.LoadFromFile('MySource.txt');
        for i := 0 to sSourceList.Count-1 do begin      
          sExpandedList.Text := ReplaceStr(sSourceList[i],'###',#13#10);
          // Do something with your lists 
          // sExpandedList[0] = 'John' etc ...
        end;
      finally
        sSourceList.Free;
        sExpandedList.Free;
      end;
    end;
    

    【讨论】: