Mit Listen arbeiten
Übersicht

![]() |
VertexBetreff: Mit Listen arbeiten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich habe mehrere Funktionen, die Listen zurück geben müssen. Einserseits müssen das Typeinstanzen sein, andererseits atomare Datentypen wie String und Int. Das ist die eleganteste Lösung, die ich für Typeinstanzen mir ausgedacht habe: Code: [AUSKLAPPEN] Global LastCount%
Type TThing Field Name$ Field X% Field Y% End Type Global Thing.TThing, Index% Thing = ListThings("Eins") For Index = 1 To LastCount Print(Thing\Name + "(" + Thing\X + ", " + Thing\Y + ")") Thing = After(Thing) Next Print() : WaitKey() Thing = ListThings("Zwei") For Index = 1 To LastCount Print(Thing\Name + "(" + Thing\X + ", " + Thing\Y + ")") Thing = After(Thing) Next Print() WaitKey() Thing = ListThings("Drei") For Index = 1 To LastCount Print(Thing\Name + "(" + Thing\X + ", " + Thing\Y + ")") Thing = After(Thing) Next Print() : WaitKey() Print() Print("Fertig") WaitKey() End Function ListThings.TThing(Name$) Local Count%, Index%, Thing.TThing, FirstThing.TThing Count = Rand(1, 10) LastCount = Count For Index = 0 To Count - 1 Thing = New TThing Thing\Name = Name Thing\X = Rand(0, 255) Thing\Y = Rand(0, 255) If Index = 0 Then FirstThing = Thing Next Return FirstThing End Function ListThings gibt das erste Element der Liste zurück, und setzt eine globale Variable LastCount auf die Anzahl der Listeneinträge. Das Durchlaufen der Liste erfolgt dann in einer For-Schleife statts in einer ForEach-Schleife. Der nächste Eintrag wird per Thing = After(Thing) ermittelt. Soweit reicht das mir auch. Die Einträge werden nicht irgendwie umsortiert oder gelöscht. Jetzt suche ich aber eine elegante Lösung für String- und Integerlisten. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
spontan würd ich sagen mach einen Type mit dem feld zahl tada integer-liste oder dem field txt$ und deine funktion eignet sich dan wunderbar eine solche liste wieder auszugeben nur zei änderungn:
Code: [AUSKLAPPEN] Function ListStrings$(Name$) und
Code: [AUSKLAPPEN] Return FirstSring.Stringtype\txt$
für int entsprechend |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group