我有一个文本文件,包括:
John###198cm###90kg###19age
Tom###120cm###34kg###8age
我想将它们从文件中读取到FreePascal中的两个列表中。
我曾尝试使用LoadFromFile函数,该函数应该将一行列入列表,但它对我不起作用。
答案 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;