Forte

Blokkok, paraméterátadás, globális és lokális változók

Blokkok

A Forté mint objektum-orientált nyelv osztályok segítségével építi fel a programokat. Az osztályokon belül található metódusok blokkokból épülnek fel. Ezeket a blokkokat a harmadik pont alatt tárgyalt 'begin' és 'end' utasítások választják el egymástól. Illetve blokkokat képez a többi vezérlési utasitás is.

Paraméterátadás

Az osztályok a metódusaikon keresztül kommunikálnak egymással a paraméterek és a visszatérési értékek segítségével. Minden egyes metódusnak hat különböző paramétere lehet. Ezek a következők: input, output, input-output, copy-input, copy-output, copy-input-output. Copy-input paramétert akkor érdemes használni, ha a bemenő paraméter értéke a metóduson belül nem változik. Ugyanis ha egy service-object hívta meg egy másik service-object metódusát, akkor a metódus végrehajtása után nincs szükség a változó értékének visszaírására. Ezzel nagy hálózati kommunikációt takaríthatunk meg, és ezzel szintén növeljük a programunk futási sebességét. A copy-output, és a copy-input-output paraméterek is a hálózati kommunikáció hatékonyságának növelésére szolgálnak.
A metódusnak történő paraméterátadás két féle lehet, névszerinti illetve pozíciószerinti. A következő példa a metódushívás lehetséges fajtáit mutatja be:
Deklaráció: Metodus7( input Param1 : Integer, input Param2 : TextData);
Metódus hívása: Eredménye:
Metodus7(Param1 = 23, Param2 = 'Forte') Itt névszerinti paraméter átadás történik.
Metodus7(23, 'Forte') Itt pozíció szerinti paraméterátadás történik.
Metodus7(Param2 = 'Forte', Param1 = 23) Itt is névszerinti paraméter átadás történik,
de mivel a név egyértelműen azonosítja a hozzá tartozó értéket,
így a felcserélt paraméterátadás is használható.
Metodus7('Forte', 23) Itt pozíció szerint szeretnénk paramétert átadni,
de mivel az adott pozícióban lévő értékek típusa nem egyezik meg
a deklarációban lévő típusok sorrendjével,
azért ez a fajta metódus-hívás nem lehetséges.

A metódus visszatérési értéke is lehet sima return típusú, illetve copy return típusú. Copy return típust skalár (egyszerű típus) visszatérési érték esetén alkalmazzuk. Erre azért van szükség, mert ilyenkor a változónkról másolat készül. Abban az esetben, ha csak a sima return típust használjuk visszatérési értékként, akkor csak az adott objektumra mutató referencia adódik vissza.

Globális és lokális változók

Lokális konstansok és változók az adott osztályon belül hozhatóak létre. Ha egy helyi konstansot kívánunk létrehozni a kódban, akkor ennek syntaxisa: CONSTANT constans_név = érték. A konstans láthatósága ebben az esetben a deklarálás helyétől az adott utasítás blokk végéig terjed. Globális konstansokat úgy hozhatunk létre, hogy egy külön projektben definiáljuk öket, majd mindent olyan más projektben, ahol használni kívánjuk öket, be-'supplier'-ezzük. Mindezen túl, az objektum-orientált technika miatt, globális változók nem léteznek abban az értelemben mint az imperativ nyelveknél.