Listview Items löschen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
onny
Beiträge: 400
Registriert: 27.04.2005 17:50
Kontaktdaten:

Listview Items löschen

Beitrag von onny »

Hi Leute ich habe folgendes Problem: Ich habe ein Listviewgadget mit #PB_ListView_Multiselect. Jetzt will ich dass man per Knopfdruck alle ausgewählten Items entfernen kann.

Code: Alles auswählen

If OpenFile(0,path$)
          itemcount = CountGadgetItems(13)
          For i = 0 To itemcount
            itemstate = GetGadgetItemState(13,i)
            If itemstate = 1
              RemoveGadgetItem(13,i)
            EndIf
          Next
        EndIf
        CloseFile(0)
Hier stellt sich allerdings das Problem dass sich die Anzahl der Items verändert wenn ich eins lösche. Und das führt dazu dass immer nur die Hälfte der ausgewählten Items gelöscht wird.
Wie kann ich das korrekt schreiben?
Danke im Voraus!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Listview Items löschen

Beitrag von Kiffi »

Beim Löschen von Listenelementen immer darauf achten, die Liste von unten
nach oben zu durchlaufen:

Code: Alles auswählen

For i = itemcount To 0 Step -1
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
onny
Beiträge: 400
Registriert: 27.04.2005 17:50
Kontaktdaten:

Beitrag von onny »

Ja so hab ich mir das vorgestellt! Vielen Dank!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Eigentlich beginnt man auch bei itemcount - 1 und nicht bei itemcount.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

NicTheQuick hat geschrieben:Eigentlich beginnt man auch bei itemcount - 1 und nicht bei itemcount.
stibimmt. Beim Umdrehen der Werte habe ich darauf nicht geachtet.

@onny: Mitbekommen?

Grüße ... Kiffi
a²+b²=mc²
Antworten