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;