' [out] firstName: ΠΠ°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
' [out] lastName: ΠΠ°Π³ΡΡΠΆΠ΅Π½Π½Π°Ρ ΡΠ°ΠΌΠΈΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
'--------------------------------------------------------------
Public Shared Sub XML_LoadUserInfo(ByVal fileName As String, _
ByRef userId As Integer, ByRef firstName As String, _
ByRef lastName As String)
Dim currentReadLocation As ReadLocation
'ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Ρ Π½ΡΠ»Π΅Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ
userId = 0
firstName = ""
lastName = ""
Dim xmlReader As System.Xml.XmlTextReader = _
New System.Xml.XmlTextReader(fileName)
xmlReader.WhitespaceHandling = _
System.Xml.WhitespaceHandling.None
Dim readSuccess As Boolean
readSuccess = xmlReader.Read()
If (readSuccess = False) Then
Throw New System.Exception("ΠΡΡΡΡΡΡΠ²ΡΡΡ XML-Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ!")
End If
'Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π»ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ
If (xmlReader.Name <> XML_ROOT_TAG) Then
Throw New System.Exception( _
"ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ!")
End If
'ΠΡΠΌΠ΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅
currentReadLocation = ReadLocation.inAllMyData
'------------------------------------------------------
'Π¦ΠΈΠΊΠ» ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ
'------------------------------------------------------
While (readSuccess)
Select Case (xmlReader.NodeType)
'ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
Case System.Xml.XmlNodeType.Element
Dim nodeName As String = xmlReader.Name
LoadHelper_NewElementEncountered(nodeName, _
currentReadLocation)
'--------------------------------------------------
'ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΠΊΡΡ
'ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ
'--------------------------------------------------
Case System.Xml.XmlNodeType.Text
Select Case currentReadLocation
Case ReadLocation.inFirstName
firstName = xmlReader.Value
Case ReadLocation.inLastName
lastName = xmlReader.Value
Case ReadLocation.inUserID
userId = CInt(xmlReader.Value)
End Select
'ΠΠΎΠ½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Case "System.Xml.XmlNodeType.Text"
'----------------------------------------------------
'ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½Π΅Ρ
'ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
'
'ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
'ΠΎΡ Π²ΠΈΠ΄Π° ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ·Π»Π°, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ
'ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΊ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΡ
'-----------------------------------------------------
Case System.Xml.XmlNodeType.EndElement
Dim continueParsing As Boolean
continueParsing = LoadHelper_EndElementEncountered( _
currentReadLocation)
If (continueParsing = False) Then
GoTo finished_reading_wanted_data
End If
Case Else
'He ΡΡΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ XML-ΡΠ·Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ², Π½ΠΎ
'Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ
'ΠΎΠΏΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ°ΠΊΡΠ΅
MsgBox( _
"ΠΡΡΡΠ΅ΡΠΈΠ»ΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΠΉ XML-ΡΠΈΠΏ " + xmlReader.Name)
End Select 'ΠΠΎΠ½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Case, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ
'ΡΠΈΠΏΠ° XML-ΡΠ»eΠΌeΠ½Ρa, oΠ±paΠ±aΡΡΠ²aeΠΌoΠ³o Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ
'ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ·Π»Ρ
readSuccess = xmlReader.Read()
End While
'ΠΡΠ»ΠΈ ΠΌΡ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π΅ ΠΏΠΎΠΊΠΈΠ½ΡΠ²
'XML-Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° UserInfo, ΡΠΎ Ρ XML-Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ,
'ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ
Throw New Exception("He Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ UserInfo Π² XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅!")
finished reading_wanted_data:
'ΠΠ°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΠΈΠΌ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!
xmlReader.Close()
End Sub
'--------------------------------------------------------
'ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ
'ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ,
'ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ
'--------------------------------------------------------
Private Shared Function LoadHelper_EndElementEncountered( _
ByRef currentReadLocation As ReadLocation) As Boolean
Select Case (currentReadLocation)
'ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ·Π΅Π» Name, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ
'ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ·Π΅Π» UserInfo
Case ReadLocation.inName
currentReadLocation = ReadLocation.inUserInfo
'ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ·Π΅Π» FirstName, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ
'ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ·Π΅Π» Name
Case ReadLocation.inFirstName
currentReadLocation = ReadLocation.inName
'ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ·Π΅Π» LastName, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ
'ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ·Π΅Π» Name
Case ReadLocation.inLastName
currentReadLocation = ReadLocation.inName
'ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ·Π΅Π» UserID, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ
'ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ·Π΅Π» UserInfo
Case ReadLocation.inUserID
currentReadLocation = ReadLocation.inUserInfo
'ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ·Π΅Π» UserInfo, ΡΠΎ ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ
'Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ·Π»Π°Ρ UserID, FirstName
'ΠΈ LastName
'
'ΠΠΎΠΆΠ½ΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠΈΠΊΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π²ΡΡ
'ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ!
Case ReadLocation.inUserInfo
Return False 'ΠΠ½Π°Π»ΠΈΠ· Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½
End Select
Return True
'ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π°Π½Π°Π»ΠΈΠ·
End Function
Private Shared Sub LoadHelper_NewElementEncountered( _
ByVal nodeName As String, _
ByRef currentReadLocation As ReadLocation)
'----------------------------------------------------
'ΠΡ Π²ΠΎΡΠ»ΠΈ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ!
'Π ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ,
'Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
'----------------------------------------------------
Select Case (currentReadLocation)
'ΠΡΠ»ΠΈ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² ΡΠ·Π»Π΅ AllMyData, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½
'Π² ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅
Case (ReadLocation.inAllMyData)
If (nodeName = XML_USERINFO_TAG) Then
currentReadLocation = ReadLocation.inUserInfo
End If
'ΠΡΠ»ΠΈ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² ΡΠ·Π»Π΅ UserInfo, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½
'Π² ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅
Case (ReadLocation.inUserInfo)
If (nodeName = XML_USERID_TAG) Then
currentReadLocation = ReadLocation.inUserID
ElseIf (nodeName = XML_NAMEINFO_TAG) Then
currentReadLocation = ReadLocation.inName
End If
'ΠΡΠ»ΠΈ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² ΡΠ·Π»Π΅ Name, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½
'Π² ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π½ΠΈΠΆΠ΅
Case (ReadLocation.inName)
If (nodeName = XML_FIRSTNAME_TAG) Then
currentReadLocation = ReadLocation.inFirstName
ElseIf (nodeName = XML LASTNAME_TAG) Then
currentReadLocation = ReadLocation.inLastName
End If
End Select
End Sub
End Class
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊ Π³Π»Π°Π²Π΅ 11 (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π³ΡΠ°ΡΠΈΠΊΠ°)
'----------------------------------------------------------------------------
'ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ #1: Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ PerformanceSampling,
' ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ
' Π²Ρ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
'ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ #2: ΠΡΠΎΡ ΠΊΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ»Π°ΡΡ Form, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ
' ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TreeView ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Button, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ
' ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ xxx_Click.
'----------------------------------------------------------------------------
'ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ
'ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TreeView
Const NUMBER_ITEMS As Integer = 800
'-------------------------------------------------------------------------
'ΠΠΎΠ΄ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ "Fill: Baseline"
'ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
'ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TreeView
'-------------------------------------------------------------------------
Private Sub UnOptimizedFill_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles UnOptimizedFill.Click
'ΠΡΠΈΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
If (TreeView1.Nodes.Count > 0) Then
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
TreeView1.EndUpdate()
TreeView1.Update()
End If
'ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. Π ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠ΄Π°Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ!
System.GC.Collect()
'ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ
PerformanceSampling.StartSample(0, "TreeViewPopulate")
'ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TreeView
Dim i As Integer
For i = 1 To NUMBER_ITEMS
TreeView1.Nodes.Add("TreeItem" + CStr(i))
Next
'ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
PerformanceSampling.StopSample(0)
MsgBox(PerformanceSampling.GetSampleDurationText(0))
End Sub