Edukiak
Indizea 🔎︎

# Aldagaiak erabiltzea

Hemen LibreOffice Basic-eko aldagaien oinarrizko erabilera deskribatzen da.

## Aldagai-identifikadoreen hitzarmenak izendatzea

Aldagai-izenak gehienez 255 karaktere eduki ditzake. Aldagai-izenaren lehen karaktereak letra bat izan behar du A-Z edo a-z. Zenbakiak ere erabil daitezke, ez, ordea, puntuazio-ikurrak eta karaktere bereziak, azpimarra-karakterea ("_") izan ezik. LibreOffice Basic-en, aldagai-identifikadoreek ez dituzte maiuskulak eta minuskulak bereizten. Aldagai-izenek zuriuneak eduki ditzakete, eta hala denean, kortxete artean jarri behar dira.

Aldagai-identifikadoreen adibideak:

        NireZenbakia=5      'Zuzena'
        NireZenbakia5=15    'Zuzena'
        NireZenbakia_5=20   'Zuzena'
        Nire Zenbakia=20    'Okerra, zuriuneak dituzten aldagaiak kortxetez inguratu behar dira'
        [Nire Zenbakia]=12  'Zuzena'
        DéjàVu=25       'Okerrak, karaktere bereziak ez dira onartzen'
        5NireZenbakia=12    'Okerra, aldagaiak ez du hasi behar zenbaki batekin'
        Zenbakia,Nirea=12  'Okerra, ez dira puntuazio-markak onartzen'

## Aldagaiak deklaratzea

LibreOffice Basic-en aldagaiak ez dituzu esplizituki deklaratu behar. Aldagai-deklarazioa Dim instrukzioaren bidez egin daiteke. Aldagai bat baino gehiago deklara ditzakezu aldi berean, izenak komaz bereiziz. Aldagai mota zehazteko, erabili motaren deklarazio-ikurra edo dagokion gako-hitza izenaren ondoren.

Aldagai-deklarazioen adibideak:

        Dim a$               '"a" aldagaia kate gisa deklaratzen du'
        Dim a As String      '"a" aldagaia kate gisa deklaratzen du'
        Dim a$, b As Integer 'Aldagai bat kate gisa eta beste zenbaki oso gisa deklaratzen ditu'
        Dim c As Boolean     'c aldagaia TRUE (egiazkoa) edo FALSE (gezurra) izan daitekeen balio boolear gisa deklaratzen du'

Aldagai mota deklaratutakoan, ezin duzu izen bera duen beste aldagai mota bat deklaratu!

### Aldagai-deklarazioak behartzea

Aldagaien deklarazioa behartzeko, erabili ondorengo komandoa:

    Option Explicit

Option Explicit instrukzioak moduluko lehen lerroa izan behar du, lehen SUBaren aurretik. Normalean, matrizeak bakarrik deklaratu behar dira esplizituki. Beste aldagai guztiak motaren deklarazio-karakterearen arabera deklaratzen dira, eta ez badago, Single mota lehenetsi gisa.

## Aldagai motak

LibreOffice Basic-ek lau aldagai mota onartzen ditu:

- Zenbakizko aldagaiek zenbakizko balioak eduki ditzakete. Aldagai batzuk zenbaki handiak edo txikiak gordetzeko erabiltzen dira, eta beste batzuk koma mugikorrak edo zenbaki zatikiarrak gordetzeko.

- Kate-aldagaiek karaktere-kateak dituzte.

- Aldagai boolearrek TRUE (egiazkoa) edo FALSE (faltsua) balioa eduki dezakete.

- Objektu-aldagaiek hainbat motatako objektuak gorde ditzakete, adibidez, dokumentu baten barneko taulak eta dokumentuak.

### Osoko aldagaiak

Osoko aldagaien barrutia -32768tik 32767ra bitartekoa da. Osoko aldagai bati koma mugikorraren balioa ematen badiozu, dezimalak hurrengo osoko zenbakira biribiltzen dira. Osoko aldagaiak berehala kalkulatzen dira prozeduretan, eta egokiak dira begiztetako Counter aldagaientzat. Osoko aldagaiek 2 byteko memoria bakarrik behar dute. Motaren deklarazio-karakterea "%" da.

    Dim Variable%
    Dim Variable As Integer

### Osoko aldagai luzeak

Osoko aldagai luzeen barrutia -2147483648tik 2147483647ra bitartekoa da. Osoko aldagai luze bati koma mugikorraren balioa ematen badiozu, dezimalak hurrengo osoko zenbakira borobiltzen dira. Osoko aldagai luzeak berehala kalkulatzen dira prozeduretan, eta egokiak dira begiztetako Counter aldagaien balio handientzat. Osoko aldagai luzeek 4 byteko memoria behar dute. Motaren deklarazio-karakterea "&" da.

    Dim Variable&
    Dim Variable As Long

### Aldagai dezimalak

Aldagai hamartarrek balio positiboak, negatiboak edo zero eduki ditzakete. Egokiena 29 digitu arte da.

Plus (+) edo minus (-) zeinuak erabil ditzakezu aurrezenbaki gisa zenbaki hamartarrekin (zuriuneekin nahiz gabe).

Osoko aldagai bati zenbaki hamartar baten balioa ematen badiozu, LibreOffice Basic-ek gorantz nahiz beherantz biribilduko du zenbakia.

### Aldagai bakunak

