两个TStringList A和B 我想在A中去除B中的所有相同的字段,怎么去除?比如A中有
1
2
3
4
5B中有2
3
4去掉后A只有
1
5
能否帮写个函数,要求效率足够高。
1
2
3
4
5B中有2
3
4去掉后A只有
1
5
能否帮写个函数,要求效率足够高。
解决方案 »
- 一个关于正则表达式循环的问题
- 用TRegExpr 提取http://forum.csdn.net/ 中的csdn,表达式该怎样写?
- 在DELPHI窗体上创建一个超文本和静默自动更新
- 如何让MDI窗体下的相同子窗体不重复开启
- 求助,想自定义一个Delphi控件,开发人员把控件从控件板拖到窗体后,双击此控件,可弹出属性设置对话框,如何做?
- 求救!delphi7不能用
- Delphi 2005-04专家榜
- 如何制作数据库应用程序的安装程序
- 为什么Delphi6企业版还要其它的lisence key?我都晕了!!
- 过程和函数的问题
- 如何用delphi给access加密码
- 超难问题,请教delphi与VBS交互问题
procedure TForm1.Button1Click(Sender: TObject);
var
A,B:TStringList;
i,k:Integer;
s :string;
begin
A := TStringList.Create;
B := TStringList.Create;
try
//Sorted属性一定要设为True
//设成True后List在搜索的时候就会以2分法去查找
//这样速度就会快点。暂时想到的就只有这一个方法。
A.Sorted := True;
B.Sorted := True;
for i:=0 to B.Count -1 do
begin
s := B.Strings[i];
if A.Find(s,k) then
A.Delete(K);
end;
finally
A.Free;
B.Free;
end;
end;
begin
s := B.Strings[i];
if A.Indexof(S)>-1 then
A.Delete(K);
end;
也可以