StackClass




Option Explicit
'This class creates a simple stack data structure.


Dim m_Col As Collection

Public Sub Push(ByVal vData As Variant)
If m_Col.Count > 0 Then
m_Col.Add vData, , 1
Else
m_Col.Add vData
End If
End Sub

Public Property Get TopVal() As Variant
If m_Col.Count > 0 Then
If Not IsObject(m_Col.Item(1)) Then
TopVal = m_Col.Item(1)
End If
Else
TopVal = vbNullString
End If
End Property

Public Property Get Count() As Integer
Count = m_Col.Count
End Property

Public Function Pop() As Variant
If m_Col.Count > 0 Then
If IsObject(m_Col.Item(1)) Then
Set Pop = m_Col.Item(1)
Else
Pop = m_Col.Item(1)
End If
m_Col.Remove 1
End If
End Function

Public Function More() As Boolean
More = (m_Col.Count > 0)
End Function

Private Sub Class_Initialize()
Set m_Col = New Collection
End Sub

Private Sub Class_Terminate()
Set m_Col = Nothing
End Sub










( stackclass.html )- by Paolo Puglisi - Modifica del 17/12/2023