Collabora Office 24.04 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 Stort-og-småt. Tilføjelse af nøgleduplikater resulterer i en kørselsfejl.
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