Típusszerkezet
A LibreOffice Basic-ben az alapértelmezett típus a variant, ez minden fajta értéket tud tárolni. A változókat nem kötelező deklarálni, sem a típusukat megmondani, úgy viselkednek, ahogy használjuk őket, ez a program futása közben is változhat. Azonban, ha deklarációkor megadjuk a típusát, akkor csak a típus érték halmazából veheti fel az értékét. A nyelv automatikus konverziót valósít meg, ez általában csonkolást jelent.
A következő elemi típusok léteznek a nyelvben:
- string: változó méretű karakter sorozat tárolására alkalmas (maximum 65535 karakterig)
- integer: egész szám tárolására alkalmas -32768-tól 32767-ig
- long: long integer, azaz nagy egész szám tárolására alkalmas –2147483648-tól 2147483647-ig
- single: lebegőpontos szám tárolására alkalmas 3.402823 x 1038 és 1.401298 x 10-45 közti nagyságrendben, mind pozitív mind negatív szám esetén
- double: lebegőpontos szám tárolására alkalmas 1.79769313486232 x 10308 és 4.94065645841247 x 10-324 közti nagyságrendben, mind pozitív mind negatív szám esetén
- currency: fix pontú 4 tizedestört pontosságú szám tárolására alkalmas -922337203685477.5808 és +922337203685477.5807 közt
- boolean: logikai érték tárolására alkalmas (true, false)
- date: dátum (idővel együtt) tárolására alkalmas
Tömb típus
A tömbök rugalmasan kezelhetők a nyelvben, például a következő módon deklarálhatunk egy 10 egész számot tároló tömböt:
dim tombom(10) as integer
Azonban se a tömb elemszámát sem a tömbben tárolt elemek típusát se kötelező megadni. A tömböt később át is méretezhetjük a redim paranccsal (ha deklarációkor nem adtuk meg a méretét, akkor használat előtt kötelező használni a redim parancsot). A tömböket alapértelmezetten 0-tól indexeli, de ez mindenegyes tömbnél külön megadható, hogy az indexhatár milyen értékek közt mozogjon, illetve modul szinten felül is definiálható. A következő parancs 1-re állítja minden olyan tömb kezdő indexét, ahol azt alapértelmezetten hagytuk:
Option Base 1
Több dimenziós tömbök is létrehozhatóak, és a dimenzió szám a VBA-val ellentétben itt nincs lekorlátozva.
Példák tömbök létrehozására:
dim inttomb(-10 to 10) as integer 'tömb indextartománya -10 és 10 közt van
inttomb(-10) =2
inttomb(-2)=0
msgbox inttomb(-2)
redim inttomb(2,10) as integer 'két dimenziós tömb
inttomb(0,1)= 2
msgbox inttomb(0,1)
redim inttomb(2,2,2) as integer 'három dimenziós tömb
inttomb(1,1,1)=3
msgbox "3d-s: " & inttomb(1,1,1)
redim inttomb(1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
,1,1,1,1,1,1,1,1,1,1_
) as integer '120 dimenziós tömb
Változó deklaráció
Nem kötelező a változókat deklarálni, az eljárások, függvények belsejében a dim kulcsszóval tehetjük meg. De a modulban is deklarálhatunk változókat szintén a dim kulcsszóval, ekkor mindegyik eljárás, függvény látja, de másik modulból nem elérhető, ugyanezt elérhetjük, ha itt private kulcsszóval deklaráljuk. Public vagy global kulcsszóval is deklarálhatunk változókat ekkor másik modulból is elérhető a változó. Kezdeti értékadásra csak konstansok esetén van lehetőségünk, ezeket a const kulcsszóval vezetjük be.