【发布时间】:2017-10-03 20:59:51
【问题描述】:
当我尝试按索引将特定字符串从一个 TStringList 复制到另一个时,出现“键的索引限制”错误。
我有一个文本文件,其中包含用管道“|”格式化的行分隔符。它看起来像这样:
在我的目标文件中,我只想复制以'3M' 开头的行中的一些项目,以便获得类似的内容(例如第一行):
3M 是Stringlist.strings[1]
2189300002 是Stringlist.strings[3]
12.99 是Stringlist.strings[6]
这是我的代码:
var
sl,new : tstringlist;
lscount,index : integer;
begin
sl:= TStringList.Create;
sl.LoadFromFile('C:\Folder\test.txt');
new := tstringlist.create;
lscount := lstringlist.Count;
for index := 0 to lscount do
begin
sl.delimiter := '|';
sl.StrictDelimiter := True;
sl.DelimitedText := sl.Strings[index];
if sl.Strings[1] = '3M' then
new.Add(sl.Strings[1]+sl.Strings[3]+sl.Strings[6]);
end;
new.SaveToFile('C:\Folder\new.txt');
sl.Free;
new.Free
end;
我的代码有什么问题?
【问题讨论】:
标签: text delphi-xe5 tstringlist