Sub Process_Globals
'These global variables will be declared once when the application starts.
'Public variables can be accessed from all modules.
Public App As Application
Public NavControl As NavigationController
Private Page1 As Page
Dim RBMap As SortedMap
Dim SubMap As SortedMap
Dim HeadMap As SortedMap
Dim TailMap As SortedMap
Dim MapNavigator As SortedMapNavigator
End Sub
Private Sub Application_Start (Nav As NavigationController)
'SetDebugAutoFlushLogs(True) 'Uncomment if program crashes before all logs are printed.
NavControl = Nav
Page1.Initialize("Page1")
Page1.Title = "Page 1"
Page1.RootPanel.Color = Colors.White
NavControl.ShowPage(Page1)
RBMap.Initialize
'
RBMap.Put("D","D")
RBMap.Put("A","A")
RBMap.Put("C","C")
RBMap.Put("E","E")
RBMap.Put("G","G")
RBMap.Put("B","B")
RBMap.Put("F","F")
'get Map with keys B To F inclusive
SubMap = RBMap.SubMap("B","F",True)
Log("Keys Between B And F Inclsuive")
MapToLog(SubMap)
'get Map with keys <= F
HeadMap = RBMap.HeadMap("F",True)
Log("Keys <= F")
MapToLog(HeadMap)
'get Map with keys >= G
TailMap = RBMap.TailMap("F",True)
Log("Keys >= F")
MapToLog(TailMap)
Dim s As String = RBMap.LowerKey("F")
Log("First Key Lower Than F: " & s)
s = RBMap.FloorKey("C")
Log("First Key Lower Than or Equal To C: " & s)
s = RBMap.HigherKey("F")
Log("First Key Higher Than F: " & s)
s = RBMap.CeilingKey(" ")
Log("First Key Higher Than Space: " & s)
s = RBMap.FirstKey
Log("First Key In Map: " & s)
s = RBMap.LastKey
Log("Last Key In Map: " & s)
Log("Map Contains G: " & RBMap.ContainsKey("G"))
Log("Map Contains Z: " & RBMap.ContainsKey("Z"))
'Initalize the Navigator
Log(" ")
Log("***************************************")
Log(" ")
Log("Navigating Tree Forward")
Log(" ")
Log("***************************************")
MapNavigator.Initialize(RBMap,SortedMapIterator.MAP_ITERATE_ASCENDING)
Do While MapNavigator.MoveNext = True
Log(MapNavigator.Key)
Loop
Log("**************END********************")
Log(" ")
Log("***************************************")
Log(" ")
Log("Navigating Tree In Reverse")
Log(" ")
Log("***************************************")
'Reached The End so go back to the begginng
Do While MapNavigator.MovePrev = True
Log(MapNavigator.Key)
Loop
Log("**************END********************")
'Remove Key E
RBMap.Remove("E")
Log("***************************************")
Log(" ")
Log("Key E Removed")
Log(" ")
Log("*************************************")
MapToLog(RBMap)
End Sub
Sub MapToLog(M As SortedMap)
Dim Nav As SortedMapNavigator
Nav.Initialize(M,SortedMapIterator.MAP_ITERATE_ASCENDING)
Do While Nav.MoveNext()
Log(Nav.Key)
Loop
End Sub
Private Sub Page1_Resize(Width As Int, Height As Int)
End Sub
Private Sub Application_Background
End Sub