[erledigt] ListIconGadget filtern - wie ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[erledigt] ListIconGadget filtern - wie ?

Beitrag 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
Zuletzt geändert von scholly am 21.04.2008 23:41, insgesamt 2-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag 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() 


Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

ListIconGadget filtern - wie ?

Beitrag von scholly »

Damit kann ich aber die notwendigen "ElseIf"-Zweige nicht berücksichtigen, die sich ja aus dem Filter-Requester zwingend ergeben.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Die Filter hatte ich mir nicht angesehen. In dem Fall lässt sich der Code wohl auch nicht verbessern ...
Antworten