Tartalom
Index 🔎︎

# Változók használata

Az alábbi rész a változók alapvető használati módját írja le a LibreOffice Basicben.

## Elnevezési szokások a változók azonosítására

Egy változónév maximum 255 karakterből állhat. A változó első karakternének A-Z vagy a-z betűnek kell lennie. A változónevekben számok is használhatók, de az írásjelek és speciális karakterek nem engedélyezettek az aláhúzásjel („_”) kivételével. A LibreOffice Basic változóazonosítók nem különböztetik meg a kis- és nagybetűket. A változónevek tartalmazhatnak szóközöket, de ilyenkor a nevet szögletes zárójelek közé kell tenni.

Példák a változóazonosítókra:

        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'

## Változók deklarálása

A LibreOffice Basicben nem kell explicit módon deklarálni a változókat. Egy változódeklaráció megadható a Dim utasítással. Egyszerre több változót is deklarálhat a neveket vesszővel elválasztva. A változótípus definiálásához használhatja a név után a típusdeklarációs jelet vagy a megfelelő kulcsszót.

Példák a változók deklarálására (meghatározására):

        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'

Miután egy változót egy bizonyos típusnak deklarált, ugyanilyen név alatt nem adhat meg újra egy másik változót más típussal!

### Változódeklarációk kényszerítése

A változódeklaráció erőltetésére használja az alábbi parancsot:

    Option Explicit

Az Option Explicit utasításnak a modul első sorában kell állni, az első SUB utasítás előtt. Általában csak a tömböket kell explicit módon deklarálni. Az összes többi változó a típusdeklarációs karakternek megfelelően lesz deklarálva, vagy - ha az nincs megadva - az alapértelmezett Single (egyszeres pontosságú) típusként.

## Változók típusai

A LibreOffice Basic négy változóosztályt támogat:

- A Numerikus változók számértékeket tartalmazhatnak. Néhány változó nagy vagy kis számokat tartalmaz, mások pedig lebegőpontos vagy törtszámokhoz használhatók.

- A String (karakterlánc) változók karakterláncokat tartalmaznak.

- A Boolean (logikai) változók TRUE (igaz) vagy FALSE (hamis) értéket tartalmaznak.

- Az Object (objektum) változók különböző típusú objektumokat tárolhatnak, mint például a dokumentumokon belüli táblázatok vagy dokumentumok.

### Integer (egész szám) változók

Az integer (egész szám) változók értéke -32768-tól 32767-ig terjedhet. Ha egy lebegőpontos értéket rendel egy integer (egész szám) változóhoz, akkor a tizedesjegyek kerekítve lesznek a következő egész számra. Az integer (egész szám) változókat a program gyorsan ki tudja számítani az eljárásokban és megfelelnek a ciklusokban lévő számlálóváltozókhoz. Egy integer (egész szám) változó csak két bájt memóriát foglal el. A „%” a típusdeklarációs karakter.

    Dim Variable%
    Dim Variable As Integer

### Long integer (hosszú egész szám) változók

A long integer (hosszú egész szám) változók értéke -2147483648-tól 2147483647-ig terjedhet. Ha egy lebegőpontos értéket rendel egy long integer (hosszú egész szám) változóhoz, akkor a tizedesjegyek kerekítve lesznek a következő egész számra. A long integer (hosszú egész szám) változók gyorsan számolhatók az eljárásokban, és megfelelnek a ciklusokban lévő nagy számlálóváltozókhoz. A hosszú egész szám változó négy bájt memóriát foglal el. Az „&” a típusdeklarációs karakter.

    Dim Variable&
    Dim Variable As Long

### Decimális változók

A decimális változók pozitív, negatív vagy zérus értéket vehetnek fel. A pontosság legfeljebb 29 számjegy.

A decimális számok elé írhat plusz (+) vagy mínusz (-) jeleket (szóközzel vagy anélkül).

Ha egy decimális szám egy egész változóhoz van hozzárendelve, a LibreOffice Basic fel- vagy lekerekíti a számot.

### Single (egyszeres pontosságú) változók

