【发布时间】:2026-01-08 21:10:01
【问题描述】:
我有一个文本文件,包括:
John###198cm###90kg###19age
Tom###120cm###34kg###8age
我想将它们从文件中读取到 FreePascal 中的两个列表中。
我尝试使用 LoadFromFile 函数,它应该将一行放入列表,但它不适合我。
【问题讨论】:
标签: pascal freepascal
我有一个文本文件,包括:
John###198cm###90kg###19age
Tom###120cm###34kg###8age
我想将它们从文件中读取到 FreePascal 中的两个列表中。
我尝试使用 LoadFromFile 函数,它应该将一行放入列表,但它不适合我。
【问题讨论】:
标签: pascal freepascal
这是您的问题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;
【讨论】: