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