Oder mit ein bischen Quelltext:
Delphi-Quellcode:
for i := Listbox1.items.count-1 downto 0 do begin
if Listbox2.items.indexof(Listbox1.items[i])=-1 then begin
if DeleteFile(Listbox1.items[i]) then
Listbox1.delete(i);
end;
end;
Hier gehe ich die Listbox1 von unten nach oben durch. Wenn das jeweilige Element in der Listbox2 nicht vorhanden ist, dann wird das Backup gelöscht. Ist das Löschen erfolgreich, wird das Element aus Listbox1 auch auch gleich entfernt.
Achso, noch eine kleine Ergänzung:
das "downto" würde ich diese Stelle verwenden, weil wenn du es anders herum macht, also "for i:=0 to Listbox1.items.count-1" dann kommst du ja irgendwann an eine Stelle, wo aus Listbox1 ein Element löscht. Nach dem Löschen ist Listbox1.Items.count ja kleiner, und die Schleife will am Ende irgendwann auf ein Element zugreifen, was ja gar nicht mehr existiert. Dann hagelt es eine
Exception.