关于Delphi的Memo1删除重复项的问题!

procedureTForm1.Button1Click(Sender:TObject);varl,i:Integer;beginl:=1;while(True)dobe... procedure TForm1.Button1Click(Sender: TObject);
var
l,i: Integer;
begin
l := 1;
while (True) do
begin
for i:=0 to Memo1.Lines.Count-1 do
begin
if (Pos(Memo1.Lines[i], ' ' + Memo1.Lines[l]) >= 1) then Memo1.Lines.Delete(i);
end;
if (l >= Memo1.Lines.Count - 1) then Break;
Inc(l,1)
end;

end;

实现Memo列表中的

Memo1
Memo1
Memo2
Memo2
Memo3
Memo4
Memo4
Memo3

运行结果为
Memo1
Memo2
Memo3
Memo4

然后在点击按钮后就没有任何效果 因为没有重复项!

小弟不才无法解决希望大大能解决,这里先谢谢大家了!
var
i:integer;
s:string;
begin
for i:=0 to memo1.Lines.Count -1 do //循环总数
begin
s:=memo1.Lines[i];//取得比较字符串
memo1.Lines.Delete(i);//去除比较字符串
while memo1.Lines.IndexOf(s)>-1 do
memo1.Lines.Delete(memo1.Lines.IndexOf(s)); //删除所有与s相同的重复字符串
memo1.Lines.Insert(i,s); //恢复s1
end;

解决了给分给你吧,虽然你没写代码但是提示让我找到答案了!
展开
 我来答
zzluo
2008-06-24 · TA获得超过496个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:471万
展开全部
提醒你一下 Memo1.Lines.Indexof('Memo2') 的意思是'Memo2'的内容所在的索引值

所以 当Memo1.Lines.IndexOf('Memo2') = -1 的时候,说明里面没有这个内容

建个临时列表保存不重复的值,之后再返回到Memo1里。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式