Listen in einer Liste...

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Freeman

Betreff: Listen in einer Liste...

BeitragFr, Dez 16, 2005 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

ich arbeite grad wieder ein bisschen mit Bmax und bin da auf ein Problem gestoßen.
Code: [AUSKLAPPEN]

SuperStrict

Global XX:tlist=CreateList()

Type liste
Field eintrag:String
Field list:Tlist

Function create:liste()
Local e:liste=New liste
e.list:Tlist=CreateList()
XX.addlast(e)
End Function

Function add:liste(item:String)
For Local e:liste=EachIn XX
For Local a:liste=EachIn e.list
a.eintrag=item
Next
e.list.addlast(e)
Next
End Function
End Type

liste.create()
liste.add("Test")
liste.add("fgdgfdgf")
For Local e:liste=EachIn XX
For Local a:liste=EachIn e.list
Print a.eintrag
Next
Next


wie man unschwer erkennen kann habe ich versucht in eine Liste eine weitere liste zu erstellen und der verschiede Strings einzuverleiben. Print zufolge werden leider nur der letzte string übernommen..wo liegt der Fehler?

Fr3eMaN
 

Dreamora

BeitragFr, Dez 16, 2005 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler liegt darin, dass du beim Add durch die Liste gehst und jedes Element in der Liste durch das hinzugefügte ersetzt anstatt es einfach nur der Liste hinzuzufügen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Freeman

BeitragFr, Dez 16, 2005 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function add:liste(item:String)
Local  e:liste=New liste
Local a:liste=New liste
a.eintrag=item
e.list.addlast(a)
End Function

klapt leider immer nochnicht, ich bekomme die meldung das dort ein 0-Objekt hinzugefügt wird.

Fr3eMaN

Freeman

BeitragSo, Dez 18, 2005 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
*push*

Suco-X

Betreff: .....

BeitragSo, Dez 18, 2005 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du sowas?

Code: [AUSKLAPPEN]

Strict

Global XX:tlist=CreateList()

Type Liste

   Field List:Tlist
   
   Function create:Liste()
      Local e:Liste = New Liste
      e.List        = New TList
      XX.AddLast(e)
      Return e
   End Function
   
   Function OutAll()
      For Local TempListe:Liste = EachIn XX
         TempListe.Out()
      Next
   End Function
   
   
   Method Add(item:String)
      List.AddLast(Item)   
   End Method

   Method Out()
      For Local Temp:String = EachIn List
         Print Temp
      Next       
   End Method
   
End Type

Local Liste1:Liste = Liste.Create()
Local Liste2:Liste = Liste.Create()

Liste1.Add("Test1")
Liste1.Add("Test2")

Liste2.Add("ABC")
Liste2.Add("DEF")

Print ""
Liste1.Out()
Print ""

Print ""
Liste2.Out()
Print ""

Print ""
Liste.OutAll()
Print ""


Ist ein bisschen schwer dein Problem richtig zu verstehen.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group