There may be situation when you DO NOT delete certain items. Then the generic approach would be
i := 0;
while i < ListBox3.Items.Count do
begin
ShowMessage(ListBox3.Items[i]);
if then // some condition there
ListBox3.Items.Delete(i)
else
Inc(i);
end;