hallo habe etwa 200o listview zeilen
so sieht es in etwa aus
würde vgerne wenn in spalte 2 folgedes ist die ganze zeile löschen
kann mir jemadn helfen?
hallo habe etwa 200o listview zeilen
so sieht es in etwa aus
würde vgerne wenn in spalte 2 folgedes ist die ganze zeile löschen
kann mir jemadn helfen?
Was du suchst ist:
_GUICtrlListView_GetItemCount
_GUICtrlListView_GetItemText
_GUICtrlListView_DeleteItem
Damit eine for Schleife basteln, die von 0 bis itemcount geht, dann jeweils den text auslesen und gucken, obs das ist, was du suchst. wenn ja, zeile löschen.
Für die Performance ist es wichtig vor der Schleife
_GUICtrlListView_BeginUpdate
und danach
_GUICtrlListView_EndUpdate
zu schreiben. Dann wird die Listview nicht bei jedem löschen neugezeichnet,... -> schneller und die Änderung tritt auf einmal auf und es verschwindet nicht Zeile für Zeile.
Das sollte reichen, für das was du vorhast
Damit eine for Schleife basteln, die von 0 bis itemcount geht
Damit sägst du den Ast ab, auf dem du sitzt
Du mußt das Listview vom letzten Eintrag zum ersten iterieren (Itemcount-1 to 0 step -1). Anderenfalls stimmen die Indexwerte nach Löschen eines Eintrages nicht mehr.
Naja. Wenn man den Index passend verkleinert geht das
Von hinten nach vorne ist zwar klüger, umsetzten tu ich aber meist die Methode mit dem verkleinern des Indexes^^
Wenn es auf Geschwindigkeit ankommt, ist es eh besser (vor der Anzeige im Listview) das Daten-Array durchzugehen und dort die entsprechenden Einträge zu löschen.
Oder (noch besser, weil dann auch noch weniger Speicher verbraucht wird) bereits beim erstellen des Daten-Arrays (auslesen der Verzeichnisse) eine entsprechende Filterung vorzunehmen.