Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - TStringlist und Array, bei einer übereinstimmung löschen...


webmaker - Mi 08.10.03 20:05
Titel: TStringlist und Array, bei einer übereinstimmung löschen...
Hallo,
ich habe gerade n kleines Problem.
Und zwar habe ich verschiedene Strings in einer TStringlist und in einem 2d-Array.
Nun möchte ihc wenn es übereinstimmende Strings gibt, diesen aus der Stringlist löschen.
Ich habe das so probiert:

Delphi-Quelltext
1:
2:
3:
4:
 for i:=0 to HIGH(zuordnung) do
  for int:=(sl.Count -1downto 0 do
   if (Copy(zuordnung[i, 0], 1, POS('=', zuordnung[i, 0]) -1) = sl[int]) then
    sl.Delete(int);

Doch irgendwie löscht er alle Strings aus der TStringlist....:shock:
Woran liegt das?


lambruco - Mi 08.10.03 20:26

Versuche es mal mit Indexof


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
for i:= 0 to High(zuordnung) do 
  begin
     for j:=0 to High(zuordnung)do 
       begin
          for k:=sl.count-1 downto 0 do
              begin
                 slIndex:= sl.IndexOf(zuordnung[i,j]);
                 if slIndex<>-1 then
                    sl.delete(slIndex);
              end;
       end;
    end;


- ohne Gewähr -