Salve a tutti,
ho un problema con il Visual Basic 6 per quanto riguarda la Listview.
Come e' risaputo per eliminare una riga in una Listview si adopera il comando:
Lista.ListItems.Remove i
con i la riga che si vuole eliminare.
A questo punto io pero' devo cancellare dalla lista la riga in cui compare come primo elemento colonna la parola "pippo"; io ovviamente dovrei scandire tutta la lista e nel momento in cui trovo "pippo" devo cancellare la riga.
Si potrebbe pensare di implementare una funzione del genere:
For i = 1 To Lista.ListItems.Count
If Lista.ListItems.Item(i) = "pippo" Then
Lista.ListItems.Remove i
End If
Next
pero' questa da errore perche' giustamente se io cancello una riga, Lista.ListItems.Count se prima era 10 ora diventa 9 e a fine ciclo for il VB va errore perche' Lista.ListItems.Item(10) non esiste piu' dato che l'ho cancellato.
Esiste una funzione che non vada in errore senza usare On Error Next Resume?
P.S. io ho provato anche in questo modo:
Dim Elementi
Elementi = Lista.ListItems.Count
For i = 1 To Elementi
If Lista.ListItems.Item(i) = "pippo" Then
Lista.ListItems.Remove i
Elementi = Elementi -1
End If
Next
Ma non va bene lo stesso...
..grazie in anticipo per la risposta
Next