Collection

Meine alte Seite wird zwar schon lange nicht mehr gepflegt, hat aber dennoch zwischen 10 und 20 Besuchern täglich. Die meisten interessieren sich für die Artikel Collection und Collection und Arrays. Da diese Themen offensichtlich sehr interessant sind, werde ich beide Artikel auf die neue Seite umziehen. Hier ist der erste:

Collection - Das gemiedene Objekt

Mit Arrays arbeitet jeder. Oft kann ein Problem sehr viel
einfacher, schneller und schöner mit einer Collection gelöst
werden. Warum das Collection-Ojekt so gemieden wird? Vielleicht weil
das Objekt, seine Eigenschaften und Funktione nicht so bekannt sind.

Ich möchte an zwei Beispielfunktionen die Funktionsweise des
Collection-Objekts demonstrieren. Viel Spaß beim Lesen!

Option Explicit
Option Base 1

'---------------------------------------------------------------------------------------
' Module : Collection1
' DateTime : 08.04.2008 08:17
' Author : Tobias - tobiasschmid.de
' Purpose : Auflistungen, Elemente hinzufügen
'---------------------------------------------------------------------------------------
Public Sub Collection1()
Dim Tier As Variant
Dim Tiere As Collection
Set Tiere = New Collection

'Füge drei Tiere hinzu

Tiere.Add ("Löwe")

Tiere.Add ("Zebra")

Tiere.Add ("Elefant")

For Each Tier In Tiere
Debug.Print Tier
Next

Call Tiere.Add("Giraffe", , 1) 'Füge die Giraffe an Stelle 1 hinzu

Tiere.Remove (2) 'Entferne das Tier an der zweiten Stelle

For Each Tier In Tiere
Debug.Print Tier
Next
End Sub

'---------------------------------------------------------------------------------------
' Procedure : Collection2
' DateTime : 05.06.2008 12:09
' Author : Tobias - tobiasschmid.de
' Purpose : Elemente hinzufügen und Entfernen. Key-Words für Elemente definieren
'---------------------------------------------------------------------------------------
Public Sub Collection2()
Dim i As Long
Dim Tier As Variant
Dim Tiere As Collection
Set Tiere = New Collection

'Jedes Tier hat einen Namen und ein "Gewicht"

Tiere.Add Array("Giraffe", 3)

Tiere.Add Array("Zebra", 2)

Tiere.Add Array("Elefant", 5)

For Each Tier In Tiere
Debug.Print Tier(1); Tier(2)
Next

'Löwe hinzufügen, Key="König", an erster Stelle
Call Tiere.Add(Array("Löwe", 4), "König", 1)

'Wer ist der "König"
Debug.Print Tiere("König")(1) 'Aufruf des Tiers mit dem Key "König"

'Zebra entfernen
'Da das Zebra keinen "Key" hat ist die Suche nach dem Zebra notwendig
For i = 1 To Tiere.Count
If Tiere(i)(1) = "Zebra" Then

Tiere.Remove (i)
Exit For
End If

Next


'Den Löwen hätten wir auch so entfernen können

'Tiere.Remove ("König")


For Each Tier In Tiere

Debug.Print Tier(1); Tier(2)

Next

End Sub

Your rating: Keine Average: 5 (3 votes)