Sisällys

# Perusteet

Perusteet-osiossa käsitellään LibreOffice Basic -työskentelyssä tarvittavia perusasioita.

LibreOffice Basic-ohjelmakoodi perustuu kahteen rutiinityyppiin: aliohjelmiin eli proseduureihin ja funktioihin , jotka määritellään rivien sub...end sub tai function...end function rajaamissa osissa. Kukin aliohjelma tai funktio voi kutsua toisia aliohjelmia tai funktioita. Jos aliohjelmat ja funktiot kirjoitetaan yleisluontoisiksi, niitä voi mahdollisesti käyttää toisissakin ohjelmakokonaisuuksissa. Katso myös Proseduurit ja funktiot.

Käyttäjän public-muuttujien, subs-rutiineiden ja funktioiden nimeämiseen liittyy joitakin rajoituksia. Näissä ei tule käyttää saman kirjaston moduulin nimeä.

## Mikä on aliohjelma (sub)?

Sub on lyhennys subroutine-sanasta, joka tarkoittaa aliohjelmaa tai alirutiinia. Sitä käytetään suorittamaan tiettyä osatehtävää ohjelmakokonaisuudessa. Aliohjelmien avulla tehtävää pilkotaan yksittäisiksi proseduureiksi. Ohjelman jakaminen yksinkertaisemmiksi proseduureiksi ja aliproseduureiksi edistää koodin luettavuutta ja vähentää piileviä virheitä. Aliohjelma (Sub) voi käyttää argumentteja tiedon ottamiseen rutiiniin, muttei palauta arvoja sitä kutsuneeseen funktioon tai aliohjelmaan:

DoSomethingWithTheValues(MyFirstValue,MySecondValue)

## Mikä on funktio (function)?

Funktio-rutiini on periaatteessa aliohjelma, joka palauttaa arvon. Funktiota voi käyttää sijoituslauseen oikealla puolella tai muuten paikoissa, missä tavallisesti käytetään arvoja, esimerkiksi:

MySecondValue = myFunction(MyFirstValue)

## Globaalit ja paikalliset muuttujat

Globaalit muuttujat ovat voimassa kaikissa aliohjelmissa ja funktioissa moduulin sisällä. Ne esitellään eli määritellään moduulin alussa ennen ensimmäisen aliohjelman tai funktion aloitusta.

Muuttujat, jotka esitellään aliohjelman tai funktion sisällä, ovat paikallisina voimassa vain tässä rutiinissa. Nämä paikalliset muuttujat peittävät näkyvistä omassa rutiinissaan samannimiset ylemmän, kutsuneen tason, paikalliset muuttujat tai globaalit muuttujat.

## Rutiinien hallinnointi

Kun ohjelma on eroteltu proseduureiksi ja funktioiksi (Sub-rutiineiksi ja funktiorutiineiksi), nämä rutiinit voidaan tallentaa tiedostoihin käytettäväksi uusissa projekteissa. LibreOffice Basic tukee moduuleja ja kirjastoja. Rutiinit ovat aina osana moduulia. Moduulit voidaan määritellä globaaleiksi tai asiakirjan osaksi. Useista moduuleista voi koota kirjaston.

Käyttäjä voi kopioida ja siirrellä aliohjelmia, funktioita, moduuleja ja kirjastoja tiedostosta toiseen käyttämällä Makro-valintaikkunaa.