![]() |
filtern ohne Duplikate
In einer Stringliste hab ich z.B. folgende Einträge:
Test1_in Test1_out Test2_in Test2_out Test2_max Test3_in Test3_out Test3_min Aus dieser Liste will ich jetzt nur Test1 Test2 Test3 die ersten 5 Zeichen holen ohne Duplikate. Mein Code funktioniert zwar, aber wenn die Testreihen sich erhöhen wird der Code immer unübersichtlicher. Hat vielleicht jemand eine Idee wie man das "filtern" eleganter lösen kann???
Delphi-Quellcode:
var
service1: array[0..2] of string; service2: array[0..2] of string; service3: array[0..2] of string; sl1: TStringList; i: integer; xyz: string; ... for i := 0 to sl1.Count-1 do begin xyz := copy(sl1[i],0,5); // damit hol ich mir die ersten 5 Zeichen if service1[0] = '' then service1[0] := xyz; if (service2[0] = '') and (xyz <> service1[0]) then service2[0] := xyz; if (service3[0] = '') and (xyz <> service1[0]) and (xyz <> service2[0]) then service3[0] := xyz; end; |
Re: filtern ohne Duplikate
Ich wuerde mir eine 2. Stringliste erzeugen und jeweils die ersten 5 Zeichen hinzuadden.
Delphi-Quellcode:
sort.Duplicates := dupIgnore verhindert, dass du Duplikate bekommst.
sort := TStringList.Create;
sort.Sorted := True; sort.Duplicates := dupIgnore; sort.Add(wert); sort.Free; |
Re: filtern ohne Duplikate
Danke, funktioniert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz