Variabler
Et program bearbeider data. Variabler er navngitte data en kan endre (read-write) og konstanter er faste (read-only) data med navn og uten navn.
Data vil til enhver til ha en type som bestemmer hvordan de skal oppfattes. Basaltypene er Integer og Long (heltall), Single og Double (desimaltall), String (ord og tekst), Boolean (sann/usann).
Hvis data skal ha navn gjelder reglene om at navnet skal ha bokstaver og tall og eventuelt et underscore (_). Norske og samiske tegn tillates ikke.
Eksplisitt
Programmet blir tydeligst hvis en eksplisitt deklarerer hva slags navn og type de ulike data skal ha. Dim er et direktiv ("dimensjoner") vi bruker til eksplisitt deklarasjon, som i:
Dim skatteprosent as Double Dim inntekt as Integer Dim navn as String Dim gift as Boolean
I eksemplet blir det laget plass (i minnet) til fire navngitte variabler: Ett desimaltall, ett heltall, en streng og en boolsk.
Implisitt
Mange synes det er enklest at data deklareres etterhvert som de tas i bruk (implisitt) og at datatypen bestemmes og kan varieres, etter hvordan det brukes (typesvakt). Apache OpenOffice er typesvakt og dynamisk og vil tillate dette.
Noen mener at sjansen for feil er lavest med eksplisitt deklarering. Man kan med et direktiv sikre seg mot implisitte deklarasjoner:
Option Explicit
Dette er et direktiv til interpreteren, og skal skrives i starten av programmet.
Variant
Et data av variant-type kan anta type etter bruk.
Dim ukedag ' ingen type angitt ukedag = "tirsdag" ' her blir det en streng ukedag = 2 ' et heltall (Integer) ukedag = 2.2 ' et desimaltall (Double) ukedag = True ' sannhet (Boolean)
I eksemplet angis ikke type i deklarasjonen av ukedag. Deretter gis den fire verdier med ulik type (de to siste gir lite mening, riktignok).
Hurtigtyping
Eksplisitt type kan angis med typens navn, eller ved et postfix (etterkoding) i navnet:
Dim storInntekt& ' Long Dim inntekt% ' Integer Dim navn$ ' String Dim investProsent! ' Single Dim skatteprosent# ' Double Dim valuta ' Currency
Datatyper blir mer detaljert beskrevet i neste delkapitel.
Content on this page is licensed under the Public Documentation License (PDL). |