Modul
Vsebina
Kazalo 🔎︎

# Uporaba spremenljivk

Sledi opis osnov uporabe spremenljivk v LibreOffice Basicu.

## Pravila poimenovanja za identifikatorje spremenljivk

Ime spremenljivke ima lahko največ 255 znakov. Prvi znak imena mora biti črka. V imenu spremenljivke lahko uporabite tudi številke, ločila in ostali posebni znaki pa razen podčrtaja (»_«) niso dovoljeni. LibreOffice Basic pri imenih spremenljivk ne razlikuje med velikimi in malimi črkami. Imena spremenljivk lahko vsebujejo presledke, vendar morajo biti v tem primeru ograjena v zavite oklepaje.

Primeri imen spremenljivk:

    MyNumber=5
| Pravilno
    MyNumber5=15
| Pravilno
    MyNumber_5=20
| Pravilno
    My Number=20
| Neveljavno. Ime spremenljivke s presledkom mora biti ograjeno z oglatimi oklepaji:
    [My Number]=12
| Pravilno
    DéjàVu=25
| Neveljavno, posebni znaki niso dovoljeni.
    5MyNumber=12
| Neveljavno, ime spremenljivke se ne sme začeti s številko.
    Number,Mine=12
| Neveljavno, ločila niso dovoljena.

## Deklariranje spremenljivk

V LibreOffice Basicu vam spremenljivk ni treba posebej deklarirati. Deklaracijo lahko izvedete z ukazom Dim. Naenkrat lahko deklarirate več spremenljivk tako, da jih navedete in ločite z vejico. Za določitev vrste spremenljivke uporabite znak za deklaracijo vrste za imenom spremenljivke ali ustrezno ključno besedo.

Primeri za deklaracije spremenljivke:

    Dim a$
| Deklarira spremenljivko »a« kot String (niz znakov)
    Dim a As String
| Deklarira spremenljivko »a« kot String (niz znakov)
    Dim a$, b As Integer
| Deklarira prvo spremenljivko kot String (niz znakov) in drugo kot Integer – celo število
    Dim c As Boolean
| Deklarira spremenljivko c kot Boolean, to je logično spremenljivko, ki je lahko res (TRUE) ali ne res (FALSE)

Če pri deklaraciji uporabite znak za vrsto spremenljivke, ga morate uporabljati tudi v kasnejših ukazih, ki to spremenljivko vsebujejo. Naslednji stavki so iz tega razloga nepravilni:

    Dim a$
| Deklarira »a« kot String
    a="TestString"
| Manjka deklaracija vrste: »a$=«

Ko enkrat deklarirate spremenljivko določene vrste, ne morete deklarirati spremenljivke druge vrste z enakim imenom!

### Obvezno deklariranje spremenljivk

Če želite, da bo deklaracija spremenljivk obvezna, uporabite sledeči ukaz:

    Option Explicit

Ukaz Option Explicit mora biti prva vrstica v modulu, pred prvim ukazom SUB. V splošnem je izrecna deklaracija potrebna samo za polja. Vse ostale spremenljivke se deklarirajo v skladu z znakom za vrsto deklaracije ali pa, če ga ni, kot privzeta vrsta Single.

## Vrste spremenljivk

LibreOffice Basic podpira štiri razrede spremenljivk:

- Numerične spremenljivke lahko vsebujejo številčne vrednosti. Nekatere spremenljivke se uporabljajo za velika ali majhna števila, druge pa za števila s plavajočo vejico ali ulomke.

- Znakovne spremenljivke (String) vsebujejo nize znakov.

- Logične (Boolean) spremenljivke vsebujejo vrednost res ali ne res (TRUE ali FALSE) .

- Spremenljivke vrste Object (predmet) lahko hranijo predmete različnih vrst, kot so tabele in dokumenti znotraj dokumenta.

### Spremenljivke celoštevilčne vrste Integer

Spremenljivke vrste Integer imajo razpon od -32768 do 32767. Če spremenljivki vrste Integer dodelite vrednost vrste števila s plavajočo vejico, se decimalna mesta zaokrožijo na naslednje celo število. S spremenljivkami vrste Integer se hitro računa in so primerne za števce znotraj programskih zank. Zasedejo samo dva bajta pomnilnika. Znak za deklaracijo vrste je »%«.

    Dim Variable%

    Dim Variable As Integer

### Spremenljivke vrste Long Integer

Celoštevilčne spremenljivke vrste Long Integer imajo razpon od -2147483648 do 2147483647. Če spremenljivki vrste Long Integer dodelite vrednost vrste števila s plavajočo vejico, se decimalna mesta zaokrožijo na naslednje celo število. S spremenljivkami vrste Long Integer se hitro računa in so zato primerne za števce znotraj programskih zank. Zasedejo štiri bajte pomnilnika. Znak za deklaracijo vrste je »&«.

    Dim Variable&

    Dim Variable As Long

### Decimalne spremenljivke

Decimalne spremenljivke imajo lahko negativno ali pozitivno vrednost ali so enake nič. Natančnost je do 29 decimalk.

