ListRemove - RemoveLink

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Der Eisvogel

Betreff: ListRemove - RemoveLink

BeitragDi, Mai 25, 2010 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Wo genau liegt der Unterschied von den Funktionen ListRemove und RemoveLink? In der Hilfe steht, dass RemoveLink effektiver ist als ListRemove. In wie fern ist es effektiver? Außerdem kann man bei RemoveLink nicht die Liste angeben, aus der der Link gelöscht werden soll. Werden dann einfach alle im Programm vorhanden Links gelöscht?

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Goodjee

BeitragDi, Mai 25, 2010 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
listremove will ein objekt als parameter, die funktion durchsucht dann die gesamte liste nach einem tlink, welches das objekt enthält, und löscht dann den link.

das suchen entfällt bei removelink, weil du da nen link übergibst
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Der Eisvogel

BeitragDi, Mai 25, 2010 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist ein Link unabhängig von einer Liste?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Goodjee

BeitragDi, Mai 25, 2010 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
der link kennt seinen vorgänger und seinen nachfolger.
die beiden informationen reichen um sich zwiscnen den beiden wegzulöschen
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Der Eisvogel

BeitragMi, Mai 26, 2010 9:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, dann hab ich jetzt grade eine Denksperre.
Ich habe folgende Situation:

BlitzMax: [AUSKLAPPEN]
Type parent
Global list:TList=CreateList()
Field childs:TList=CreateList

Method New()
ListAddLast(list,Self)
End Method

Method AddChild()
Local child:child=New child
ListAddLast(childs,child)
End Method
End Type

Type child
Global list:TList=CreateList()
Field data:Int

Method New()
ListAddLast(list,Self)
End Method
End Type


Ich erstelle nun ein Parent und füge diesem 5 Childs hinzu. Dann erstelle ich ein 2. Parent, dass 2 Childs hat. Ich habe nun in parent.list 2 Links und child.list 7 Links, die aber auch alle in den Listen childs im Parent-Objekt hinterlegt sind.. Wenn ich jetzt RemoveLink(child1) ausführe, werden dann die Links aus beiden Listen gelöscht, oder nicht?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Goodjee

BeitragMi, Mai 26, 2010 10:56
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, nur aus der liste, von der du dir den tlink hast geben lassen

TList.findLink(Object)
TList.firstLink()
TList.lastLink()

geben dir tlinks wieder, es kommt also drauf an was child1 ist Wink
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Der Eisvogel

BeitragMi, Mai 26, 2010 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Aso. Link ist nicht gleich Object. Irgendwie ja logisch.
Also ist ListRemove nicht anderes Als:
BlitzMax: [AUSKLAPPEN]
Function ListRemove(list:TList,value:Object)
Local link:TLink=list.FinLink(value)
RemoveLink(link)
End Function


Hab ich das jetzt dann richtig verstanden?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Goodjee

BeitragMi, Mai 26, 2010 11:47
Antworten mit Zitat
Benutzer-Profile anzeigen
genau
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group