A single (egyszeres pontosságú) változók pozitív és negatív értékeket vehetnek fel 3.402823 x 10E38 és 1.401298 x 10E-45 között. A single (egyszeres pontosságú) változók lebegőpontos változók, ahol a törtrész pontossága csökken az egészrész pontosságának növekedésével. A single (egyszeres pontosságú) változók az átlagos pontosságú matematikai számításokhoz megfelelőek. A számítás több időt igényel, mint integer (egész szám) változókkal, de gyorsabb, mint double (dupla pontosságú) változókkal. A single (egyszeres pontosságú) változó 4 bájt memóriát foglal el. A típusdeklarációs karakter a „!”.

    Dim Variable!
    Dim Variable As Single

### Double (dupla pontosságú) változók

A double (dupla pontosságú) változók pozitív és negatív értékeket vehetnek fel 1.79769313486232 x 10E308 és 4.94065645841247 x 10E-324 között. A double (dupla pontosságú) változók lebegőpontos változók, ahol a törtrész pontossága csökken az egészrész pontosságának növekedésével. A double (dupla pontosságú) változók pontos számításokhoz megfelelőek. Ezek a számítások több időt igényelnek, mint a single (egyszeres pontosságú) változókkal végzett számítások. A double (dupla pontosságú) változók 8 bájt memóriát foglalnak el. A típusdeklarációs karakter „#”.

    Dim Variable#
    Dim Variable As Double

### Currency (pénznem) változók

A currency (pénznem) változók belsőleg 64 bites számokként (8 bájt) tárolódnak, és rögzített decimális számként jelennek meg 15 egész és 4 tizedes értékkel. Az értékek a -922337203685477.5808 - +922337203685477.5807 tartományba esnek. A currency (pénznem) változók a pénznemértékek nagy pontosságú kiszámításához használhatók. A típusdeklarációs karakter a „@”.

    Dim Variable@
    Dim Variable As Currency

### String (karakterlánc) változók

A string (karakterlánc) változók maximum 65535 karakteres karakterláncokat tárolhatnak. Minden karakter a megfelelő Unicode-érték szerint kerül tárolásra. A string (karakterlánc) változók a programokon belüli szövegszerkesztésre és a nem nyomtatható karakterek ideiglenes tárolására alkalmasak maximum 64 kilobájt méretig. A string (karakterlánc) változók tárolásához szükséges memória a változó karaktereinek számától függ. A típusdeklarációs karakter a „$”.

    Dim Variable$
    Dim Variable As String

### Boolean (logikai) változók

A Boolean (logikai) változók csak a két érték egyikét tartalmazzák: TRUE (igaz) vagy FALSE (hamis). A 0-s szám a FALSE (hamis) értéknek, minden más szám a TRUE (igaz) értéknek felel meg.

    Dim Variable As Boolean

### Date (dátum) változók

A date (dátum) változók csak belső formátumban tárolt dátum- és időértékeket tartalmazhatnak. A date (dátum) változóhoz Dateserial, Datevalue, Timeserial vagy Timevalue függvény segítségével rendelt értékeket a rendszer automatikusan konvertálja belső formátumra. A date (dátum) változókat a Day, Month, Year vagy az Hour, Minute, Second függvénnyel lehet konvertálni normál számmá. A belső formátum lehetővé teszi dátum/idő-értékek összehasonlítását a két szám közötti különbség kiszámításával. Ezek a változók csak a Date kulcsszóval deklarálhatók.

    Dim Variable As Date

## Változók kezdeti értéke

Ha a változó deklarálásra került, akkor a rendszer automatikusan „Null” értékre állítja. Vegye figyelembe az alábbi jelölési szokásokat:

A numerikus változókhoz a rendszer automatikusan hozzárendeli a „0” értéket, deklarálásuk után.

A date (dátum) változókhoz belsőleg hozzá van rendelve a 0 érték, ami ugyanaz, mintha konvertálná a „0” értéket a Day, Month, Year vagy az Hour, Minute, Second függvénnyel.

String (karakterlánc) változókhoz a rendszer deklaráláskor üres karakterláncot rendel ("").

## Tömbök

A LibreOffice Basic egy vagy többdimenziós tömböket ismer, amelyet a megadott változótípus definiál. A tömbök listák és táblázatok szerkesztésére alkalmasak a programokban. A tömb egyedi elemei numerikus indexen keresztül címezhetők.

A tömböket a Dim utasítással kell deklarálni. A tömb indextartománya többféleképp megadható:

        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'

Az indextartomány pozitív és negatív számokat is tartalmazhat.

## Állandók

Az állandók rögzített értékkel rendelkeznek. A programban csak egyszer vannak megadva, és később nem adhatók meg újra:

    Const ConstName=Expression