请教:A和B是两个tstringlist,如何除去B里面所有与A里面相同的项目?用下面的代码为什么会出错呢?
请教:A和B是两个tstringlist,如何除去B里面所有与A里面相同的项目?用下面的代码为什么会出错呢? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiBase/html/delphi_20061220050104112.html
我的意思是,如果是A,B是集合的话,那么我要B-A;
for x:=1 to A.count do
for y:=1 to B.count do
if a[x-1]=b[y-1] then b.delete(y-1);
用如下代码为什么会出错,如何修改呢?万分感谢回答的朋友!
http://www.delphi2007.net/DelphiBase/html/delphi_20061220050104112.html
我的意思是,如果是A,B是集合的话,那么我要B-A;
for x:=1 to A.count do
for y:=1 to B.count do
if a[x-1]=b[y-1] then b.delete(y-1);
用如下代码为什么会出错,如何修改呢?万分感谢回答的朋友!
for x:=1 to A.count do
for y:=B.count-1 downto 0 do
if a[x-1]=b[y-1] then b.delete(y-1);
因为你在B中删除一个项目后,B的COUNT值就变化了.....所以啊你应当在查询B时,要用DOWNTO来循环.
严重同意一楼。
楼上说的对,不能从头到脚,只能从脚到头这样删除才行
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;