Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#2

Re: TListView Duplikate rückwärts löschen

  Alt 17. Jun 2006, 04:04
ich habs mal so geändert, dass es funktioniert (ansiCompareText nur, weil AnsiSameText in D3 nicht existiert)

das ganze ist jetzt rückwärts...

Delphi-Quellcode:
procedure DeleteFirstDoubles(lv: TListView; SubItem: integer);
var
  li1,li2: TListItem;
  x,y : integer;
begin
  if lv.Items.Count < 1 then Exit;
  x := lv.Items.Count - 1;
  while x >= 1 do
  begin
    li1 := lv.Items[x];
    y := x - 1;
    while y >= 0 do
    begin
      li2 := lv.Items[y];
      if SubItem > -1 then
      begin
        if AnsiCompareText(li1.SubItems[SubItem], li2.SubItems[SubItem])=0 then
          li2.Delete;
      end else
      begin
        if AnsiCompareText(li1.Caption, li2.Caption)=0 then
          li2.Delete;
      end;
      dec(y);
    end;
    dec(x);
  end;
end;
Gruß Frank
  Mit Zitat antworten Zitat