Thema: Delphi filtern ohne Duplikate

Einzelnen Beitrag anzeigen

MarLe

Registriert seit: 13. Jan 2005
83 Beiträge
 
Delphi XE2 Professional
 
#1

filtern ohne Duplikate

  Alt 22. Feb 2005, 14:10
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;
  Mit Zitat antworten Zitat