LinkedLists - bestimmten Eintrag auslesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

LinkedLists - bestimmten Eintrag auslesen

Beitrag von Delle »

Angenommen ich will gezielt nur den 3. Eintrag einer LL auslesen, wie geht das?

Kenne bisher nur die ForEach-Variante...
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag von Leo »

[c]SelectElement(Liste(),Element)[/c]
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: LinkedLists - bestimmten Eintrag auslesen

Beitrag von Danilo »

Delle hat geschrieben:Angenommen ich will gezielt nur den 3. Eintrag einer LL auslesen, wie geht das?
SelectElement(Liste(),2)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

SelectElement(Liste(),3)
MessageRequester("",Str(Liste()),0)

Okay! Aber warum liefert mir das nur eine Zahl zurück und keinen Inhalt?

Wenn ich z.B. "user" aus der Liste ausgegen haben will, muss ich das noch dranhängen?
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Delle hat geschrieben:SelectElement(Liste(),3)
MessageRequester("",Str(Liste()),0)
Du wolltest das 3. Element haben, also mußt Du dort 2 angeben.
Der Listenindex beginnt bei 0.
Delle hat geschrieben:Okay! Aber warum liefert mir das nur eine Zahl zurück und keinen Inhalt?

Wenn ich z.B. "user" aus der Liste ausgegen haben will, muss ich das noch dranhängen?
Wenn Deine LL vom Type String ist, mußt Du nur die Liste angeben.

Code: Alles auswählen

MessageRequester("",Liste())
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Auch wenn ich Index 0 nehme, bekomme ich nur eine Zahl als Ergebnis.

An dem Str() wird es wohl auch nicht liegen...
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Delle hat geschrieben:An dem Str() wird es wohl auch nicht liegen...
Doch. Deshalb sagte ich ja auch Du sollst das weglassen bei Strings.
Str(), StrF(), StrU() sind dazu da Zahlen in Strings zu verwandeln.

Code: Alles auswählen

NewList Liste.s()

If AddElement(Liste()) : Liste()="Eintrag 1" : EndIf
If AddElement(Liste()) : Liste()="Eintrag 2" : EndIf
If AddElement(Liste()) : Liste()="Eintrag 3" : EndIf
If AddElement(Liste()) : Liste()="Eintrag 4" : EndIf


SelectElement(Liste(),2)

MessageRequester("",Liste())
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Ah......... :-) kleines Problem noch: Es ist keine normale LL sondern mit einer Struktur.

NewList Liste.Liste.s() bringt natürlich einen Fehler, wo muss das ".s" hin?

Wie kann ich gezielt nur "user" aus der Struktur ausgeben lassen?
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Delle hat geschrieben:Kleines Problem noch: Es ist keine normale LL sondern mit einer Struktur.

NewList Liste.Liste.s() bringt natürlich einen Fehler, wo muss das ".s" hin?
Das '.s' muß dann logischerweise in die Struktur.

Code: Alles auswählen

Structure liste1
  string.s
EndStructure

NewList Liste.liste1()

If AddElement(Liste()) : Liste()\string="Eintrag 1" : EndIf
If AddElement(Liste()) : Liste()\string="Eintrag 2" : EndIf
If AddElement(Liste()) : Liste()\string="Eintrag 3" : EndIf
If AddElement(Liste()) : Liste()\string="Eintrag 4" : EndIf


SelectElement(Liste(),2)

MessageRequester("",Liste()\string)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten