Liste analysieren? (mir fällt kein besserer Topic ein)

Für allgemeine Fragen zur Programmierung mit PureBasic.
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag von glubschi90 »

Das artet hier ja zu einem richtigen Chat aus! :)
Ihr postet schneller, als ich schreiben kann :wink:
PureBasic 4.30
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag von glubschi90 »

pvmichael hat geschrieben:ListIconGadget
Funktioniert im prinzip ja genauso wie LinkedLists, oder???

Statt z.B. CountList()
kann man ja CountGadgetItems()
benutzen...
PureBasic 4.30
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Tja, Übung ;-)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

glubschi90 hat geschrieben:
pvmichael hat geschrieben:ListIconGadget
Funktioniert im prinzip ja genauso wie LinkedLists, oder???

Statt z.B. CountList()
kann man ja CountGadgetItems()
benutzen...
Es geht ja aber darum dass er doppelte Einträge rausfiltern möchte.

@pvmichael: leg eine LinkedList an und kopier da die Strings rein, aber nur dann wenn noch nicht vorhanden. Dann einfach CountList() verwenden (oder intern einen eigenen Zähler mitlaufen lassen. Aber seit 3.92 wird dass ja schon intern in der Liste gemacht, also warum doppelt machen?)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

glubschi90 hat geschrieben:
pvmichael hat geschrieben:ListIconGadget
Funktioniert im prinzip ja genauso wie LinkedLists, oder???

Statt z.B. CountList()
kann man ja CountGadgetItems()
benutzen...
Ja, nur mit CountGadgetItems() bekomme ich nur die Gesamtanzahl raus. Davon müsste ich theoretisch irgendwie die Anzahl(-1) der Einträge abziehen, welche mehrfach vorkommen. Nur wie!?
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

freedimension hat geschrieben: @pvmichael: leg eine LinkedList an und kopier da die Strings rein, aber nur dann wenn noch nicht vorhanden.
Das geht so aber nicht, denn ich möchte ja auch den Eintrag mitzählen, wenn er mehrfach vorkommt, aber eben nur EINMAL und nicht so oft, wie er vorkommt.

EDIT: AHHHHH!! jetzt hab ichs kapiert.... vergiss meinen text hier drüber...
glubschi90
Beiträge: 274
Registriert: 04.09.2004 01:43
Wohnort: Würzburg

Beitrag von glubschi90 »

pvmichael hat geschrieben:Ja, nur mit CountGadgetItems() bekomme ich nur die Gesamtanzahl raus. Davon müsste ich theoretisch irgendwie die Anzahl(-1) der Einträge abziehen, welche mehrfach vorkommen. Nur wie!?
...
Naja... Vielleicht könnte man das Variablenbeispiel von mir auf Seite 1 benutzen...
(Bitte nicht schimpfen, wenn das überhaupt nichts damit zu tun hat... :| )
PureBasic 4.30
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

hmmm....

in der Schleife, welche eine Datei einliest, und die Werte ins IconListGadget schreibt, habe ich folgenden Code:

Code: Alles auswählen

    For x = 0 To CountList(Server())
      SelectElement(Server(),x)
      If StringField(Text$,2,"|") = Server()
        Match = 1
      EndIf
    Next
    If Match = 0
      AddElement(Server())
      Server() = StringField(Text$,2,"|")
    EndIf
    Match = 0
Der Debugger meldet mir "The linked list doesnt have a current element."

Ist mir zwar klar, weil das Element noch nicht existiert, aber was mach ich nun?
Benutzeravatar
pvmichael
Beiträge: 144
Registriert: 29.08.2004 17:59
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von pvmichael »

Juhuuu! Ich habs geschafft...

Code: Alles auswählen

 If CountList(Server()) > 0
    For x = 0 To CountList(Server())
      SelectElement(Server(),x)
      If StringField(Text$,2,"|") = Server()
        Match = 1
      EndIf
    Next
    If Match = 0
      AddElement(Server())
      Server() = StringField(Text$,2,"|")
    EndIf
    Match = 0
  Else
    AddElement(Server())
    Server() = StringField(Text$,2,"|")
  EndIf
Danke für Eure Hilfe!

pvmichael
Antworten