LibreOffice 25.8 Hjælp
Samlinger kan bruges til at lagre elementer af forskellige typer. Hvert element kan tilgås med sit indeks eller en valgfri nøgle, der er knyttet til det.
Et Collection(samlings)-objekt har følgende metoder:
Tilføj: indsætter et nyt element i samlingen. Valgfrit kan en strengværdi defineres som nøglen til elementet.
Antal: returnerer antallet af elementer i sa,lingen.
Element: returnerer elementet i samlingen ved at videregive det indeks eller nøgle.
Fjern: fjerner det angivne element fra samlingen ved dets indeks eller nøgle.
Elementer i en samling kan tilgås enten ved deres indekser (som i en 1-baseret, endimensionel matriks) eller ved deres tilknyttede nøgler.
Tjenesten ScriptForge Dictionary udvider objektet Collection (samling) ved at sørge for supplerende funktionaliteter som nøgle-hentning og - erstatning såvel som import til/eksdport fra matriksobjekter og JSON-strenge.
For at oprette en Collection (samling) bruger du nøgleordet New (ny). Det følgende eksempel opretter et Collection (samlings)-objekt og befolker det med tre elementer:
    Dim myCollection as New Collection
    myCollection.Add("Some text")
    myCollection.Add(100)
    myCollection.Add(Array(1, 2, 3, 4))
    MsgBox myCollection.Count ' 3
  Metoden Add (tilføj) kan bruges til at tilføje nye elementer til Collection (samlings)-objektet.
oCollection.Add(item, [key], [before|after])
element: det element, der skal tilføjes Collection (samlingen). Kan være af enhver type.
nøgle: strengværdi brugt som en en unik nøgle til at identificere dens værdi.
før, efter: valgfrit nøgleordsargument, der indikerer, hvor det nye element skal placeres i Collection (samlingen). Kun et af argumenterne før eller efter kan angives for at bestemme indekset eller nøglen, foran hvilken (eller efter hvilken) det nye element skal placeres.
Eksemplet herunder tilføjer to elementer til en Collection (samling). Den første har har en nøgle tilknyttet, mens den anden ikke har.
    Dim myCollection as New Collection
    myCollection.Add(100, "first")
    myCollection.Add(101)
  Metoden Add (tilføj) understøtter også nøgleordsargumenter:
    myCollection.Add(item := 100, key := "first")
  Nøgler skal være unikke i et Collection (samlings)-objekt. Sammenligning mellem nøgler er uden skelnen mellem store og små bogstaver. Tilføjelse af duplikerede nøgler resulterer i en afviklingsfejl.
Eksemplet herunder illustrerer, hvordan nøgleordsargumenterne Before (før) og After (efter) bruges til at bestemme placeringen af det element, der tilføjes.
    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
  Elementer i et Collection (samlings)-objekt er tildelt en heltals-indeksværdi, der begynder med 1 og svarer til den rækkefølge, de blev tilføjet i.
Brug metodenItem (element) til at tilgå et givet element ved dets indeks eller nøgle.
oCollection.Item(index)
oCollection.Item(key)
indeks: en heltalsværdi, der angiver indekset på det element, der skal returneres.
nøgle: en strengværdi, der angiver nøglen til det element, der skal returneres.
    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
  Brug metoden Remove (fjern) til at slette elementer fra et Collection (samlings)-objekt.
Elementer kan fjernes enten ved deres indekser eller nøgleværdier.
oCollection.Remove(index)
oCollection.Remove(key)
indeks: en heltals værdi, der angiver indekset på det element, der skal fjernes.
nøgle: en strengværdi, der angiver nøglen til det element, der skal fjernes.
    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
  Det er muligt at bruge udtrykket For Each ... Next (for hver ... næste) til at gentage over alle elementer i en Collection (samling).
    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
  For at fjerne alle elementer fra et Collection (samlings)-objekt kalder du metoden Remove (fjern) forhvert element, som illustreret i eksemplet herunder:
    ' Opretter en eksempel-samling med to elementer
    Dim myCollection as New Collection
    myCollection.Add(item := 10, key := "A")
    myCollection.Add(item := 11, key := "B")
    MsgBox myCollection.Count ' 2
    ' Fjerner alle elementer i samlingen
    For i = myCollection.Count To 1 Step -1
    	myCollection.Remove(i)
    Next i
    MsgBox myCollection.Count ' 0