Seite 1 von 1

Ordnung im ListIconGadget (Füllen)

Verfasst: 01.02.2005 12:52
von MVXA
Hallo :)!
Ich habe eine kurze frage weil ich genau weiß das dieser Code nicht gerade effizient ist /:->. Ich habe in meinem Programm eine Dateipool und den möchte ich über ein ListIconGadget ausgeben, damit der User Dateien aus der Liste löschen kann und so. Dafür habe ich nun eine kleine Prozedur geschrieben die alle 50 millisekunden das aktuell ausgewählte Item abspeichert, die Liste erneuert und dann wieder das ausgewählte Item setzt. Da dieser Code wie gesagt nicht gerade das effizienteste ist wollte ich euch fragen wie man das besser lösen könne:

Code: Alles auswählen

        RefreshList + 1
        If RefreshList = 50
            SelectedItem = GetGadgetItemState(#lstFileList, #PB_ListIcon_Selected)
            ClearGadgetItemList(#lstFileList)
            FirstElement(FilePool())
            ForEach FilePool()
                AddGadgetItem(#lstFileList, -1, FilePool()\filName+#LF$+Str(FilePool()\filSize)+#LF$+FormatDate("%dd.%mm.%yyyy", FilePool()\filDate)+#LF$+FilePool()\filMD5FingerPrint)
            Next
            RefreshList = 0
            SetGadgetItemState(#lstFileList, SelectedItem, #PB_ListIcon_Selected)
        EndIf

Verfasst: 01.02.2005 13:16
von Danilo
Wieso möchtest Du denn überhaupt die Liste alle 50ms
erneut anzeigen?
Das ist doch nur nötig wenn etwas in der Liste geändert wurde.

Wenn Du mit der Liste Dateien zum löschen auswählen
kannst (so habe ich das verstanden), dann brauchst Du
dann auch nur die Datei, das entspr. GadgetItem, und den
Eintrag aus der LinkedList löschen.

Verfasst: 01.02.2005 13:21
von MVXA
mhh, danke, auf die idee bin ich weiß gott nicht gekommen :freak:. Danke das du dir die Zeit für mein Problem genommen hast :allright: