Seite 1 von 1

LinkedLists - bestimmten Eintrag auslesen

Verfasst: 14.05.2005 18:42
von Delle
Angenommen ich will gezielt nur den 3. Eintrag einer LL auslesen, wie geht das?

Kenne bisher nur die ForEach-Variante...

Verfasst: 14.05.2005 18:44
von Leo
[c]SelectElement(Liste(),Element)[/c]

Re: LinkedLists - bestimmten Eintrag auslesen

Verfasst: 14.05.2005 18:45
von Danilo
Delle hat geschrieben:Angenommen ich will gezielt nur den 3. Eintrag einer LL auslesen, wie geht das?
SelectElement(Liste(),2)

Verfasst: 14.05.2005 18:51
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?

Verfasst: 14.05.2005 18:58
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())

Verfasst: 14.05.2005 19:07
von Delle
Auch wenn ich Index 0 nehme, bekomme ich nur eine Zahl als Ergebnis.

An dem Str() wird es wohl auch nicht liegen...

Verfasst: 14.05.2005 19:11
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())

Verfasst: 14.05.2005 19:16
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?

Verfasst: 14.05.2005 19:19
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)