Aldagai bakunek balio positiboak eta negatiboak eduki ditzakete, 3,402823 x 10E38 to 1,401298 x 10E-45era. Aldagai bakunak koma mugikorreko aldagaiak dira, eta dezimalen doitasuna jaitsi egiten da zenbakiaren zati ez-dezimala handitu egiten delako. Aldagai bakunak egokiak dira batez besteko doitasunaren kalkulu matematikoak egiteko. Osoko aldagaiak kalkulatzeko baino denbora gehiago behar da, baina aldagai bikoitzak baino azkarrago kalkulatzen dira. Aldagai bakunek 4 byteko memoria behar dute. Motaren deklarazio-karakterea "!" da.

    Dim Variable!
    Dim Variable As Single

### Aldagai bikoitzak

Aldagai bikoitzek balio positiboak eta negatiboak eduki ditzakete, 1,79769313486232 x 10E308tik 4,94065645841247 x 10E-324ra. Aldagai bikoitzak koma mugikorreko aldagaiak dira, eta dezimalen doitasuna jaitsi egiten da zenbakiaren zati ez-dezimala handitu egiten delako. Aldagai bikoitzak egokiak dira kalkulu zehatzetarako. Kalkuluek aldagai bakunak kalkulatzeko baino denbora gehiago behar dute. Aldagai bikoitzek 8 byteko memoria behar dute. Motaren deklarazio-karakterea "#" da.

    Dim Variable#
    Dim Variable As Double

### Moneta-aldagaiak

Moneta-aldagaiak 64 biteko (8 byte) zenbaki gisa gordetzen dira eta dezimal finkoko zenbaki gisa bistaratzen dira 15 leku ez-dezimalekin eta 4 leku dezimalekin. Balioen barrutia -922337203685477,5808tik +922337203685477,5807ra bitartekoa da. Moneta-aldagaiak moneten balioak doitasun handiarekin kalkulatzeko erabiltzen dira. Motaren deklarazio-karakterea "@" da.

    Dim Variable@
    Dim Variable As Currency

### Kate-aldagaiak

Kate-aldagaiek gehienez 65,535 karaktereko karaktere-kateak eduki ditzakete. Karaktere bakoitza dagokion Unicode balio gisa gordetzen da. Kate-aldagaiak egokiak dira programetan hitzak prozesatzeko eta gehienez 64 Kbyteko luzera duten karaktere ez-inprimagarriak aldi baterako gordetzeko. Kate-aldagaiak gordetzeko behar den memoria aldagaiak dituen karaktere kopuruaren arabera dago. Motaren deklarazio-karakterea "$" da.

    Dim Variable$
    Dim Variable As String

### Aldagai boolearrak

Aldagai boolearrek ondorengo bi balioetako bat gordetzen dute: TRUE (egiazkoa) edo FALSE (faltsua). 0 zenbakia FALSE gisa ebaluatzen du, eta beste balio guztiak TRUE gisa.

    Dim Variable As Boolean

### Data-aldagaiak

Data-aldagaiek data- eta ordu-balioak bakarrik gorde ditzakete barneko formatuan. Datu-aldagaiei Dateserial, Datevalue, Timeserial edo Timevalue bidez esleitutako balioak barneko formatu bihurtzen dira automatikoki. Data-aldagaiak zenbaki arrunt bihurtzen dira Day, Month, Year edo Hour, Minute, Second funtzioaren bidez. Barneko formatuak data-/ordu-balioak konparatzeko aukera ematen du bi zenbakiren arteko diferentzia kalkulatuz. Aldagai horiek Date gako-hitzarekin bakarrik deklara daitezke.

    Dim Variable As Date

## Hasierako aldagai-balioak

Aldagai bat deklaratu bezain laster, "Null" balioa ezartzen zaio automatikoki. Kontuan hartu hitzarmen hauek:

Zenbakizko aldagaiei "0" balioa esleitzen zaie deklaratutakoan.

Data-aldagaiei 0 balioa ezartzen zaie barne funtzionamenduan; hori balioa Day, Month, Year edo Hour, Minute, Second funtzioaren bidez "0" bihurtzearen baliokidea da.

Kate-aldagaiei kate hutsa ("") esleitzen zaie deklaratutakoan.

## Matrizeak

LibreOffice Basic-ek aldagai mota jakin baten bidez zehaztutako neurri bakarreko edo anitzeko matrizeak ezagutzen ditu. Matrizeak egokiak dira zerrendak eta taulak programetan editatzeko. Matrize bateko elementu indibidualak zenbakizko indizearen bidez adieraz daitezke.

Matrizeak Dim instrukzioaren bidez deklaratu behar dira. Matrizeen indize-barrutia hainbat modutan zehaztu daiteke:

        Dim Text$(20)       '21 elementu, 0tik 20ra zenbakituta'
        Dim Text$(5,4)      '30 elementu (6 x 5 elementuz osatutako matrizea)'
        Dim Text$(5 To 25)  '21 elementu, 5etik 25era zenbakituta'
        Dim Text$(-15 To 5) '21 elementu (0 balioa barne), -15etik 5era zenbakituta'

Indize-barrutiak zenbaki positiboak zein negatiboak eduki ditzake.

## Konstanteak

Konstanteek balio finkoa izaten dute. Programan behin bakarrik definitzen dira, ezin dira berriro definitu:

    Const ConstName=Expression