delphi中Tstringlist删除数据的问题

2025-02-23 17:19:07
推荐回答(4个)
回答1:

这个需要用循环实现了
var
i, j : integer;
.....

for i := 0 to list1.count -1 do
for j := 0 to list2.count - 1 do
if (list1.item[i].text = list2.item[j].text)
list1.delete(i);

好长时间不写DELPHI的代码了,大约是这样的。

回答2:

var
list1, list2: TStringList;
i: Integer;
begin
list1 := TStringList.Create;
list2 := TStringList.Create;
...此处进行初始化
i := list1.Count - 1;
while i >= 0 do
begin
if list2.IndexOf(list1[i]) >= 0 then
list1.Delete(i);
Dec(i);
end;
list2.Free;
list1.Free;
end;

回答3:

如果list2的每个值在list1中的位置也是连续的,直接用取代函数。
若不一样只能用循环了!
如果值很多的话,就在添加值到list中之前就判断是否在另一个list中,若在就不添加了。

回答4:

本节视频我们来聊一聊如何删除数据表的行。Treelab 官网(免费注册体验):www.treelab.com.cn