Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő
Fejezet 2

A StarOffice Basic nyelve

A StarOffice Basic a Basic-nyelvek családjába tartozik. A StarOffice Basic számos része azonos a Microsoft Visual Basic for Applications nyelvvel és a Microsoft Visual Basic nyelvvel. Ha valaki már ismeri ezeket a nyelveket, akkor gyorsan elsajátíthatja a StarOffice Basic programozását.

A más nyelveket - például Javát, C++-t vagy Delphi-t - használó programozók számára szintén egyszerű lesz a StarOffice Basic megismerése. A StarOffice Basic egy eljárásalapú nyelv, amely már nem használ kezdetleges vezérlési struktúrákat, mint például a GoTo és a GoSub.

Az objektumorientált programozás előnyeit is élvezhetjük, mert a StarOffice Basic programban egy felület lehetővé teszi a külső objektum-programkönyvtárak használatát. A teljes StarOffice API ezekre a felületekre épül, amelyekről a következő fejezetekben található részletes leírás.

Ez a fejezet áttekintést nyújt a StarOffice Basic nyelv főbb elemeiről és felépítéséről, valamint a keretrendszerről, amely az alkalmazások és programkönyvtárak StarOffice Basic programhoz való kapcsolatát kezeli.

Egy StarOffice Basic-program áttekintése

A StarOffice Basic egy értelmezőnyelv. A C++-szal vagy a Turbo Pascallal ellentétben a StarOffice fordító nem hoz létre futtatható vagy önkibontó fájlokat, amelyek automatikusan futnak. Ehelyett a StarOffice Basic-program egy gombnyomással hajtható végre. Az értelmező először végignézi a kódot a nyilvánvaló hibákra keresve, majd sorról sorra végrehajtja azt.

Programsorok

A Basic-értelmező sororientált végrehajtási módja jelenti a főbb különbségek egyikét más programozási nyelvekkel szemben. Míg a Java- C++- vagy Delphi-programokban a sortörések nem számítanak, addig Basicben minden sor egy önálló egységet alkot. A függvényhívásoknak, matematikai kifejezéseknek és egyéb nyelvi elemeknek, mint például a függvény- és ciklusfejléceknek egy soron belül be kell fejeződniük.

Ha nem áll rendelkezésre elegendő hely, vagy ez túl hosszú sorokat eredményezne, akkor több sor összeköthető aláhúzások _ hozzáadásával. A következő példa bemutatja, hogyan köthető össze egy matematikai kifejezés négy sora:

LongExpression = (Expression1 * Expression2) + _

   (Expression3 * Expression4) + _ 

   (Expression5 * Expression6) + _

   (Expression7 * Expression8)


Megjegyzés - Az összekapcsolt sorban az aláhúzásnak kell lennie az utolsó karakternek, és nem követheti azt szóköz vagy tabulátor, mert különben a kód hibát generál.


Az egyes sorok összekapcsolásán felül a StarOffice Basic-programban kettősponttal elválasztva használhatunk több kifejezést is egy sorban. Az

a = 1

a = a + 1

a = a + 1 

utasítások írhatók így is:

a = 1  :  a = a + 1  :  a = a + 1

Megjegyzések

A végrehajtandó programkódon felül egy StarOffice Basic-program tartalmazhat megjegyzéseket is, amelyek ismertetik az egyes programrészeket, és fontos információkat tartalmaznak, amelyek később fontosak lehetnek.

A StarOffice Basic két módot kínál a megjegyzések programkódba történő beszúrásához:

  • Az aposztrófot követő összes karakter megjegyzésnek számít:

Dim A    ' Ez egy megjegyzés az A változóról.

  • A Rem kulcsszót követő megjegyzés:

Rem Ezt a megjegyzést egy Rem utasítás előzi meg. 

A megjegyzés rendszerint a sor végéig az összes karaktert tartalmazza. A StarOffice Basic ezután a következő sort ismét normál utasításként kezeli. Ha egy megjegyzés több sort is elfoglal, akkor minden sort megjegyzésként kell megjelölni:

Dim B     ' Ez a megjegyzés a B változóról meglehetősen hosszú,

          ' és több soron keresztül tart. Ezért

          ' a megjegyzéskaraktert meg kell ismételni

          ' minden sorban.

Jelölők