Kot predznak za decimalne številke lahko uporabite znak plus (+) ali minus (-) (s presledkom ali brez).

Če je celoštevilčni spremenljivki določena decimalna številka, LibreOffice Basic zaokroži vrednost navzgor ali navzdol.

### Spremenljivke vrste Single

Spremenljivke vrste Single lahko zavzemajo negativno ali pozitivno vrednost z obsegom od 3,402823 x 10E38 do 1,401298 x 10E-45. Gre za števila s plavajočo vejico, pri katerih se natančnost decimalnega dela števila manjša z naraščanjem celega dela števila. Primerne so za matematične izračune s povprečno natančnostjo. Izračuni zahtevajo več časa kot spremenljivke vrste Integer, so pa bolj hitri od izračunov s spremenljivkami vrste Double. Spremenljivka vrste Single zasede 4 bajte pomnilnika. Znak za deklaracijo vrste je »!«.

    Dim Variable!

    Dim Variable As Single

### Spremenljivke vrste Double

Spremenljivke vrste Double lahko imajo negativno ali pozitivno vrednost z obsegom od 1,79769313486232 x 10E308 do 4,94065645841247 x 10E-324. Gre za števila s plavajočo vejico, pri katerih se natančnost decimalnega dela števila manjša z naraščanjem celega dela števila. Primerne so za natančne matematične izračune. Izračuni zahtevajo več časa kot spremenljivke vrste Single. Spremenljivka vrste Double zasede 8 bajte pomnilnika. Znak za deklaracijo vrste je »#«.

    Dim Variable#

    Dim Variable As Double

### Spremenljivke vrste Currency

Spremenljivke vrste Currency (valuta) so notranje hranjene kot 64-bitna števila (8 bajtov) in prikazana kot številke s 15 celimi mesti in 4 decimalnimi mesti. Njihove vrednost obsegajo od -922.337.203.685.477,5808 do +922.337.203.685.477,5807. Uporabljamo jih za računanje finančnih postavk z visoko natančnostjo. Znak za deklaracijo vrste je »@«.

    Dim Variable@

    Dim Variable As Currency

### Spremenljivke vrste String

Spremenljivke vrste String lahko vsebujejo nize znakov do dolžine 65.535 znakov. Vsak znak je shranjen kot ustrezna koda Unicode. Spremenljivke vrste String so primerne za obdelavo besedil v okviru programa in za shranjevanje poljubnih kombinacij znakov do dolžine 64k. Velikost potrebnega pomnilnika za spremenljivko vrste String je odvisna od števila znakov v njej. Znak za deklaracijo vrste je »$«.

    Dim Variable$

    Dim Variable As String

### Spremenljivke vrste Boolean

Spremenljivke vrste Boolean lahko shranjujejo le dve vrednosti: ali RES ali NI RES. Število 0 velja za FALSE, vse ostale vrednosti pa kot TRUE.

    Dim Variable As Boolean

### Spremenljivke vrste Date

Spremenljivke vrste Date vsebujejo podatke o datumu in času, pretvorjene v notranjo obliko. Vrednosti, dodeljene spremenljivki vrste Date z Dateserial, Datevalue, Timeserial ali Timevalue, se samodejno pretvorijo v notranjo obliko. Datumske spremenljivke pretvorimo v številke z uporabo funkcij Day, Month, Year ali Hour, Minute, Second. Notranja oblika omogoča primerjavo oziroma izračun razlike med dvema številkama. Te spremenljivke je mogoče deklarirati samo s ključno besedo Date.

    Dim Variable As Date

## Začetne vrednosti spremenljivk

Takoj, ko je spremenljivka deklarirana, dobi vrednost »Null«. Pri tem veljajo naslednja pravila:

Spremenljivke vrste Numeric dobijo ob deklaraciji vrednost »0«.

Spremenljivke vrste Date dobijo interno vrednost 0, to je vrednost, ki bi jo dobili, če bi vanje vnesli vrednost »0« s funkcijami Day, Month, Year ali Hour, Minute, Second.

Spremenljivke vrste String ob deklaraciji dobijo vrednost praznega niza ("").

## Polja

LibreOffice Basic podpira eno- ali večdimenzionalna polja spremenljivk z dano vrsto spremenljivke. Polja so primerna za urejanje seznamov ali tabel v programih. Posamezni elementi polja so naslovljivi s številčnim indeksom.

Polja morate deklarirati z ukazom Dim. Za definicijo obsega indeksa polja sta na razpolago dve metodi:

    Dim Text$(20)
| 21 elementov, oštevilčenih od 0 do 20
    Dim Text$(5,4)
| 30 elementov (matrika 6 x 5 elementov)
    Dim Text$(5 To 25)
| 21 elementov, oštevilčenih od 5 do 25
    Dim Text$(-15 To 5)
| 21 elementov, oštevilčenih od -15 do 5 (vključno z 0)

Obseg indeksa vsebuje lahko pozitivne in negativne številke.

## Konstante

Konstante imajo nespremenljivo vrednost. Določimo jih samo enkrat v programu in jih kasneje ni mogoče znova definirati:

    Const ConstName=Expression