LibreOffice 24.8 Help
Verzamelingen kunnen worden gebruikt om items van verschillende types op te slaan. Elk item is toegankelijk via de index of via een optionele sleutel die eraan is gekoppeld.
Een Verzamelobject heeft de volgende methodes:
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