Collabora Office 24.04 Help
Verzamelingen kunnen worden gebruikt om items van verschillende typen op te slaan. Elk item is toegankelijk via de index of via een optionele sleutel die eraan is gekoppeld.
Een Verzamelobject heeft de volgende methoden:
Toevoegen: voegt een nieuw item toe aan de verzameling. Optioneel kan een tekenreekswaarde worden gedefinieerd als de sleutel tot het item.
Aantal: geeft het aantal items in de verzameling terug.
Item: retourneert het item in de verzameling door de index of sleutel door te geven.
Verwijderen: verwijdert het gespecificeerde item uit de verzameling door middel van zijn index of sleutel.
Items in een verzameling zijn toegankelijk via hun indexen (zoals in een 1-dimensionale matrix) of via de bijbehorende sleutels.
De service ScriptForge Dictionary breidt het Verzamelobject uit met het bieden van aanvullende functies zoals het ophalen en vervangen van sleutels, evenals het importeren/exporteren naar matrix-objecten en JSON-strings.
Gebruik het trefwoord Nieuw om een Verzameling te maken. In het volgende voorbeeld wordt een Verzamelobject gemaakt en gevuld met drie items:
Dim myCollection as New Collection
myCollection.Add("Some text")
myCollection.Add(100)
myCollection.Add(Array(1, 2, 3, 4))
MsgBox myCollection.Count ' 3
De methode Toevoegen kan worden gebruikt om nieuwe items toe te voegen aan het Verzamelobject.
oCollection.Add(item, [key], [before|after])
item: het item dat moet worden toegevoegd aan de Verzameling. Kan van elk type zijn.
sleutel: tekenreekswaarde die wordt gebruikt als de unieke sleutel die wordt gebruikt om deze waarde te identificeren.
voor, na: optioneel trefwoordargument dat aangeeft waar het nieuwe item in de Verzameling zal worden geplaatst. Slechts één van de argumenten voor of na kan worden opgegeven om de index of sleutel te bepalen waarvoor (of waarna) het nieuwe item moet worden geplaatst.
Het onderstaande voorbeeld voegt twee elementen toe aan een Verzameling. De eerste heeft een bijbehorende sleutel, de tweede niet.
Dim myCollection as New Collection
myCollection.Add(100, "first")
myCollection.Add(101)
De methode Toevoegen ondersteunt ook trefwoordargumenten:
myCollection.Add(item := 100, key := "first")
Sleutels moeten uniek zijn in een Verzamelobject. Vergelijking tussen toetsen is hoofdlettergevoelig. Het toevoegen van dubbele sleutels zal resulteren in een runtime-fout.
Het onderstaande voorbeeld illustreert hoe u de trefwoordargumenten Voor en Na gebruikt om de positie te bepalen van het item dat wordt toegevoegd.
Dim myCollection as Variant
myCollection = New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 103, key := "third")
myCollection.Add(item := 105, key := "fifth")
MsgBox myCollection.Item(2) ' 103
myCollection.Add(item := 102, key := "second", before := "third")
MsgBox myCollection.Item(2) ' 102
myCollection.Add(item := 104, key := "fourth", after := 3)
MsgBox myCollection.Item(4) ' 104
Items in een Verzamelobject krijgen een integer-indexwaarde toegewezen die begint bij 1 en overeenkomt met de volgorde waarin ze zijn toegevoegd.
Gebruik de methode Item om toegang te krijgen tot een bepaald item via de index of sleutel.
oCollection.Item(index)
oCollection.Item(key)
index: een geheel getal dat de index aangeeft van het item dat moet worden geretourneerd.
sleutel: een tekenreekswaarde die de sleutel specificeert van het item dat moet worden geretourneerd.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
MsgBox myCollection.Item("A") ' 101
MsgBox myCollection.Item(3) ' 103
Gebruik de methode Verwijderen om items uit een Verzamelobject te verwijderen.
Items kunnen worden verwijderd op basis van hun indexen of sleutelwaarden.
oCollection.Remove(index)
oCollection.Remove(key)
index: een geheel getal dat de index aangeeft van het te verwijderen item.
sleutel: een tekenreekswaarde die de sleutel aangeeft van het item dat moet worden verwijderd.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "first")
myCollection.Add(item := 102, key := "second")
myCollection.Add(item := 103, key := "third")
MsgBox myCollection.Count ' 3
' Removes the first value
myCollection.Remove(1)
' Removes the value whose key is "third"
myCollection.Remove("third")
MsgBox myCollection.Count ' 1
Het is mogelijk om een Voor, Elke ... Volgende-statement te gebruiken om alle items in een Verzameling te herhalen.
Dim myCollection as New Collection
myCollection.Add(item := 101, key := "A")
myCollection.Add(item := 102, key := "B")
myCollection.Add(item := 103, key := "C")
For Each value In myCollection
MsgBox value
Next value
Om alle items uit een Verzamelobject te verwijderen, roept u de methode Verwijderen voor elk item aan, zoals geïllustreerd in het onderstaande voorbeeld:
' Maak een voorbeeldverzameling met twee items
Dim myCollection as New Collection
myCollection.Add(item := 10, key := "A")
myCollection.Add(item := 11, key := "B")
MsgBox myCollection.Count ' 2
' Verwijdert alle items uit de verzameling
For i = myCollection.Count To 1 Step -1
myCollection.Remove(i)
Next i
MsgBox myCollection.Count ' 0