Uporaba spremenljivk

From LibreOffice Help
Jump to: navigation, search

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:

MojaStevilka=5 Pravilno
MojaStevilka5=15 Pravilno
MojaStevilka_5=20 Pravilno
Moja Stevilka=20 Neveljavno. Ime spremenljivke s presledkom mora biti ograjeno z oglatimi oklepaji:
[Moja Stevilka]=12 Pravilno
DéjàVu=25 Neveljavno, posebni znaki niso dovoljeni.
5MojaStevilka=12 Neveljavno, ime spremenljivke se ne sme začeti s številko.
Stevilka,Moja=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="Preizkusni niz" Manjka deklaracija vrste: "a$="
Warning.png 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 Spremenljivka%

Dim Spremenljivka 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 Spremenljivka&

Dim Spremenljivka 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 Spremenljivka!

Dim Spremenljivka 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 Spremenljivka#

Dim Spremenljivka As Double

Spremenljivke vrste Currency

Spremenljivke vrste Currency 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 Spremenljivka@

Dim Spremenljivka 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 Spremenljivka$

Dim Spremenljivka 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 Spremenljivka 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 Spremenljivka 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 besedilo$(20) 21 elementov, oštevilčenih od 0 do 20
DIM besedilo$(5,4) 30 elementov (matrika 6 x 5 elementov)
DIM besedilo$(5 to 25) 21 elementov, oštevilčenih od 5 do 25
DIM besedilo$(-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 ImeKonstante=Izraz