IBM Lotus Symphony
|
Denne delen beskriver grunnleggende bruk av variabler i Lotus Symphony Basic.
Et variabelnavn kan bestå av opptil 255 tegn. Det første tegnet i et variabelnavn må være en bokstav fra A til Z eller a til z. Tall kan også brukes i et variabelnavn, men tegnsettingssymboler og spesialtegn er ikke tillatt, med unntak av understrekingstegnet ("_"). I Lotus Symphony Basic blir det ikke skilt mellom store og små bokstaver i variabelidentifikatorer. Variabelnavn kan inneholde mellomrom, men de må stå mellom hakeparenteser.
Eksempel | Beskrivelse |
---|---|
MittNummer=5 | Riktig |
MittNummer5=15 | Riktig |
MittNummer_5=20 | Riktig |
Mitt Nummer=20 | Ikke gyldig. Variabel med mellomrom må stå mellom hakeparenteser |
[Mitt Nummer]=12 | Riktig |
DéjàVu=25 | Ikke gyldig. Spesialtegn er ikke tillatt |
5MittNummer=12 | Ikke gyldig. Variabel kan ikke starte med et tall |
Nummer,Mitt=12 | Ikke gyldig. Tegnsetting er ikke tillatt |
I Lotus Symphony Basic behøver du ikke å deklarere variabler uttrykkelig. En variabeldeklarasjon kan utføres med Dim-setningen. Du kan deklarere flere variabler om gangen ved å skille navnene med et komma. Hvis du vil definere variabeltypen, bruker du enten et typedeklarasjonstegn etter navnet eller det riktige nøkkelordet.
Eksempel | Beskrivelse |
---|---|
DIM a$ | Deklarerer variabelen "a" som en streng |
DIM a As String | Deklarerer variabelen "a" som en streng |
DIM a$, b As Integer | Deklarerer en variabel som en streng og en som et heltall |
DIM c As Boolean | Deklarerer c som en boolsk variabel som kan være TRUE eller FALSE |
Det er svært viktig når du deklarerer variabler, at du bruker typedeklarasjonstegn hver gang, selv om det ble brukt i deklarasjonen i stedet for et nøkkelord. Følgende setninger er derfor ugyldige:
Eksempel | Beskrivelse |
---|---|
DIM a$ | Deklarerer "a" som en streng |
a="TestStreng" | Typedeklarasjon mangler: "a$=" |
![]() |
Når du har deklarert en variabel som en bestemt type, kan du ikke deklarere variabelen med det samme navnet igjen som en annen type! |
For å tvinge deklarasjon av variabler bruker du følgende kommando:
OPTION EXPLICIT
Option Explicit-setningen må være den første linjen i modulen, før den første SUB. Generelt er det bare matriser som må deklareres eksplisitt. Alle andre variabler blir deklarert i henhold til typedeklarasjonstegnet, eller - hvis det er utelatt - som standardtypen Enkel .
Lotus Symphony Basic støtter fire variabelklasser:
Numeriske variabler kan inneholde tallverdier. Noen variabler brukes til å lagre store eller små tall, og andre brukes til flytetall eller brøktall.
Strengvariabler inneholder tegnstrenger.
Boolske variabler inneholder enten verdien TRUE (Sann) eller FALSE (Usann).
Objektvariabler kan lagre objekter av ulike typer, for eksempel tabeller og dokumenter i et dokument.
Heltallsvariabler ligger i verdiområdet -32768 til 32767. Hvis du tildeler en flytetallverdi til en heltallsvariabel, blir desimalene rundet av oppover til nærmeste heltall. Heltallsvariabler beregnes raskt i prosedyrer og er godt egnet for tellervariabler i sløyfer. En heltallsvariabel krever bare to byte med minne. "%" er tegnet for typedeklarasjon.
Dim-variabel%
Dim-variabel som heltall
Lange heltallsvariabler ligger i området fra -2147483648 til 2147483647. Hvis du tildeler en flytetallverdi til en lang heltallsvariabel, blir desimalene rundet av oppover til nærmeste heltall. Lange heltallsvariabler beregnes raskt i prosedyrer og er godt egnet for tellervariabler i sløyfer for store verdier. En lang heltallsvariabel krever fire byte minne. "&" er tegnet for typedeklarasjon.
Dim-variabel&
Dim-variabel som lang
Desimalvariabler kan ta positive eller negative tall eller null. Nøyaktigheten er opptil 29 sifre.
Du kan bruke plusstegn (+) eller minustegn (-) som prefiks for desimaltall (med eller uten mellomrom).
Hvis et desimaltall blir tildelt til en heltallsvariabel, avrunder Lotus Symphony Basic tallet opp- eller nedover.
Enkle variabler kan ta positive eller negative verdier fra 3,402823 x 10E38 til 1,401298 x 10E-45. Enkle variabler er flytetallsvariabler, der desimalpresisjonen reduseres når den delen av tallet som ikke er desimaler, øker. Enkle variabler egner seg til matematiske beregninger med gjennomsnittlig presisjon. Beregninger krever mer tid enn for heltallsvariabler, men er raskere enn beregninger med doble variabler. En enkel variabel krever 4 byte minne. Typedeklarasjonstegnet er "!".
Dim-variabel!
Dim-variabel som Enkel
Doble variabler kan ta positive eller negative verdier fra 1,79769313486232 x 10E308 til 4,94065645841247 x 10E-324. Doble variabler er flytetallsvariabler, der desimalpresisjonen reduseres når den delen av tallet som ikke er desimaler, øker. Doble variabler egner seg til presise beregninger. Beregninger krever mer tid enn for enkle variabler. En dobbel variabel krever 8 byte minne. Typedeklarasjonstegnet er "#".
Dim-variabel#
Dim-variabel som Dobbel
Valutavariabler lagres internt som 64-biters tall (8 byte) og vises som et tall med faste desimaler med 15 ikke-desimaltall og 4 desimaler. Verdiene er fra -922337203685477,5808 til +922337203685477,5807. Valutavariabler brukes til å beregne valutaverdier med høy presisjon. Tegnet for typedeklarasjon er "@".
Dim-variabel@
Dim-variabel som Valuta
Strengvariabler kan inneholde tegnstrenger med opptil 65 535 tegn. Hvert tegn lagres som tilsvarende Unicode-verdi. Strengvariabler egner seg til tekstbehandling i programmer og til midlertidig lagring av ikke-utskrivbare tegn opp til en maksimumslengde på 64 kB. Minnemengden som kreves for å lagre strengvariabler, avhenger av antall tegn i variabelen. Typedeklarasjonstegnet er "$".
Dim-variabel$
Dim-variabel som Streng
Boolske variabler lagrer bare en av to verdier: TRUE (Sann) eller FALSE (Usann). Tallet 0 evalueres til FALSE, alle andre verdier evalueres til TRUE.
Dim-variabel som Boolsk
Datovariabler kan bare inneholde datoer og klokkeslettverdier lagret i et internt format. Verdier som er tildelt Dato-variabler med Dateserial , Datevalue , Timeserial eller Timevalue blir automatisk konvertert til det interne formatet. Datovariabler blir konvertert til normale tall ved hjelp av funksjonene Day , Month , Year eller Hour , Minute , Second . Med det interne formatet kan du sammenligne dato-/klokkslettverdier ved å beregnet differansen mellom to tall. Disse variablene kan deklareres bare med nøkkelordet Date.
Dim-variabel som Dato
Når variabelen er blitt deklarert, blir den automatisk angitt til "Null"-verdi. Legg merke til følgende konvensjoner:
Numeriske variabler blir automatisk tildelt verdien "0" når de er deklarert.
Datovariabler blir tildelt verdien 0 internt; tilsvarer konvertering av verdien til "0" med funksjonen Day , Month , Year or the Hour , Minute , Second .
Strengvariabler blir tildelt en tom streng ("") når de er deklarert.
Lotus Symphony Basic kjenner en- eller flerdimensjonale matriser definert ved en bestemt variabeltype. Matriser egner seg til redigering av lister og tabeller i programmer. Enkeltelementene i en matrise kan adresseres ved hjelp av en numerisk indeks.
Matriser må deklareres med Dim-setningen.
Eksempel | Beskrivelse |
---|---|
DIM text$(20) | 21 elementer nummerert fra 0 til 20 |
DIM text$(5,4) | 30 elementer (en matrise på 6 x 5 elementer) |
DIM text$(5 to 25) | 21 elementer nummerert fra 5 til 25 |
DIM text$(-15 to 5) | 21 elementer (inklusive 0), nummerert fra -15 til 5 |
Indeksområdet kan inneholde både positive og negative tall.
Konstanter har en fast verdi. De defineres bare en gang i programmet og kan ikke omdefineres senere:
CONST KonstNavn=Uttrykk