Változók használata

From LibreOffice Help
Jump to: navigation, search

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:

SajatSzam=5 Helyes
SajatSzam5=15 Helyes
SajatSzam_5=20 Helyes
Sajat Szam=20 Nem érvényes, a szóközt tartalmazó változónak szögletes zárójelben kell állnia
[Sajat szam]=12 Helyes
DéjàVu=25 Nem érvényes, a különleges karakterek nem megengedettek
5SajatSzam=12 Nem érvényes, a változó nem kezdődhet számmal
Szam,Sajat=12 Nem érvényes, az írásjel nem megengedett.

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$ Az „a” változót string (karakterlánc) változóként deklarálja.
DIM a As String Az „a” változót string (karakterlánc) változóként deklarálja.
DIM a$, b As Integer Egy változót string (karakterlánc) típusúként, egy másikat pedig integer (egész szám) típusúként deklarál.
DIM c As Boolean A c-t boolean (logikai) változóként deklarálja, amely TRUE (igaz) vagy FALSE (hamis) értékű lehet.

Nagyon fontos változók deklarálásakor, hogy mindig használja a típusdeklarációs karaktert, még akkor is, ha azt használta a deklarációban a kulcsszó helyett. Az alábbi utasítások érvénytelenek:

DIM a$ Az „a” változót karakterláncként deklarálja.
a="Tesztszöveg" A típusdeklaráció hiányzik: "a$="
Warning.png 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 Valtozo%

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

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

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

Dim Valtozo 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 Valtozo@

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

Dim Valtozo 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 Valtozo 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 Valtozo 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 szoveg$(20) 0-tól 20-ig számozott huszonegy elem
DIM szoveg$(5,4) 30 elem (egy 6 * 5 elemű mátrixban)
DIM szoveg$(5 to 25) 21 elem, 5-25-ig számozva
DIM szoveg$(-15 to 5) -15-től 5-ig számozott huszonegy elem (0-val együtt)

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 AllandoNeve=Kifejezés