[Delphi] duplikaty

0

yyy ktos ma jaks pomysl jak by mozna by usunać duplikaty(dwa takie same wpisy) z listy listView?

0

tak.
lecisz od dlugosc-1 do 0 , i przy kazdym sprawdzasz czy "gdzies w dol" nie ma duplikatu. jak jest, to usuwasz aktualna pozycje i lecisz dalej

0

Szukałem, znalazłem, przerobiłem na własne potrzeby... i jest:

function Zdublowany(Lista: TListView; Text: string): Boolean;
var
 i: integer;
begin
 Result := False;
 for i := Lista.Items.Count-1 downto 0 do
  {Jeśli istnieje zdublowany wpis...}
  if AnsiLowerCase(Lista.Items[i].Caption) = AnsiLowerCase(Text) then Result := True;
end;

{Wywołanie funkcji}
var
 Item: TListItem;
begin
 {Jeśli wynikiem funkcji jest False to dodaj nową pozycję}
 if Zdublowany(ListView1, 'jakiś_tekst_do_dodania_do_ListView') = False then
   begin
    Item := ListView1.Items.Add;
    Item.StateIndex      := -1;
    Item.Caption           := 'tekst1...';
    Item.SubItems.Text := 'tekst2...';
   end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1