Egy StarOffice Basic-program több száz, de akár több ezer jelölőt is tartalmazhat, amelyek változók, állandók, függvények stb. nevei. A jelölők nevének létrehozásakor a következő szabályokra kell figyelni:

  • A jelölők csak az angol abc betűit, számokat és aláhúzást (_) tartalmazhatnak.

  • A jelölő első karakterének betűnek vagy aláhúzásnak kell lennie.

  • A jelölők nem tartalmazhatnak speciális karaktereket, mint például ä â î vagy ß.

  • A jelölő maximum 255 karakter hosszú lehet.

  • A kis- és nagybetűk nincsenek megkülönböztetve. Például a OneTestVariable jelölő ugyanazt definiálja, mint a onetestVariable és a ONETESTVARIABLE.

    Viszont van egy kivétel e szabály alól: az UNO API-állandókban meg vannak különböztetve a kis- és nagybetűk. Az UNO-ról további információért lásd: Fejezet 4, A StarOffice API bemutatása.


Megjegyzés - A StarOffice Basic programban eltérőek a jelölők létrehozásának szabályai, mint a VBA-ban. Például a StarOffice Basic csak akkor engedélyezi a speciális karakterek használatát a jelölőkben, ha az Option Compatible utasítás megelőzi azt, mivel azok problémákat okozhatnak a nemzetközi projektekben.


Az alábbiakban látható pár helyes és helytelen jelölő:

Surname      ' Helyes

Surname5     ' Helyes (az 5-ös szám nem az első karakter)

First Name   ' Helytelen (szóköz nem használható)

DéjàVu       ' Helytelen (a é és a à betű nem használható)

5Surnames    ' Helytelen (az első karakter nem lehet szám)

First,Name   ' Helytelen (vessző és pont nem használható)

Változókkal végzett munka

Implicit változódeklaráció

A Basic-nyelveket úgy tervezték, hogy egyszerűen használhatók legyenek. Ennek eredményeképpen a StarOffice Basic lehetővé teszi a változók létrehozását azok használatával, explicit deklaráció nélkül is. Más szóval a változó onnantól fogva létezik, amikor először előfordul a kódban. A már meglévő változóktól függően a következő példa akár három új változót is deklarál:

a = b + c

A változók implicit deklarálása nem követendő programozási gyakorlat, mert új változók nem szándékos deklarálásához vezethet például egy gépelési hiba miatt. Hibaüzenet megjelenítése helyett az értelmező új változóként fogja fel a gépelési hibát, amelynek a 0 értéket adja. Az ilyen hibákat nagyon nehéz felderíteni a kódban.

Explicit változódeklaráció

Az implicit változódeklarációból fakadó hibák kiküszöbölésére a StarOffice Basic tartalmazza a kapcsolót:

Option Explicit

Ennek minden modulban az első sorban kell állnia, és biztosítja azt, hogy hibaüzenet jelenik meg, ha egy használt változó nincs deklarálva. Az Option Explicit kapcsolót minden Basic-modulban érdemes használni.

A legegyszerűbb esetben az explicit változódeklaráció a következőképpen néz ki:

    Dim SajatValtozo

Ez a példa deklarál egy SajatValtozo nevű változót, amelynek a típusa Variant. A Variant egy univerzális változó, amely az összes elképzelhető értéket tartalmazhatja, beleértve a karakterláncokat, egész számokat, lebegőpontos értékeket és logikai értékeket. Az alábbiakban példákat láthatunk a Variant változókra:

SajatValtozo = "Hello, világ!"    ' Karakterlánc hozzárendelése

SajatValtozo = 1                  ' Egész szám hozzárendelése

SajatValtozo = 1.0                ' Lebegőpontos szám hozzárendelése

SajatValtozo = True               ' Logikai érték hozzárendelése

Az előző példában deklarált változók más változótípusokhoz is használhatók ugyanabban a programban. Annak ellenére, hogy ez jelentős rugalmasságot kínál, a legjobb egy adott változót csak egy típussal használni. Amikor a StarOffice Basic egy helytelenül definiált változótípust talál egy adott környezetben, akkor hibaüzenetet generál.

Rögzített típusú változók definiálásához használjuk az alábbi stílust:

Dim SajatValtozo As Integer   ' Integer (egész szám) típusú változó deklarálása

A változó interger (egész szám) típusúként van deklarálva, és egész számokat tartalmazhat. A következő stílussal egy integer (egész szám) típusú változó deklarálható:

Dim SajatValtozo%          ' Integer (egész szám) típusú változó deklarálása

A Dim utasítással több változó is deklarálható egyszerre:

Dim SajatValtozo1, SajatValtozo2

Ha a változókat egy adott típussal akarjuk deklarálni, akkor mindegyikhez típust kell rendelni:

Dim SajatValtozo1 As Integer, SajatValtozo2 As Integer

Előző Előző     Tartalom     Tárgymutató     Következő Következő