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'
warning

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:

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.

tip

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

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

Emaguzu laguntza!