Memo 过滤重复字符 IndexOf

procedure TForm1.btn1Click(Sender: TObject);
var
  i:integer;
  s:string;
begin
  for i:=0 to memo1.Lines.Count -1 do  //循环Memo表的所有行

  begin
    s:=memo1.Lines[i];//用S变量才暂时存储这个量,最后一步恢复用

    memo1.Lines.Delete(i);//去除比较字符串
    while memo1.Lines.IndexOf(s)>-1 do//如果大于-1就说明找到了,进行下一步的删除
    memo1.Lines.Delete(memo1.Lines.IndexOf(s)); //删除所有与s相同的重复字符串
    memo1.Lines.Insert(i,s); //恢复s1
end;

end;

 

 出自:http://wenwen.soso.com/z/q230670309.htm

 

//意思就是先把第一行的相同的全部删除 也包括第一行,到最后一步从S变量中恢复第一行的数据。以此类推  遍历所有  然后把重复的数据全部删除。

补充:

你如果按钮第二次按不想执行数字添加  可以再添加数字那里作一个if条件判断,定义一个全局变量做标记,第一次运行改变下标记  在添加数字之前用if来判断是不是第一次按按钮了

posted @ 2014-01-14 10:37  stma  阅读(430)  评论(0)    收藏  举报