0

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

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

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

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

4

1 回答 1

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;
于 2013-03-18T08:49:09.840 回答