Ok das funzt schon jetzt kann ich aber nur 2 Dateien auschliessen so:
Delphi-Quellcode:
begin
// Wichtig: vom Ende zum Anfang löschen
for i:=list.count-1 downto 0 do
begin
if (Pos(list[i], 'wichtigedatei1.zip')>0) or (Pos(list[i], 'nächstewichtige2.zip')>0) then
// Diese Dateien in Ruhe lassen, die anderen alle aus der Liste entfernen
else
list.Delete(i);
end;
end;
Wie kann ich jetzt aber mehrere auschliessen, ein 2. or wird nicht vertragen und mit Kommas bring ich auch nichts fertig ;(
Edit:
Ok ich bin jetzt so vorgegangen:
procedure CleanList(list:TStrings);
var
i : integer;
dateien: string;
exparr: TStringDynArray;
begin
// Wichtig: vom Ende zum Anfang löschen
dateien := 'wichtigedatei1.zip||nächstewichtige2.zip||nochmal seinedatei3.zip$'; // Dieser String wird in das Array geschrieben.
exparr := explode('$', dateien); // String in Array speichern.
for i:=list.count-1 downto 0 do
begin
if Pos(list[i], exparr[i])>0 then
// Diese Dateien in Ruhe lassen, die anderen alle aus der Liste entfernen
else
list.Delete(i);
end;
end;
Aber jetzt löscht es mir alle Dateien, das ist mir wirklich unklar ??