Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stringlist dupOnly (https://www.delphipraxis.net/99082-stringlist-duponly.html)

Klaus01 6. Sep 2007 19:19

Re: Stringlist dupOnly
 
Zitat:

Zitat von pstruh
Hallo Klaus,
also 'mal gaaaaaaaanz vorsichtig gefragt: Es sollen doch alle nur einfach vorhandenen Einträge aus der Liste verschwinden und nur die mehrfach vorhandenen Einträge übrig bleiben. Mit deiner Methode wird m. E. genau das Gegenteil bewirkt, es werden alle Mehrfacheinträge aus der Liste herausgenommen - oder denke ich da jetzt gaaaaaaanz falsch???
Gruß

Nein, liegst Du nicht falsch, hätte da besser lesen sollen.
Danke für den Hinweis.

Sodele, etwas pervers aber so geht es auch:

Delphi-Quellcode:
procedure OnlyDupes(var slList: TStringList);
var
  sl1,sl2 : TStringList;
  i: Integer;
begin
  sl1 := TStringList.create;
  sl1.sorted:=true;
  sl1.duplicates:=dupIgnore;
 
  sl2 := TstringList.create;
  sl2.sorted:=true;
  sl2.Duplicates:=dupError;

  for i:=0 to slList.count -1 do
    try
      sl2.add(slList[i]);
    except
      on E: Exception do
        begin
          sl1.add(slList[i]);
       end;
    end;
  slList.assign(sl1);
  sl1.free;
  sl2.free;
end;
Grüße
Klaus

pstruh 6. Sep 2007 20:41

Re: Stringlist dupOnly
 
Hallo Klaus,
ja, so funktioniert es - ich bin beeindruckt! Der temporäre Ressourcenverbrauch ist auch recht gering (heute aber meist ohnehin kein Thema mehr). Nun wäre es 'mal interessant beide Versionen in einem Geschwindigkeitsvergleich gegeneinander antreten zu lassen. Welche Lösung ist da wohl schneller?
Gruß aus Hamburg


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz