Edukiak

# 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 anitz deklaratzen direnean kode-lerro bakarrean, aldagai bakoitzaren mota zehaztu behar da. Aldagai baten mota ez bada esplizituki definitzen, Basic-ek ulertuko du aldagaia Variant motakoa dela.

      'Bi aldagaiak, "a" eta "b", Integer motakoak dira
      Dim a As Integer, b As Integer
      ' "c" aldagaia Variant motakoa da eta "d" aldagaia Integer motakoa
      Dim c, d As Integer
      ' A aldagaia ere esplizituki deklaratu daiteke Variant gisa
      Dim e As Variant, f As Double

Variant mota datuen mota berezia da, edozein balio mota biltegiratu dezakeena. Horri buruzko gehiago jakiteko, begiratu Variant mota atala.

### 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 3.402823 x 10E38 eta 1.401298 x 10E-45 arteko balio positiboak edo negatiboak izan ditzakete. Aldagai bakunak koma mugikorreko aldagaiak dira. Dezimalen doitasuna jaitsi egiten da zenbakiaren zati ez dezimala handitzen den neurrian. Aldagai bakunak egokiak dira batezbesteko doitasuneko kalkulu matematikoetarako. Kalkuluek aldagai osoen kasuan baino denbora gehiago behar dute, baina doitasun bikoitzeko aldagaiekin baino azkarragoak dira. Aldagai bakunak gutxienez 4 byte behar ditu memorian. Mota adierazteko karakterea "!" da.

    Dim Variable!
    Dim Variable As Single

### Aldagai bikoitzak

Doitasun bikoitzeko aldagaiek 1.79769313486232 x 10E308 eta 4.94065645841247 x 10E-324 arteko balio positiboak edo negatiboak izan ditzakete. Doitasun bikoitzeko aldagaiak koma mugikorrekoak dira. Dezimalen doitasuna jaitsi egiten da zenbakiaren zati ez dezimala handitzen den neurrian. Doitasun bikoitzeko aldagaiak egokiak dira doitasun handiko kalkulu matematikoetarako. Kalkuluek aldagai bakunen kasuan baino denbora gehiago behar dute. Aldagai bakunak gutxienez 8 byte behar ditu memorian. Mota adierazteko 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

### Literalak zenbaki osoetarako

Zenbakiak forma zortzitarra edo hamaseitarra erabilita kodetu daitezke.

      xi = &o13 '    8 + 3
      ci = &h65 ' 6*16 + 5
      MAX_Integer =  &o77777 '  32767 = &h7FFF
      MIN_Integer = &o100000 ' -32768 = &h8000
      MAX_Long = &h7fffffff '  2147483647 = &o17777777777
      MIN_Long = &h80000000 ' -2147483648 = &o20000000000

### Kate-aldagaiak

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

BASIC lengoaiako String funtzioetan, katearen lehen karakterearen indizea 1 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

### Literalak datak adierazteko

Data-literalei esker, uneko hizkuntzarekiko independenteak diren data-aldagai zehatzak adierazi daitezke. Literalak # traolekin inguratuta daude. Balizko formatuak honakoak dira:

- #yyyy-mm-dd#

- #mm/dd/yyyy#

      start_date = #1899-12-30# ' = 0
      dob = #2010-09-28#

## Variant mota

Variant gisa deklaratutako aldagaiek edozein datu mota maneiatu dezakete. Horrek esan nahi uneko datu mota exekuzio-garaian definituko dela, aldagaiari esleitutako balio gisa.

Hiru modu daude Variant aldagai bat sortzeko:

      Dim varA            ' Mota ez da zehaztu, eta beraz, aldagaia Variant da
      Dim varB as Variant ' Aldagaia esplizituki deklaratu da Variant gisa
      varC = "abc"        ' Aurretik deklaratu ez diren aldagaiak Variant gisa tratatu dira

Beheko adibideak TypeName funtzioa erabiltzen du Variant aldagai baten mota esleipen-garaian nola aldatzen den erakusteko.

      Dim myVar As Variant
      MsgBox TypeName(myVar) ' Empty
      myVar = "Hello!"
      MsgBox TypeName(myVar) ' String
      myVar = 10
      MsgBox TypeName(myVar) ' Integer

Variant aldagaiak Empty datu mota bereziarekin hasieratzen dira. IsEmpty funtzioa erabili daiteke aldagai bat hutsik dagoen Variant aldagaia den ala ez probatzeko.

Any gako-hitza ere erabili daiteke aldagai bat Variant gisa deklaratzeko. Hala ere, Any zaharkituta dago eta atzerako bateragarritasunari eusteko soilik dago erabilgarri.

Funtzio-deietan pasatutako Variant edo Any motako argumentuetan ez da mota egiaztatzen.

      Dim myVar As Any ' "myVar" aldagaia Variant motakoa da

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

Erlazionatutako gaiak

Basic konstanteak

Dim instrukzioa