ha88an
چهارشنبه 15 بهمن 1393, 15:18 عصر
سلام دوستان میخواستم یکی واسم این چند خط کد رو واسم معنی کنم دقیقا چیکار انجام میده، بصورت خط به خط و کامل من مبتدی هستم
مثلا اینا رو نمیدونم چیه:
New MergBuilding
New PointB
Me.View.Count
par.View.Count
DirectCast(par.View.Item(num3), PointB
building.View.Add(tb5)
(DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y
building.View.Add(par.View.Item((par.View.Count - 1)))
Return building
اینم از کدها:
Public Function Merg(ByVal par As MergBuilding) As MergBuilding
Dim building As New MergBuilding
Dim y As Integer = -1
Dim num2 As Integer = 0
Dim num3 As Integer = 0
Dim num4 As Integer = 0
Dim tb As New PointB
Dim tb2 As New PointB
Dim i As Integer
For i = 0 To (Me.View.Count + par.View.Count) - 1
Dim tb5 As PointB
Dim tb3 As PointB = If((num3 < par.View.Count), DirectCast(par.View.Item(num3), PointB), New PointB(&H3E8, 0))
Dim tb4 As PointB = If((num4 < Me.View.Count), DirectCast(Me.View.Item(num4), PointB), New PointB(&H3E8, 0))
Dim num6 As Integer = 1
If (tb3.x < tb4.x) Then
tb5 = tb3
num3 += 1
tb = DirectCast(par.View.Item((num3 - 1)), PointB)
num6 = 1
Else
tb5 = tb4
num4 += 1
tb2 = DirectCast(Me.View.Item((num4 - 1)), PointB)
num6 = 2
End If
If (tb5.y > y) Then
building.View.Add(tb5)
y = tb5.y
num2 = num6
ElseIf (num6 = num2) Then
Dim tb6 As PointB
If (num6 = 1) Then
tb6 = New PointB(tb5.x, If((tb5.y > tb2.y), tb5.y, tb2.y))
y = tb2.y
num2 = 2
Else
tb6 = New PointB(tb5.x, If((tb5.y > tb.y), tb5.y, tb.y))
y = tb.y
num2 = 1
End If
building.View.Add(tb6)
End If
Next i
If (DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y > 0) Then
building.View.Add(par.View.Item((par.View.Count - 1)))
building.View.Add(Me.View.Item((Me.View.Count - 1)))
End If
Return building
End Function
مثلا اینا رو نمیدونم چیه:
New MergBuilding
New PointB
Me.View.Count
par.View.Count
DirectCast(par.View.Item(num3), PointB
building.View.Add(tb5)
(DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y
building.View.Add(par.View.Item((par.View.Count - 1)))
Return building
اینم از کدها:
Public Function Merg(ByVal par As MergBuilding) As MergBuilding
Dim building As New MergBuilding
Dim y As Integer = -1
Dim num2 As Integer = 0
Dim num3 As Integer = 0
Dim num4 As Integer = 0
Dim tb As New PointB
Dim tb2 As New PointB
Dim i As Integer
For i = 0 To (Me.View.Count + par.View.Count) - 1
Dim tb5 As PointB
Dim tb3 As PointB = If((num3 < par.View.Count), DirectCast(par.View.Item(num3), PointB), New PointB(&H3E8, 0))
Dim tb4 As PointB = If((num4 < Me.View.Count), DirectCast(Me.View.Item(num4), PointB), New PointB(&H3E8, 0))
Dim num6 As Integer = 1
If (tb3.x < tb4.x) Then
tb5 = tb3
num3 += 1
tb = DirectCast(par.View.Item((num3 - 1)), PointB)
num6 = 1
Else
tb5 = tb4
num4 += 1
tb2 = DirectCast(Me.View.Item((num4 - 1)), PointB)
num6 = 2
End If
If (tb5.y > y) Then
building.View.Add(tb5)
y = tb5.y
num2 = num6
ElseIf (num6 = num2) Then
Dim tb6 As PointB
If (num6 = 1) Then
tb6 = New PointB(tb5.x, If((tb5.y > tb2.y), tb5.y, tb2.y))
y = tb2.y
num2 = 2
Else
tb6 = New PointB(tb5.x, If((tb5.y > tb.y), tb5.y, tb.y))
y = tb.y
num2 = 1
End If
building.View.Add(tb6)
End If
Next i
If (DirectCast(building.View.Item((building.View.Coun t - 1)), PointB).y > 0) Then
building.View.Add(par.View.Item((par.View.Count - 1)))
building.View.Add(Me.View.Item((Me.View.Count - 1)))
End If
Return building
End Function