TLink in Liste verschieben
Übersicht

![]() |
DivineDominionBetreff: TLink in Liste verschieben |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könte wetten, es bereits ein mal gepostet zu haben vor alnger Zeit...
Verschiebt jedenfalls Einträge in der Liste hoch und runter. Am schnellsten geht sowas bei vielen Sachen in nem spiel wohl, wenn man von jedem Objekt den TLink, der bei TList.addLast() zurückgegeben wird, speichert. Sonst eben nach dem TLink suchen, indem man die Liste nach einem Objekt suchen lässt. Ist dann aber langsamer und so ![]() Code: [AUSKLAPPEN] Strict
Global liste:TList = New TList Global link:TLink = liste.AddLast("1") liste.AddLast("2") liste.AddLast("3") liste.AddLast("4") liste.AddLast("5") show( liste ) moveDown( link, liste ) show( liste ) moveUp( link, liste ) show( liste ) movetoEnd( link, liste ) show( liste ) movetoStart( link, liste ) show( liste ) movetoend( link, liste ) show( liste ) Function moveDown( hLink:TLink, hList:TList ) Local hPred:TLink = hLink._pred Local hSucc:TLink = hLink._succ hPred._succ = hSucc hSucc._pred = hPred hLink._succ = hSucc._succ hLink._pred = hSucc hSucc._succ._pred = hLink hSucc._succ = hLink EndFunction Function moveup( hLink:TLink, hList:TList ) Local hPred:TLink = hLink._pred Local hSucc:TLink = hLink._succ hPred._succ = hSucc hSucc._pred = hPred hLink._pred = hPred._pred hLink._succ = hPred hPred._pred._succ = hLink hPred._pred = hLink EndFunction Function moveToStart( hLink:TLink, hList:TList ) Local hFirst:TLink = hList.FirsTLink( ) hLink._succ._pred = hLink._pred hLink._pred._succ = hLink._succ hFirst._pred._succ = hLink hLink._pred = hFirst._pred hLink._succ = hFirst hFirst._pred = hLink EndFunction Function moveToEnd( hLink:TLink, hList:TList ) Local hLast:TLink = liste.LastLink() If hLink = hLast Then Return hLink._succ._pred = hLink._pred hLink._pred._succ = hLink._succ hLast._succ._pred = hLink hLink._succ = hLast._succ hLast._succ = hLink hLink._pred = hLast EndFunction Function show( hList:TList ) For Local t:String = EachIn hList Print t Next Print "-------------" EndFunction |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group