Institutt for informatikk og matematiske fag

Kurs 860 IKT

Visual Basic:
Arrays

[Litteratur: VB kap. 11, s. 305-321]


Forelesningen baseres på filer i filarkivet less11.zip

Vi laster nå ned dette filarkivet, pakker det ut og lagrer filene på m:\vb\less11.


Arrays - hva og hvorfor

Et array (den engelske betegnelsen brukes ofte på norsk også, men noen sier i stedet matriser) er en spesiell variabel som brukes til å lagre data på en tabellarisk måte. Arrays kan derfor brukes til å lagre data på en systematisk og oversiktlig måte. Arrays gis navn som for andre variable, f.eks. Poengoversikt.

Her er en illustrasjon av et én-dimensjonalt array med 3 elementer:

Indeks 0
Indeks 1
Indeks 2
Norge
Danmark
Sverige

Den første cellen i arrayet refereres til med indekstallet 0, den neste cellen med indekstallet 1, osv.

Et én-dimensjonal array kan alternativt illustreres slik:

Indeks 0  Indeks 1 Indeks 2
Norge Danmark Sverige

I arrayet ovenfor er elementene tekststrenger, men elementene i ett og samme array kan generelt ha forskjellige datatyper.

Arrays kan ha et vilkårlig antall dimensjoner (såkalte flerdimensjonale arrays). Her er en illustrasjon av et to-dimensjonalt array med 3 rader og 2 kolonner:

Rad 0
Rad 1
Rad 2
Kolonne 0  Kolonne 1
Norge 4200000
Danmark 4300000
Sverige 8500000

Husk at et array kun er en variabel, du kan altså ikke se arrayet på programmets skjermbilde, med mindre du lager programmet slik at array-elementer vises i egnede skjermbildeobjekter.

Et array som har et forhåndsbestemt antall elementer (i hver dimensjon) er et fast (eng.: fixed) array. Arrayer i Visual Basic kan også ha et variabelt antall elementer. Dette er dynamiske (dynamic) arrays. Antallet elementer kan da økes som resultat av programkjøringen.


Hvordan referere til elementer i et array?

Anta som eksempel at det to-dimensjonale arrayet ovenfor har navnet Innbyggeroversikt. Du  kan da lese verdien av elementet i 2. rad og 1. kolonne slik:

Label1.Caption = Innbyggeroversikt(1,0)

Label-elementet bør da vise tekststrengen "Danmark".

Du kan også skrive verdier til et array. Eksempel:

Innbyggeroversikt(2,1) = 8500000

Dersom du skal referere til et element i et én-dimensjonalt array, bruker du naturlig nok denne syntaksen:

Arraynavn(elementindeks)


Hvordan deklarere et array?

Å deklarere (eng.: declare) et array betyr å definere eller lage arrayet, slik at Visual Basic setter av passende lagerplass til det.

Et fast array kan deklareres som i dette eksempelet (det antas her at arrayet skal være en global variabel som deklareres i en standard-modul):

Public Innbyggeroversikt(3,2) As Variant

Her er det angitt antall elementer i hver av de to dimensjonene. Arrayet har datatype variant, hvilket betyr at elementene kan ha en hvilken som helst datatype. Dersom alle elementene har samme datatype, la oss si Integer, kan du i stedet for Variant skrive Integer.

Et dynamisk array defineres ganske enkelt slik:

Public Innbyggeroversikt() As Variant

Indeksantallene er altså sløyfet.

I utgangspunktet har elementindeksene verdiene 0, 1, 2 osv. Dersom du ønsker at elementindekseringen skal begynne på 1 i stedet for 0, skriver du f.eks.:

Option Base 1
Public Innbyggeroversikt(3,2) As Variant


Bruk av array

Vi ser på programmet Baseballm:\vb\less101 som demonstrerer bruk av flerdimensjonale faste arrays.


[Kursets hjemmeside] [Framdriftsplanen]
Oppdatert 4.10.01 av Finn Haugen (e-post: Finn.Haugen@hit.no)