从FreePascal中的文本文件读取到列表中

时间:2013-03-17 17:20:35

标签: pascal freepascal

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

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

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

我曾尝试使用LoadFromFile函数,该函数应该将一行列入列表,但它对我不起作用。

1 个答案:

答案 0 :(得分: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;