Eintrag aus einer Liste löschen ?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

StarGazer

Betreff: Eintrag aus einer Liste löschen ?

BeitragDo, Okt 04, 2007 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe schon nach diesem Tehma gesucht, aber da schreibt man etwas von link.remove, abe diesen Befehl gibt es nicht, oder nicht mehr.

Ich möchte aus einer Liste Einträge löschen, so das die Liste immer kürzer wird, aber ohne die Objekte zu löschen auf die die Einträge zeigen.
Habe mal ein Beispielcode erstellt, hoffe jemand weist die Lösung.

Code: [AUSKLAPPEN]
SetGraphicsDriver GLMax2DDriver()
Graphics 640,480

'-----------------------------------------------------------------------
Type Bus
   Field Passagiere
   Field UnitList:TList = CreateList()
End Type

' BUS ERSTELLEN
BusList:TList = CreateList()
b:Bus = New Bus
ListAddLast BusList,b:Bus

'-----------------------------------------------------------------------
Type Unit
   Field X,Y
End Type

UnitList:TList = CreateList()

'100 LEUTE ERSTELLEN
For i = 1 To 100
   u:Unit = New Unit
   ListAddLast UnitList,u:Unit
   
   'die Passagier in den Bus setzen
   ListAddLast b.UnitList,u:Unit
Next

'-----------------------------------------------------------------------
While Not KeyDown(Key_Escape)

   Delay 100
   
   For b:Bus = EachIn BusList
      busunitcount = False   
      For u:Unit = EachIn b.UnitList
         busunitcount = busunitcount +1    'ZÄHLT DIE ANZAHL DER PASSAGIERE IM BUS

         'UND HIER MÖCHTE ICH NUN IMMER EINEN PASSAGIER AUS DER LISTE ENFERNEN
         RemoveLink(b.UnitList)     das hier geht so leider nicht
      Next
   Next

   Local unitcount = False   
   For u:Unit = EachIn UnitList
      unitcount = unitcount +1   'ZÄHLT ALLE LEUTE DAMIT ICH SEHEN KANN DASS SIE NUR AUS DER
                              'LSITE ENTFERNT WURDEN, UND NICHT KOMPLETT GELÖSCHT SIND
   Next
   
   '-----------------------------------------------------------------------
   DrawText "Leute im Bus: "+busunitcount,    10,10
   DrawText "Anzahl aller Leute: "+unitcount, 10,25

   Flip 
   Cls
Wend
 

Dreamora

BeitragDo, Okt 04, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst nur LinkRemove nehmen wenn du einen TLink gespeicherst hast bei den List Add Befehlen.

Sonst musst du ListRemove nehmen (bzw. bei der Liste zb local liste:TList einfach liste.remove(derEintrag) )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group