Delphi-Quellcode:
for i := Listview1.Items.Count -1 downto 0 do begin
P := StringList.IndexOf(Listview1.Items[i].Caption);
if p = -1 then Listview1.Items[i].StateIndex := 2;
if Listview1.Items[i].StateIndex = 2 then begin
Listview1.Items[i].Delete;
end;
Du könntest sowas etwas optimieren:
Delphi-Quellcode:
for i := Listview1.Items.Count-1 downto 0 do
begin
if StringList.IndexOf(Listview1.Items[i].Caption) = -1 then
ListView1.Items[i].Delete;
end;
Wenn eine Variable eh nur an 1 Stelle benutzt wird, kann man sie sich auch sparen. Zumal ich annehmen, dass der Compiler zur Optimierung das eh so macht.
Ich finde sowas macht den Code übersichtlicher. Vor allem wenn die Var-Abschnitte nicht mit überflüssigen Variablen voll sind.