Ús de variables
Tot seguit es descriu l'ús bà sic de variables al LibreOfficeDev Basic.
Convencions de nomenclatura per a identificadors de variables
Un nom de variable pot constar d'un mà xim de 255 carà cters. El primer carà cter d'un nom de variable ha de ser una lletra A-Z o a-z. També es poden utilitzar nombres en un nom de variable, però els signes de puntuació i els carà cters especials no es permeten, excepte el carà cter de subratllat ("_"). Al LibreOfficeDev Basic els identificadors de variable no distingeixen les majúscules de les minúscules. Els noms de variable poden incloure espais però s'han de col·locar entre claudà tors si en contenen.
Exemples d'identificadors de variable:
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'
Declaració de variables
Al LibreOfficeDev Basic no cal que declareu les variables explÃcitament. Una declaració de variable es pot dur a terme amb l'expressió Dim. Podeu declarar més d'una variable en qualsevol moment separant els noms amb una coma. Per definir el tipus de variable, utilitzeu un signe de declaració de tipus després del nom, o la paraula clau apropiada.
Exemples de declaracions de variables:
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'
Un cop hà geu declarat que una variable és d'un cert tipus, no podeu tornar a declarar la variable sota el mateix nom a un tipus diferent.
Forçament de declaracions de variables
Per forçar la declaració de variables, utilitzeu l'orde següent:
Option Explicit
L'expressió Opció explÃcita ha de ser la primera lÃnia del mòdul, abans de la primera SUB. Generalment, només les matrius s'han de declarar explÃcitament. La resta de variables es declaren segons el carà cter de declaració de tipus o, si s'omet, segons el tipus Senzill per defecte.
Tipus de variable
El LibreOfficeDev Basic admet quatre classes de variables:
-
Les variables numèriques poden contindre valors de nombre. Algunes variables s'utilitzen per emmagatzemar nombres grans o petits, i d'altres s'utilitzen per a nombres de coma flotant o fraccionaris.
-
Les variables de cadena contenen cadenes de carà cters.
-
Les variables booleanes contenen el valor CERT o el valor FALS.
-
Les variables d'objecte poden emmagatzemar objectes de diferents tipus, com ara taules i documents a dins d'un document.
Variables d'enters
Les variables d'enter van de -32.768 a 32.767. Si assigneu un valor de coma flotant a una variable d'enter, els llocs decimals s'arrodoneixen a l'enter següent. Les variables d'enter es calculen rà pidament en procediments i són apropiades per a variables de recompte en bucles. Una variable d'enter només requereix dos bytes de memòria. El carà cter de declaració de tipus és "%".
Dim Variable%
Dim Variable As Integer
Variables d'enter llarg
Les variables d'enter llarg van de -2.147.483.648 a 2.147.483.647. Si assigneu un valor de coma flotant a una variable d'enter llarg, els llocs decimals s'arrodoneixen a l'enter següent. Les variables d'enter llarg es calculen rà pidament en procediments i són adequades per a variables de recompte en bucles per a valors elevats. Una variable d'enter llarg requereix quatre bytes de memòria. El carà cter de declaració de tipus és "&".
Dim Variable&
Dim Variable As Long
Variables decimals
Les variables decimals poden prendre nombres positius o negatius, o zero. La precisió és de fins a 29 dÃgits.
Podeu utilitzar els signes més (+) o menys (-) com a prefixos per a nombres decimals (amb espais o sense).
Si un nombre decimal s'assigna a una variable entera, el LibreOfficeDev Basic arrodoneix la xifra cap amunt o cap avall.
Variables simples
Les variables senzilles poden prendre valors positius o negatius entre 3,402823 x 10E38 i 1,401298 x 10E-45. Les variables senzilles són variables de coma flotant, en què la precisió decimal disminueix a mesura que augmenta la part no decimal de la xifra. Les variables senzilles són adequades per a cà lculs matemà tics de precisió mitjana. Els cà lculs requereixen més temps que per a les variables d'enters, però són més rà pides que amb les variables dobles. Una variable senzilla requereix 4 bytes de memòria. El carà cter de declaració de tipus és "!".
Dim Variable!
Dim Variable As Single
Variables dobles
Les variables dobles poden prendre valors positius o negatius entre 1,79769313486232 x 10E308 i 4,94065645841247 x 10E-324. Les variables dobles són variables de coma flotant, en què la precisió decimal disminueix a mesura que augmenta la part no decimal de la xifra. Les variables dobles són adequades per a cà lculs precisos. Els cà lculs requereixen més temps que per a les variables senzilles. Una variable doble requereix 8 bytes de memòria. El carà cter de declaració de tipus és "#".
Dim Variable#
Dim Variable As Double
Variables de moneda
Les variables de moneda s'emmagatzemen internament com a nombres de 64 bits (8 Bytes) i es mostren com a nombre de decimal fix amb 15 llocs no decimals i 4 llocs decimals. Els valors van de -922337203685477,5808 a +922337203685477,5807. Les variables de moneda s'utilitzen per calcular els valors de moneda amb una precisió elevada. El carà cter de declaració de tipus és "@".
Dim Variable@
Dim Variable As Currency
Variables de cadenes
Les variables de cadena poden mantindre cadenes de carà cters amb fins a 65.535 carà cters. Cada carà cter s'emmagatzema com el valor Unicode corresponent. Les variables de cadena són adequades per al processament de text en programes i per a l'emmagatzematge temporal de qualsevol carà cter no imprimible fins a una llargada mà xima de 64 Kbytes. La memòria requerida per emmagatzemar variables de cadena depèn del nombre de carà cters a la variable. El carà cter de declaració de tipus és "$".
Dim Variable$
Dim Variable As String
Variables booleanes
Les variables booleanes només emmagatzemen dos valors: CERT o FALS. Un número 0 s'avalua en FALS, la resta de valors s'avaluen en CERT.
Dim Variable As Boolean
Variables de data
Les variables de data només poden contindre valors de data i d'hora emmagatzemats en un format intern. Els valors assignats a les variables de data amb Dateserial, Datevalue, Timeserial o Timevalue es converteixen automà ticament al format intern. Les variables de data es converteixen en números normals mitjançant les funcions Day, Month, Year o Hour, Minute, Second. El format intern permet una comparació dels valors de data/hora calculant la diferència entre dos nombres. Estes variables només es poden declarar amb la paraula clau Date.
Dim Variable As Date
Valors de variable inicials
Tan prompte com es declara una variable, s'estableix automà ticament al valor "Nul". Tingueu en compte les convencions següents:
A les variables numèriques se'ls assigna el valor "0" tan prompte com es declaren.
Les variables de data tenen assignat el valor 0 internament; equivalent a convertir el valor a "0" amb la funció Day, Month, Year o Hour, Minute, Second.
Les variables de cadena tenen assignada una cadena buida ("") quan es declaren.
Matrius
El LibreOfficeDev Basic coneix matrius d'una dimensió o de diverses dimensions, definides per un tipus de variable especificat. Les matrius serveixen per editar llistes i taules en programes. Es pot accedir als elements individuals d'una matriu a través d'un Ãndex numèric.
Les matrius s'han de declarar amb l'expressió Dim. Hi ha diverses maneres de definir el rang d'Ãndex d'una matriu:
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'
El rang d'Ãndex pot incloure nombres positius i negatius.
Constants
Les constants tenen un valor fix. Només es defineixen una vegada al programa i no es poden tornar a definir més avant:
Const ConstName=Expression