LibreOffice 7.1 Hjelp
I dette avsnittet finner du grunnleggende informasjon om bruk av variabler i LibreOffice Basic.
Et variabelnavn kan inneholde maksimalt 256 tegn. Det første tegnet i et variabelnavn må være en bokstav i det engelske alfabetet A-Z eller a-z. De andre tegnene kan være en bokstav, et tall eller understrek («_»). Ingen andre tegn er tilatt. LibreOffice Basic skiller ikke mellom store og små bokstavar i variabelnavnene. Et variabelnavn kan også inneholde mellomrom, men må da skrives mellom hakeparenteser.
Eksempel på variabelnavn:
MyNumber=5 'Correct'
MyNumber5=15 'Correct'
MyNumber_5=20 'Correct'
My Number=20 'Not valid, variable with space must be enclosed in square brackets'
[My Number]=12 'Correct'
Déjà Vu=25 'Not valid, special characters are not allowed'
5MyNumber=12 'Not valid, variable may not begin with a number'
Number,Mine=12 'Not valid, punctuation marks are not allowed'
I LibreOffice Basic trenger du ikke å spesifikt deklarere variabler. En variabeldeklarasjon can utføres medDim uttrykket. Du kan deklarere mer enn en variabel samtidig , gjennom å separere de med kommategn. For å definere variabeltypen, bruk enten en type-dekalrasjon etter navnet, eller et passende nøkkelord.
Eksempler for variabeldeklarasjoner:
Dim a$ 'Declares the variable "a" as a String'
Dim a As String 'Declares the variable "a" as a String'
Dim a$, b As Integer 'Declares one variable as a String and one as an Integer'
Dim c As Boolean 'Declares c as a Boolean variable that can be TRUE or FALSE'
NÃ¥r du har deklarert en variabel som en spesifik type, kan du ikke deklarere samme variabelnavn med en annen type
For tvingende deklarasjon av variabler, bruk følgende kommando:
Option Explicit
Uttrykket Option Explicit må være på den første linjen i modulen, foran den første SUB-prosedyren. Normalt skal bare tabeller («array») deklarerest spesielt. Alle andre variablar blir deklarerte med typedeklarasjonstegnet eller, dersom dette er sløyfet, som standardtypen Single.
LibreOffice Basic har støtte for fire variabelklasser:
Numeriske variabler inneholder tallverdier. Variablene blir brukt til å lagre store eller små tall, desimaltall eller brøk.
Streng-variablene inneholder tegnstrenger (tekst).
Logiske variabler kan ha verdiene SANT (TRUE) eller FALSKT(FALSE).
Object-variablene kan lagre ulike typer objekter som feks tabeller og dokument i et dokument.
Integervariabler varierer fra -32768 til 32767. Hvis du tilordner en flytende punktverdi til en heltallvariabel, avrundes desimaltallene til neste heltall. Heltallvariabler beregnes raskt i prosedyrer og passer for tellervariabler i sløyfer. En heltallvariabel krever bare to bytes minne. "%" er tegndeklarasjonskarakteren.
Dim Variable%
Dim Variable As Integer
Long integer-variabler varierer fra -2147483648 til 2147483647. Hvis du tilordner en flytende punktverdi til en lang heltallvariabel, avrundes desimaltallene til neste heltall. Long integervariabler beregnes raskt i prosedyrer og er egnet for tellervariabler i sløyfer for store verdier. En lang integervariabel krever fire byte minne. "&" er typedeklarasjonskarakteren.
Dim Variable&
Dim Variable As Long
Decimale variabler kan ta positive eller negative tall eller null. Nøyaktigheten er opptil 29 siffer.
Du kan bruke pluss (+) eller minus (-) tegn som prefiks for desimaltall (med eller uten mellomrom).
Hvis et desimaltall er tilordnet en heltallvariabel, rundes LibreOffice Basic om figuren opp eller ned.
Single variables can take positive or negative values ranging from 3.402823 x 10E38 to 1.401298 x 10E-45. Single variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Single variables are suitable for mathematical calculations of average precision. Calculations require more time than for Integer variables, but are faster than calculations with Double variables. A Single variable requires 4 bytes of memory. The type-declaration character is "!".
Dim Variable!
Dim Variable As Single
Double variables can take positive or negative values ranging from 1.79769313486232 x 10E308 to 4.94065645841247 x 10E-324. Double variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Double variables are suitable for precise calculations. Calculations require more time than for Single variables. A Double variable requires 8 bytes of memory. The type-declaration character is "#".
Dim Variable#
Dim Variable As Double
Valutavariabler lagres internt som 64-biters tall (8 byte) og vises som et fast desimalsummer med 15 ikke-desimalt og 4 desimaler. Verdiene varierer fra -922337203685477.5808 til +922337203685477.5807. Valutavariabler brukes til å beregne valutaverdier med høy presisjon. Typeklarasjons karakteren er "@".
Dim Variable@
Dim Variable As Currency
Numbers can be encoded using octal and hexadecimal forms.
xi = &o13 ' 8 + 3
ci = &h65 ' 6*16 + 5
MAX_Integer = &o77777 ' 32767 = &h7FFF
MIN_Integer = &o100000 ' -32768 = &h8000
MAX_Long = &h7fffffff ' 2147483647 = &o17777777777
MIN_Long = &h80000000 ' -2147483648 = &o20000000000
String variables can hold character strings with up to 2,147,483,648 characters. Each character is stored as the corresponding Unicode value. String variables are suitable for word processing within programs and for temporary storage of any non-printable character up to a maximum length of 2 Gbytes. The memory required for storing string variables depends on the number of characters in the variable. The type-declaration character is "$".
I BASIC-strengfunksjoner, har første tegn i strengen indeks 1.
Dim Variable$
Dim Variable As String
Logiske variabler kan inneholde en av to verdier: SANN (TRUE) og USANN (FALSE). Talelt 0 representerer USANN, alle andre verdier gir SANN.
Dim Variable As Boolean
Datovariabler kan kun inneholde verdier for datoer og klokkeslett. Verdiene lagres i et internt format. Verdier som er tilordnet datovariabler med Dateserial, Datevalue, Timeserial eller Timevalue blir automatisk konverterte til det interne formatet. Datovariablene kan konverteres til vanlige tall med funksjonene Dag, Måned, År eller Time, Minutt, Sekund. Det interne datoformatet brukes for å regne ut forskjellen mellom to datoer og/eller klokkeslett. Datovariablene kan kun deklareres med nøkkelordet Date.
Dim Variable As Date
NÃ¥r en variabel blir deklarert, vil verdien automatisk bli satt til null. Merk likevel:
Numeriske variabler får automatisk verdien «0» når de blir deklarerte.
Datovariabler får den interne verdien 0 som tilsvarer konvertering av "0" med funksjonene Dag, Måned og År eller Time, Minutt og Sekund.
Strengvariabler får verdien av en tom streng ("") når de blir deklarerte.
LibreOffice Basic kan gjenkjenne en- eller flerdimensjonal arrays, definert av en spesifisert variabeltype. Arrays er egnet for redigering av lister og tabeller i programmer. Individuelle elementer i en matrise kan adresseres gjennom en numerisk indeks.
Array må defineres med uttrykket Dim. Det finst flere måter å definere indeksområdet for en tabell på:
Dim Text$(20) '21 elements numbered from 0 to 20'
Dim Text$(5,4) '30 elements (a matrix of 6 x 5 elements)'
Dim Text$(5 To 25) '21 elements numbered from 5 to 25'
Dim Text$(-15 To 5) '21 elements (including 0), numbered from -15 to 5'
Indeksområdet kan inneholde både positive og negative tall.
Konstantene har en fast verdi. De kan defineres kun en gang i programmet og verdien kan ikke endres senere.
Const ConstName=Expression