Seite 1 von 1

[erledigt] ListIconGadget filtern - wie ?

Verfasst: 27.01.2006 18:19
von scholly
Tach zusammen...

Ich sitz seit einigen Tagen bei meiner Video-Verwaltung an der Stelle fest, wo nach "ausfüllen" eines Filter-Requesters das ListIconGadget gefiltert werden soll.
Den Source für den Filterrequester hab ich mal hier abgelegt:
http://www.isis.de/~uscholz/purebasic/3.94/filter.pb
Irgendwie dreh ich mich bei meinen Überlegungen, WIE ich filtern soll, nun im Kreis :(
Bisheriges Ergebnis:
Ich weise den 3 Bestandteilen Compare_Item,Operation und Compare_value anhand der Requester-Einträge Werte zu.

Nun fange ich mit dem ersten Datensatz (ListIconGadgetItem 0) an.
Für jeden Satz prüfe ich in einer 3-fach gestaffelten IF-Schleife, ob das Filterkriterium erfüllt ist. Wenn ja, erhöhe ich den Zähler für den Datensatz (ListIconGadgetItem), wenn nein, lösche ich den aktuellen Datensatz (ListIcon-Zeile).
Das mache ich solange, bis cur_entry = CountGadgetItems().

Pseudocode:

Code: Alles auswählen

cur_entry = 0
repeat
  If compare_item = ....
     If operation = ....
        If value(compare_item) [operation] compare_value
           Kriterium erfüllt, nächster Datensatz
        Else
           RemoveGadgetItem(cur_entry)
        Endif
      ElseIf operation = ....
      ...
      Endif 
  ElseIf compare_item = ....
  ...
  EndIf
until cur_entry = CountGadgetItems()
Ist das wirklich der sinnvollste Weg in diesem Fall oder bin ich so betriebsblind, daß ich was einfacheres/eleganteres übersehe.

Blindenbinde suchend...
scholly

Verfasst: 28.01.2006 15:15
von Icke
Mach doch so :

Code: Alles auswählen


cur_entry = 0

Repeat
  
  If compare_item = .... And operation = .... And value(compare_item) [operation] compare_value
    Kriterium erfüllt, nächster Datensatz
  Else
    RemoveGadgetItem(cur_entry)
  EndIf
  
Until cur_entry = CountGadgetItems() 



ListIconGadget filtern - wie ?

Verfasst: 28.01.2006 16:07
von scholly
Damit kann ich aber die notwendigen "ElseIf"-Zweige nicht berücksichtigen, die sich ja aus dem Filter-Requester zwingend ergeben.

Verfasst: 28.01.2006 16:10
von Icke
Die Filter hatte ich mir nicht angesehen. In dem Fall lässt sich der Code wohl auch nicht verbessern ...