Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Option Explicit
Private m_Counter As Integer
Private m_Value As String
Private Sub Class_Initialize()
m_Counter = 1
m_Value = ""
End Sub
Public Function IncreaseCount()
m_Counter = m_Counter + 1
End Function
Public Property Get Count()
Count = m_Counter
End Property
Public Property Get Value() As String
Value = m_Value
End Property
Public Property Let Value(Val As String)
m_Value = Val
End Property
Option Explicit
'Lokale Variable für eine Auflistung.
Private mCol As Collection
Public Function Add(Value As String) As CounterClass
Dim oCounter As CounterClass
Set oCounter = GetValueInCollection(Value)
If oCounter Is Nothing Then
'Noch nicht vorhanden neuen Erzeugen
Set oCounter = New CounterClass
oCounter.Value = Value
' an Collection anhängen
mCol.Add oCounter, "K" & Value
Else
' Zahl bereits vorhanden
oCounter.IncreaseCount
End If
'das erstellte Objekt zurückgeben
Set Add = oCounter
Set oCounter = Nothing
End Function
Private Function GetValueInCollection(ByVal Value) As CounterClass
On Error Resume Next
Set GetValueInCollection = mCol.Item("K" & Value)
End Function
Public Property Get Item(vntIndexKey As Variant) As CounterClass
'Wird verwendet, wenn auf ein Element der Auflistung zugegriffen
'wird. vntIndexKey enthält entweder den Index oder den Schlüssel.
'Daher wird der Parameter als Variant deklariert.
'Syntax: Set foo = x.Item(xyz) or Set foo = x.Item(5)
Set Item = mCol(vntIndexKey)
End Property
Public Property Get Count() As Long
'Wird verwendet, wenn die Anzahl der Elemente
'in der Auflistung ermittelt werden soll.
'Syntax: Debug.Print x.Count
Count = mCol.Count
End Property
Public Sub Remove(vntIndexKey As Variant)
'Wird verwendet, wenn ein Element aus der Auflistung
'entfernt werden soll. vntIndexKey enthält entweder
'den Index oder den Schlüssel. Daher wird der Parameter
'als Variant deklariert.
'Syntax: x.Remove(xyz)
mCol.Remove vntIndexKey
End Sub
Public Property Get NewEnum() As IUnknown
'Diese Eigenschaft ermöglicht, die Elemente der
'Auflistung mit For...Each zu durchlaufen.
Set NewEnum = mCol.[_NewEnum]
End Property
Private Sub Class_Initialize()
'Erstellt die Auflistung, wenn die Klasse erstellt wird.
Set mCol = New Collection
End Sub
Private Sub Class_Terminate()
'Entfernt die Auflistung aus dem Speicher, wenn die Klasse beendet wird.
Set mCol = Nothing
End Sub
Dim oCountCollection As New CountingCollection
Dim oCounter As CounterClass
' Collection Füllen
' ..
oCountCollection.Add Number
'..
' Auslesen
For Each oCounter In oCountCollection
If oCounter.Count > 1 Then
Debug.Print "Mehrfach vorhanden: " & oCounter.Value
End If
Next